hnock

A Nock interpreter.
Log | Files | Refs | README | LICENSE

commit 439c4668e17ebefb0fcd393d28a175bd9d823252
parent 9f5efec779b4c8e8d7de8c25163dbbc84f0897b6
Author: Jared Tobin <jared@jtobin.ca>
Date:   Fri, 13 Jul 2018 08:12:39 +1200

Add 5K spec.

Diffstat:
Aspec/5.txt | 39+++++++++++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+), 0 deletions(-)

diff --git a/spec/5.txt b/spec/5.txt @@ -0,0 +1,39 @@ +A noun is an atom or a cell. An atom is a natural number. A cell is an ordered +pair of nouns. + +nock(a) *a +[a b c] [a [b c]] + +?[a b] 0 +?a 1 ++[a b] +[a b] ++a 1 + a +=[a a] 0 +=[a b] 1 +=a =a + +/[1 a] a +/[2 a b] a +/[3 a b] b +/[(a + a) b] /[2 /[a b]] +/[(a + a + 1) b] /[3 /[a b]] +/a /a + +*[a [b c] d] [*[a b c] *[a d]] + +*[a 0 b] /[b a] +*[a 1 b] b +*[a 2 b c] *[*[a b] *[a c]] +*[a 3 b] ?*[a b] +*[a 4 b] +*[a b] +*[a 5 b] =*[a b] + +*[a 6 b c d] *[a 2 [0 1] 2 [1 c d] [1 0] 2 [1 2 3] [1 0] 4 4 b] +*[a 7 b c] *[a 2 b 1 c] +*[a 8 b c] *[a 7 [[7 [0 1] b] 0 1] c] +*[a 9 b c] *[a 7 c 2 [0 1] 0 b] +*[a 10 [b c] d] *[a 8 c 7 [0 3] d] +*[a 10 b c] *[a c] + +*a *a +