Skip to content

A toolkit for simple functional applications with automatic persistence.

License

Notifications You must be signed in to change notification settings

zorp-corp/nockapp

Repository files navigation

NockApp

DEVELOPER ALPHA

NockApp

NockApps are pure-functional state machines with automatic persistence and modular IO.

The NockApp framework provides two modules, Crown and Sword:

  1. Crown provides a minimal Rust interface to a Nock kernel.
  2. Sword is a modern Nock runtime that achieves durable execution.

Get Started

To test compiling a Nock kernel using the choo command-line Hoon compiler, run the following commands:

cd choo
cargo run --release hoon/lib/kernel.hoon

Building NockApps

The crown library is the primary framework for building NockApps. It provides a simple interface to a Kernel: a Nock core which can make state transitions with effects (via the poke() method) and allow inspection of its state via the peek() method.

For compiling Hoon to Nock, we're also including a pre-release of choo: a NockApp for the Hoon compiler. choo can compile Hoon to Nock as a batch-mode command-line process, without the need to spin up an interactive Urbit ship. It is intended both for developer workflows and for CI. choo is also our first example NockApp. More are coming!