A Nock interpreter.
A Nock interpreter.
From the shell, 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]
hnock
A Nock interpreter.
Install
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
.
Usage
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]
Testing
Use a simple stack test
to run the test suite.