elps

command module
v1.16.8 Latest Latest
Warning

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

Go to latest
Published: Mar 29, 2024 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/server
A basic HTTP server.
A basic HTTP server.
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