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.
31 lines
1.4 KiB
Markdown
31 lines
1.4 KiB
Markdown
# 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](http://en.wikipedia.org/wiki/Skream).
|
|
|
|
Skeam does not implement [tail-call](http://en.wikipedia.org/wiki/Tail_call)
|
|
elimination or [continuations](http://en.wikipedia.org/wiki/Continuation), 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](http://golang.org/doc/install).
|
|
|
|
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.
|