A Nock interpreter.
Use a simple
stack install
to build the hnock
binary and get it moved somewhere on your PATH. If you
just want to build the binary, you can use stack build
.
From bash, simply pipe Nock expressions into the hnock
executable:
$ echo '*[[[4 5] [6 14 15]] [0 7]]' | hnock
[14 15]
For playing around in GHCi, import the Nock
library and use hnock
to parse
and evaluate Nock expressions:
*Nock> hnock "*[[[4 5] [6 14 15]] [0 7]]"
[14 15]
To evaluate raw nock Nouns, i.e. to compute nock(a)
for some noun a
, use
the nock
function:
*Nock> let expression = hnock "[[[4 5] [6 14 15]] [0 7]]"
*Nock> expression
[[[4 5] [6 [14 15]]] [0 7]]
*Nock> nock expression
[14 15]
Use a simple stack test
to run the test suite.