Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/leostera/libra
:balance_scale: A Lisp Parser in Idris
https://github.com/leostera/libra
dependent-types idris lisp parser
Last synced: 17 days ago
JSON representation
:balance_scale: A Lisp Parser in Idris
- Host: GitHub
- URL: https://github.com/leostera/libra
- Owner: leostera
- License: bsd-3-clause
- Created: 2017-03-29T00:53:33.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2017-04-03T21:10:08.000Z (almost 8 years ago)
- Last Synced: 2024-10-29T21:07:09.277Z (2 months ago)
- Topics: dependent-types, idris, lisp, parser
- Language: Idris
- Homepage:
- Size: 438 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ⚖️ `libra`
> A Lisp Parser in Idris
Libra is a training exercise. It's not intended to be a production Lisp runtime.
### Goals
Through it, my aim is to learn more about dependent-types, compilers, and
languages in general.I'd like it to be able to:
- [X] Parse Lisp 1.5 syntax
- [ ] Perform useful syntax checking
- [ ] Evaluate a Lisp program
- [ ] Expose itself as a CLI toolIf I achieve those goals, I'd like it to (in no particular order):
- [ ] Perform type-checking a-la simply-typed Lambda Calculus
- [ ] Perform type-checking with dependent-types
- [ ] Compile the program to Javascript
- [ ] Compile the program with optimizationsAnd I'm aware that it will diverge from the reference material at some point on
these last items, and I'm okay with that.### Reference
As a language reference I'm using a copy of the [Lisp 1.5 Programmer's
Manual](http://www.softwarepreservation.org/projects/LISP/book/LISP%201.5%20Programmers%20Manual.pdf).