elps

command module
v1.16.14 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 9, 2026 License: BSD-3-Clause Imports: 1 Imported by: 0

README

ELPS (Ellipse)

An embedded lisp system for Go programs.

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:

Documentation

Overview

Command elps is a frontend for an embedded list processing system.

Directories

Path Synopsis
_examples
wasm/app command
wasm/server command
A basic HTTP server.
A basic HTTP server.
Package diagnostic provides Rust-style annotated error rendering for ELPS CLI output.
Package diagnostic provides Rust-style annotated error rendering for ELPS CLI output.
Package docs embeds the ELPS language reference for use by the CLI.
Package docs embeds the ELPS language reference for use by the CLI.
Package formatter provides source code formatting for ELPS lisp files.
Package formatter provides source code formatting for ELPS lisp files.
Package lint provides static analysis for ELPS lisp source files.
Package lint provides static analysis for ELPS lisp source files.
lisplib
Package lisplib is used to conveniently load the standard library for the elps environment
Package lisplib is used to conveniently load the standard library for the elps environment
regexparser
Package parser provides a lisp parser.
Package parser provides a lisp parser.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL