a lisp interpreter written in Go
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Jordan Orelli e11bcf3d91 added very sloppy tcp functionality
can now send multi-line sexps over TCP.  Max line limit is 40 lines in a
single sexp.  A max needed to be selected to prevent clients from
filling up enormous buffers.
12 years ago
cm hmm, tcp should work more like local... 12 years ago
README.md err: `go install` --> `go get` 12 years ago
acc.go refactored builtin type 12 years ago
args.go hmm, tcp should work more like local... 12 years ago
builtin.go environment keys now include parent environments 12 years ago
cmp.go refactored builtin type 12 years ago
env.go added a connection manager type 12 years ago
input.scm added a readme 12 years ago
lex.go renamed typ3 -> tokenType 12 years ago
skeam.go added very sloppy tcp functionality 12 years ago
special.go environment keys now include parent environments 12 years ago
tcp_connections.go added very sloppy tcp functionality 12 years ago

README.md

skeam

Skeam is a primitive [Lisp](http://en.wikipedia.org/wiki/Lisp_(programming_language)) interpreter. I wrote this out of a curiosity to learn about the basics of writing interpreters; it's not something that I'd recommend using, but it may be helpful to look at if you're interested in writing your own. The name comes from [Scheme](http://en.wikipedia.org/wiki/Scheme_(programming_language)) and Skream.

Skeam does not implement tail-call elimination or continuations, so it's not technically a Scheme implementation.

The input.scm file gives an example of what is currently understood by the interpreter.

installing skeam

First make sure you have Go1, the current version of the Go programming language. If you don't have it, you can download it here.

Skeam is go-gettable, so installation only requires the following command: go get github.com/jordanorelli/skeam. Make sure your $GOBIN is included in your environment's $PATH. E.g., on Mac OS X, this generally means adding export PATH=$PATH:/usr/local/go/bin to your .bashrc.

Once installed, you can access the Skeam REPL by simply running the command skeam. To execute a Skeam file, pass the filename as a parameter to the skeam command. E.g., skeam input.scm would run the input.scm file.