{"id":17214554,"url":"https://github.com/samdphillips/racket-rkshell","last_synced_at":"2026-03-19T00:03:45.736Z","repository":{"id":138591269,"uuid":"237530583","full_name":"samdphillips/racket-rkshell","owner":"samdphillips","description":"Some racket shell hackery","archived":false,"fork":false,"pushed_at":"2021-02-25T18:52:25.000Z","size":8,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-30T11:42:20.166Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Racket","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/samdphillips.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-01-31T22:58:39.000Z","updated_at":"2021-02-25T18:52:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"f22d028f-7a16-4442-9ca2-4a1f3ff444b0","html_url":"https://github.com/samdphillips/racket-rkshell","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samdphillips%2Fracket-rkshell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samdphillips%2Fracket-rkshell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samdphillips%2Fracket-rkshell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samdphillips%2Fracket-rkshell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/samdphillips","download_url":"https://codeload.github.com/samdphillips/racket-rkshell/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245467130,"owners_count":20620209,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-15T03:03:41.584Z","updated_at":"2026-01-05T08:32:14.100Z","avatar_url":"https://github.com/samdphillips.png","language":"Racket","funding_links":[],"categories":[],"sub_categories":[],"readme":"# rkshell\n\n`rkshell` is a lang that slightly subverts the normal Racket reader.  When the reader reads a term,\n```\n#{/usr/bin/ssh -l user host.example.com $remote-command}\n```\nit turns it into\n```\n(#%rkexec /usr/bin/ssh -l user host.example.com $remote-command)\n```\nThe default binding of `#%rkexec` is a macro that in this case expands to,\n```\n(apply (rkexec-runner) \"/usr/bin/ssh\" \"-l\" \"user\" \"host.example.com\" remote-command)\n```\n`rkexec-runner` is a parameter that by default is bound to [`system*`][system-doc-ref].  Because it \nis a parameter you can make it do anything you want really.\n\n[system-doc-ref]: (https://docs.racket-lang.org/reference/subprocess.html?#%28def._%28%28lib._racket%2Fsystem..rkt%29._system%2A%29%29)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamdphillips%2Fracket-rkshell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsamdphillips%2Fracket-rkshell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamdphillips%2Fracket-rkshell/lists"}