Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ralexstokes/sigil
a lisp oxide
https://github.com/ralexstokes/sigil
Last synced: 20 days ago
JSON representation
a lisp oxide
- Host: GitHub
- URL: https://github.com/ralexstokes/sigil
- Owner: ralexstokes
- License: apache-2.0
- Created: 2021-03-27T01:58:34.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-03-11T20:30:44.000Z (over 2 years ago)
- Last Synced: 2024-10-07T16:41:59.334Z (about 1 month ago)
- Language: Rust
- Homepage:
- Size: 1.17 MB
- Stars: 4
- Watchers: 2
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE-APACHE
Awesome Lists containing this project
README
# sigil
a lisp oxide
# about
`sigil` is a lisp intended to bridge the gap between "low-level" code written in Rust and places where "high-level" code is desired.
if you have a question about how `sigil` works as a language, you should assume it has [Clojure](https://clojure.org/) semantics.
this crate provides an interpreter meant to be embedded into other Rust code. an example of such an embedding can be found with the repl under `/examples`.
# contributing, etc.
contributions are very welcome! if you are keen to join, i'd suggest messaging me on twitter or somewhere to see the current status.
# usage
To open a repl:
`cargo run --features repl`
To run a file:
`cargo run --features repl -- from-file $FILE_PATH`
# status
things are still very much a work-in-progress still. the "core" interpreter is written but there are several features worth adding:
- [ ] tools for interop with Rust
- [ ] metadata
- [ ] namespaces
- [ ] language-level features
- [ ] other primitives
- [ ] "collections are functions of their keys"
- [ ] argument destructuring
- [ ] rich `fn` macro
- [ ] some reader macros e.g. `#( %1 )`
- [ ] precise errors, in the style of Rust
- [ ] GC and related memory storyi have vague plans to accelerate computation with a web-assembly VM at some point.