{"id":14008024,"url":"https://github.com/mschuldt/raillisp","last_synced_at":"2026-03-10T13:06:06.649Z","repository":{"id":48694360,"uuid":"146062711","full_name":"mschuldt/raillisp","owner":"mschuldt","description":"A fast and portable lisp implemented in forth","archived":false,"fork":false,"pushed_at":"2021-07-13T22:16:31.000Z","size":328,"stargazers_count":28,"open_issues_count":4,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-02T12:13:05.512Z","etag":null,"topics":["embedded","forth","langauge","lisp","programming-language"],"latest_commit_sha":null,"homepage":null,"language":"Forth","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mschuldt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-08-25T03:50:03.000Z","updated_at":"2024-11-02T11:57:17.000Z","dependencies_parsed_at":"2022-08-26T08:30:58.877Z","dependency_job_id":null,"html_url":"https://github.com/mschuldt/raillisp","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/mschuldt%2Fraillisp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mschuldt%2Fraillisp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mschuldt%2Fraillisp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mschuldt%2Fraillisp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mschuldt","download_url":"https://codeload.github.com/mschuldt/raillisp/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242532381,"owners_count":20144727,"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":["embedded","forth","langauge","lisp","programming-language"],"created_at":"2024-08-10T11:01:10.072Z","updated_at":"2026-03-10T13:06:01.617Z","avatar_url":"https://github.com/mschuldt.png","language":"Forth","funding_links":[],"categories":["Forth"],"sub_categories":[],"readme":"\n# // raillisp \\\\\\\\\n\nRaillisp is a simple lisp implemented in Forth.\nIt aims to be small, fast, and portable.\n\nRaillisp is in active development. Currently it only runs on Gforth,\nbut will soon run on everything from microcontrollers to web browsers.\n\nIt is designed to give you high level lisp features\nwhile retaining low level access and a small footprint\nmaking it suitable for constrained systems.\nRaillisp lets you ride the metal in style.\n\nRaillisp works by compiling lisp functions into forth words.\nFor example, creating a lisp function and disassembling its forth word:\n```lisp\n  (defun fib (n)\n    (if (\u003c n 3)\n        1\n      (+ (fib (- n 1)) (fib (- n 2)))))\n\n  (dis fib)\n```\nprints:\n```\n : fib\n   dup 7 \u003c\n   IF     3\n   ELSE   dup 3 - fib over 5 - fib +\n   THEN\n   nip ;\n```\n(the number constants are different because of the lisp type tagging,\n`dis` just calls the forth word `see`)\n\nMore documentation is forthcoming. For now more example code\ncan be found in `raillisp.lsp` and `tests.lsp`.\n\nThe Raillisp dialect is influenced by Common Lisp and Scheme,\nbut there are substantial differences.\nLots of common features are not currently supported, some never will be.\nFeatures that compromise the performance of the system will\nnot be implemented.\n\n# Usage\n\nTo run a file:\n```gforth raillisp.fth FILE.lsp```\n\nFor the REPL:\n```gforth raillisp.fth```\n\nRun tests:\n```make test```\n\nBe careful...There is currently almost no error checking of any kind.\nWhen you do something wrong, the helpful error message is probably a backtrace.\n\nThe `make` option to build a gforth image does not currently work\nbecuase heap pointers are compiled into the dictionary.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmschuldt%2Fraillisp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmschuldt%2Fraillisp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmschuldt%2Fraillisp/lists"}