Simple (non standard) compiler of Lisp/Scheme to Go.
Extant. Project has been largely abandoned since 2014, but I decided to bring together the available source code and have a Go (pun intended) at it as a weekend project.
- Lexer based on Rob Pike's Lexical Scanning in Go
- Simple recursive parser, supporting ints, floats, strings, bools
- TCO via loop/recur
- AST generating REPL included
> go build && ./gisp
>>
From here you can type in forms and you'll get the Go AST back. To compile a file:
> ./gisp filename.gsp
+, -, *, mod, let, if, ns, def, fn, all pre-existing Go functions
See examples for some Project Euler solutions
- @jcla1 for the initial implementation
- @masukomi for adding a number of tests and checks
- @m90 for README fixes
MIT