githubEdit

Implementations

We use a C implementation for our Nock interpreter. But building a Nock interpreter in another language is a fun exercise. Check out our community Nock implementations, shown below our official C implementation. (Note: the community implementations were written for a slightly older version of Nock, Nock 5K. The current version is Nock 4K.):

Table of Contents

C Implementation

The actual production Nock interpreter. Note gotos for tail-call elimination, and manual reference counting. More about the C environment can be found in the runtime system documentation.

Clojure

From Matt Earnshawarrow-up-right:

C#

From Julien Beasleyarrow-up-right:

Groovy

From Kohányi Róbertarrow-up-right:

Haskell

From Steve Deearrow-up-right:

Hoon

JavaScript

From Joe Bryanarrow-up-right:

Python

From James Tauberarrow-up-right:

Ruby

From T.J. Corcoranarrow-up-right:

Rust

From Peter McEvoyarrow-up-right:

Scala

From Steve Randy Waldmanarrow-up-right:

Scheme

From Kohányi Róbertarrow-up-right:

Swift

Last updated