Neko

Neko is a small, stack-based, functional programming language. It is based on the Cat Programming Language by Christopher Diggins, but has some differences. Anything you find here is entirely my own work.

The implementation you will find here is done entirely in core JavaScript (that means everything: the parser, the emulator, and the REPL are all made without any JavaScript dependencies). The core code for parsing and evaluating Neko is less than 1000 lines of code.

The language supports four main data types: boolean, integer, string, and quote (i.e., unnamed function). Every command operates on a common stack. There are roughly 30 builtin commands, most of which are unnecessary to the language from an algebraic standpoint. In particular, some of the builtins are only for user interaction, others control the REPL, and still others can be implemented in terms of a much smaller subset of the commands.

The Navbar at the top of this page has links to a bunch of other pages you should look at if you find this interesting.