All Projects → luthersystems → elps

luthersystems / elps

Licence: BSD-3-Clause license
An embedded lisp interpreter

Programming Languages

go
31211 projects - #10 most used programming language
common lisp
692 projects

Projects that are alternatives of or similar to elps

Tengo
A fast script language for Go
Stars: ✭ 2,528 (+11938.1%)
Mutual labels:  embedded-language
wrenbind17
A header only library for binding C++17 classes and functions to Wren, an embeddable programming language
Stars: ✭ 44 (+109.52%)
Mutual labels:  embedded-language
ugo
Script Language for Go
Stars: ✭ 75 (+257.14%)
Mutual labels:  embedded-language

ELPS (Ellipse)

An embedded lisp system for Go programs.

CircleCI

https://pkg.go.dev/github.com/luthersystems/elps

Build

go get -d ./...
make

Try it out

An example WASM build is available on github pages (source).

Usage

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")`)

Reference

See the docs/ directory for more documentation:

See the _examples/ directory for examples:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].