An embedded lisp system for Go programs.
https://pkg.go.dev/github.com/luthersystems/elps
go get -d ./...
make
An example WASM build is available on github pages (source).
Launch an interactive REPL
$ elps repl
> (+ 3 1)
4
>^D
done
$
Run a program in a file
$ elps run prog.lisp
Embedded execution in a Go program
env := lisp.NewEnv(nil)
env.Reader = parser.NewReader()
lerr := lisp.InitializeUserEnv(env)
if !lerr.IsNil() {
log.Panicf("initialization error: %v", lerr)
}
lerr = lisplib.LoadLibrary(env)
if !lerr.IsNil() {
log.Panicf("stdlib error: %v", lerr)
}
env.LoadString(`(debug-print "hello-world")`)
See the docs/
directory for more documentation:
See the _examples/
directory for examples: