Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jcla1/gisp
Simple LISP in Go
https://github.com/jcla1/gisp
Last synced: 10 days ago
JSON representation
Simple LISP in Go
- Host: GitHub
- URL: https://github.com/jcla1/gisp
- Owner: jcla1
- License: mit
- Created: 2014-01-11T14:05:43.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2017-08-25T13:48:45.000Z (about 7 years ago)
- Last Synced: 2024-07-31T20:51:20.861Z (3 months ago)
- Language: Go
- Size: 1.41 MB
- Stars: 510
- Watchers: 21
- Forks: 37
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-go - gisp - Simple LISP in Go. (Embeddable Scripting Languages / Search and Analytic Databases)
- awesome-go - gisp - Simple LISP in Go - ★ 406 (Embeddable Scripting Languages)
- awesome-go-extra - gisp - 01-11T14:05:43Z|2017-08-25T13:48:45Z| (Embeddable Scripting Languages / Advanced Console UIs)
README
gisp
====Simple (non standard) compiler of Lisp/Scheme to Go.
## Includes
- Lexer based on Rob Pike's [Lexical Scanning in Go](http://cuddle.googlecode.com/hg/talk/lex.html#title-slide)
- Simple recursive parser, supporting ints, floats, strings, bools
- TCO via loop/recur
- AST generating REPL included## Build and Run
```
> 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
````# Functions
```
+, -, *, mod, let, if, ns, def, fn, all pre-existing Go functions
```
See [examples](examples) for some Project Euler solutions# License
MIT