Skip to content

Latest commit

 

History

History
86 lines (61 loc) · 2.23 KB

README.md

File metadata and controls

86 lines (61 loc) · 2.23 KB

blisp

blisp

blisp is a simple, Scheme-like LISP programming language library and interpreter written in Java. blisp attempts to implement the features that are fundamental to all LISP dialects such as atoms, lists, special forms, and lambdas. The language not adhere to any standard put forth by other LISP dialects, but it does attempt to closely resemble Scheme in both appearance and behavior. The language library implements a flexible API that can evaluate expressions or even support embedded scripting. The interpreter program provides a means to execute blisp programs or present the user with an interactive REPL.

Visit the project website for more information: https://cppimmo.github.io/blisp/.

Building

blisp uses the Maven build system. Dependency information is available on the website.

To compile and run blisp at the root of the repository, use the following command:

mvn clean compile exec:java

To create an executable JAR for blisp (depencies included), use:

mvn package

The JAR file will be located in the target/ directory. Use the make-release.sh script to package blisp in a form suitable for releases.

To generate Javadoc documentation, use:

mvn javadoc:javadoc

The generated documentation will be located in the target/reports/apidocs directory.

Using the Interpreter

To execute a blisp script:

java -jar blisp.jar scripts/test.blisp

blisp will run in REPL/interactive mode if no script file is specified. If the -i | --interactive flag is supplied along with a script file, then blisp will open a REPL after the file is evaluated:

java -jar blisp.jar -i scripts/test.blisp

To see command line usage information for the blisp interpreter, use the -h | --help flag.

License

The license for this project is the Eclipse Public License - v 2.0. Check the LICENSE.txt file for more information.