{"id":20576516,"url":"https://github.com/divs1210/simple-stackless-lisp","last_synced_at":"2025-04-14T18:22:27.756Z","repository":{"id":50400089,"uuid":"518815848","full_name":"divs1210/simple-stackless-lisp","owner":"divs1210","description":"A small but powerful Clojure-like Lisp with first class continuations and macros","archived":false,"fork":false,"pushed_at":"2023-01-12T22:47:58.000Z","size":99,"stargazers_count":10,"open_issues_count":18,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-28T06:51:10.631Z","etag":null,"topics":["clojure","interpreter","lisp","repl"],"latest_commit_sha":null,"homepage":"","language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"epl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/divs1210.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":"2022-07-28T11:19:04.000Z","updated_at":"2025-02-05T18:35:16.000Z","dependencies_parsed_at":"2023-02-09T13:45:57.985Z","dependency_job_id":null,"html_url":"https://github.com/divs1210/simple-stackless-lisp","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/divs1210%2Fsimple-stackless-lisp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/divs1210%2Fsimple-stackless-lisp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/divs1210%2Fsimple-stackless-lisp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/divs1210%2Fsimple-stackless-lisp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/divs1210","download_url":"https://codeload.github.com/divs1210/simple-stackless-lisp/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248933592,"owners_count":21185508,"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":["clojure","interpreter","lisp","repl"],"created_at":"2024-11-16T05:46:03.161Z","updated_at":"2025-04-14T18:22:27.703Z","avatar_url":"https://github.com/divs1210.png","language":"Clojure","readme":"# simple-stackless-lisp\n\nA small but powerful Clojure-like Lisp.\n\nHas first class continuations and macros.\n\nData oriented and [super polymorphic](examples/polymorphism.sclj).\n\nThis is a **Work In Progress**, and there is [more to come](docs/vision.md)!\n\n**NOTE:** Docs might not always be up to date, since the language is in heavy development.\n\n## Example\n\n```clojure\n;; examples/fact.sclj\n(def fact\n  (fn [n]\n    (if (\u003c n 2)\n      1\n      (* n (fact (- n 1))))))\n\n(println \"(fact 50000) =\u003e\")\n(println (fact 50000))\n```\n\nMore [code examples](examples/) are available.\n\nThere's also a [User Manual](docs/manual.md).\n\n## Usage\n\n### Download\n\nYou can find pre-compiled executables [here](https://github.com/divs1210/simple-stackless-lisp/releases/latest).\n\n### Start a REPL\n\n```\n$ ./sclj\n```\n\nUse `rlwrap` for a more pleasant REPL experience:\n\n```\n$ rlwrap ./sclj\n```\n\n### Run a file\n\n```\n$ ./sclj code.sclj\n```\n\n## Build from source\n\n[The manual](docs/manual.md) contains more info on building and running the interpreter.\n\n## Thanks\n\n[Lisperator's technique](https://lisperator.net/pltut/cps-evaluator/) for building a stackless interpreter led me down this rabbit hole.\n\n## License\n\nCopyright © 2022 Divyansh Prakash\n\nThis program and the accompanying materials are made available under the\nterms of the Eclipse Public License 2.0 which is available at\nhttp://www.eclipse.org/legal/epl-2.0.\n\nThis Source Code may also be made available under the following Secondary\nLicenses when the conditions for such availability set forth in the Eclipse\nPublic License, v. 2.0 are satisfied: GNU General Public License as published by\nthe Free Software Foundation, either version 2 of the License, or (at your\noption) any later version, with the GNU Classpath Exception which is available\nat https://www.gnu.org/software/classpath/license.html.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdivs1210%2Fsimple-stackless-lisp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdivs1210%2Fsimple-stackless-lisp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdivs1210%2Fsimple-stackless-lisp/lists"}