https://github.com/jcla1/gisp
Simple LISP in Go
https://github.com/jcla1/gisp
Last synced: 8 months 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 12 years ago)
- Default Branch: master
- Last Pushed: 2017-08-25T13:48:45.000Z (over 8 years ago)
- Last Synced: 2024-07-31T20:51:20.861Z (over 1 year 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 / Advanced Console UIs)
- awesome-go-plus - gisp - Simple LISP in Go.  (Embeddable Scripting Languages / Search and Analytic Databases)
- awesome-go - gisp - Simple LISP in Go. (Embeddable Scripting Languages / Search and Analytic Databases)
- awesome-go - gisp - | - | - | (Embeddable Scripting Languages / Advanced Console UIs)
- awesome-go-cn - gisp
- awesome-go - gisp - Simple LISP in Go. (Embeddable Scripting Languages / Search and Analytic Databases)
- awesome-go - gisp - Simple LISP in Go. (Embeddable Scripting Languages / Search and Analytic Databases)
- fucking-awesome-go - :octocat: gisp - Simple LISP in Go :star: 325 :fork_and_knife: 22 (Embeddable Scripting Languages / Advanced Console UIs)
- awesome-go - gisp - Go中的简单LISP。 (<span id="嵌入式脚本语言-embeddable-scripting-languages">嵌入式脚本语言 Embeddable Scripting Languages</span> / <span id="高级控制台用户界面-advanced-console-uis">高级控制台用户界面 Advanced Console UIs</span>)
- awesome-go - gisp - Simple LISP in Go - ★ 406 (Embeddable Scripting Languages)
- awesome-go - gisp - Simple LISP in Go. (Embeddable Scripting Languages / Search and Analytic Databases)
- awesome-go-with-stars - gisp - Simple LISP in Go. (Embeddable Scripting Languages / Search and Analytic Databases)
- awesome-go - gisp - Simple LISP in Go. (Embeddable Scripting Languages / Search and Analytic Databases)
- fucking-awesome-go - gisp - Simple LISP in Go. (Embeddable Scripting Languages / Search and Analytic Databases)
- awesome-go - gisp - Simple LISP in Go. (Embeddable Scripting Languages / Advanced Console UIs)
- awesome-Char - gisp - Simple LISP in Go. (Embeddable Scripting Languages / Advanced Console UIs)
- awesome-go-cn - gisp
- awesome-go - gisp - Simple LISP in Go. - :arrow_down:0 - :star:333 (Embeddable Scripting Languages / Advanced Console UIs)
- awesome-go-cn - gisp
- awesome-go-extra - gisp - 01-11T14:05:43Z|2017-08-25T13:48:45Z| (Embeddable Scripting Languages / Advanced Console UIs)
- awesome-go-cn - gisp
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