aboutsummaryrefslogtreecommitdiff

lisk.png

lisk is a (soon to be) interpreter for R6RS Scheme, written by the students of RV. It is written in Haskell and compiled against GHC v8.6.5. lisk is an educational adventure, it does not intend to be highly performant or fully compliant with R6RS.

Building and Running lisk

On systems using the nix package manager:

cabal2nix . > default.nix
nix-build release.nix
./result/bin/lisk

Alternatively, you may build and run using cabal:

# requires ghc & cabal to be installed
cabal build exe:lisk
cabal run lisk

Usage

On running lisk, you will be greeted by the lisk REPL, where you may enter lisk expressions:

;;; Entering lisk repl ...
 (+ 1 1)
2
 (* 42 (- 2 -3))
210
 (and (not (= 2 2)) #f)
#f

Testing

lisk includes a property-based testing suite, written with the QuickCheck module, you may run tests for the project via:

cabal run tests