Skip to content
vic

jcla1/gisp

Simple LISP in Go

jcla1/gisp.json
{
"createdAt": "2014-01-11T14:05:43Z",
"defaultBranch": "master",
"description": "Simple LISP in Go",
"fullName": "jcla1/gisp",
"homepage": null,
"language": "Go",
"name": "gisp",
"pushedAt": "2017-08-25T13:48:45Z",
"stargazersCount": 527,
"topics": [],
"updatedAt": "2025-09-09T03:39:41Z",
"url": "https://github.com/jcla1/gisp"
}

Simple (non standard) compiler of Lisp/Scheme to Go.

  • 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]!(examples) for some Project Euler solutions

MIT