MyNixOS website logo
Description

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

Build Status MIT License

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.

See Also

Metadata

Version

0.4.0

License

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows