Neko Documentation

This page documents the data types, syntax, and builtin functions of Neko. The page is currently rather sparse. If you have ideas for how to improve it, feel free to let me know by emailing me at

eppolito[dot]math(at)[google's mail service](dot)com.

Concepts and Data Types

Neko has four data types:

Syntax

Neko has exactly two syntactic constructions outside of those pushing Neko values to the stack.

Comments

Neko supports rest-of-line comments, signaled by //.

Definitions

A definition stores a sequence of commands to be run under an alias.

defn name { commands-to-run }

A few things to keep in mind about definitions:

  1. Each time name is executed, it is equivalent to running [ commands-to-run ] apply.
  2. Defined names can be referenced before defined.
  3. Neko does not support namespaces (yet), so if a file is loaded that attempts to redefine a term, this will either overwrite the prior definition or throw an error (depending on the emulator options controlling this behaviour).
  4. All definitions must be made at the top level.
  5. Nested definitions are forbidden.

Built-in Functions

The following are the builtin commands that Neko supports, together with their types. You can click a function's name to read its documentation.