Lispy is a Lisp implementation in Python. It is influenced by John McCarthy's paper "Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I", which can be found here; Common Lisp; Emacs Lisp and Clojure.
Some code is based on fogus's lithp.
Full Feature list coming soon.
Usage: lispy [options] file
lispy [options] -r
lispy [options] -e expr
Options:
-r, --repl Start an REPL
-e, --evaluate Evaluate a single expression
-n, --no-core Do not load lisp core
-c FILE, --core=FILE Load the core from a different file
--version Print version information and exit
To run a Lispy REPL, either run Lispy without a filename, or run
Lispy with the -r
or --repl
option.
lispy
lispy -r
lispy --repl
Once the REPL is started, you can enter expressions at the =>
prompt. Lispy will evaluate them and show the result.
To evaluate a Lispy source code file, run lispy with the filename as an argument.
lispy foobar.lisp
To evaluate a single expression, run Lispy with the -e
or
--evaluate
option and supply the expression as an argument.
lispy -e "(+ 6 4)"
The expression will be evaluated and its result shown.
Using the -n
or --no-core
option prevents Lispy from loading and
evaluating the Lisp core (core.lisp
). This can be used in
conjunction with any other option.
Using the core-less mode is not recommended because many standard
definitions are included in core.lisp
, and without it, Lispy may be
very difficult to use.