aboutsummaryrefslogtreecommitdiff
path: root/readme.md
diff options
context:
space:
mode:
Diffstat (limited to 'readme.md')
-rw-r--r--readme.md51
1 files changed, 51 insertions, 0 deletions
diff --git a/readme.md b/readme.md
new file mode 100644
index 0000000..4b6f95a
--- /dev/null
+++ b/readme.md
@@ -0,0 +1,51 @@
1
2![lisk.png](https://u.peppe.rs/0j.png)
3
4`lisk` is a (soon to be) interpreter for R6RS Scheme,
5written by the students of RV. It is written in Haskell and
6compiled against GHC v8.6.5. `lisk` is an educational
7adventure, it does not intend to be highly performant or
8fully compliant with R6RS.
9
10### Building and Running `lisk`
11
12On systems using the `nix` package manager:
13
14```shell
15cabal2nix . > default.nix
16nix-build release.nix
17./result/bin/lisk
18```
19
20Alternatively, you may build and run using `cabal`:
21
22```shell
23# requires ghc & cabal to be installed
24cabal build exe:lisk
25cabal run lisk
26```
27
28### Usage
29
30On running `lisk`, you will be greeted by the `lisk` REPL,
31where you may enter `lisk` expressions:
32
33```scheme
34;;; Entering lisk repl ...
35† (+ 1 1)
362
37† (* 42 (- 2 -3))
38210
39† (and (not (= 2 2)) #f)
40#f
41```
42
43### Testing
44
45`lisk` includes a property-based testing suite, written with
46the QuickCheck module, you may run tests for the project
47via:
48
49```shell
50cabal run tests
51```