Home

Awesome

naz

naz is an esolang where every instruction is named by a number and a letter.

usage

node

first, clone this repository, and install its dependencies:

$ npm install

you can then run any naz program like so:

$ node naz.js filename.naz

online

you can also experiment with naz using the web-based interpreter! this is usually given less priority than the original Node-based implementation, but should work if you're in a hurry!

instruction reference

opcodes

command line flags

notes

example

the following naz program will add 9 to the register, multiply by 7, and add 2 (resulting in a value of 65), then output once, resulting in a final output of A:

9a7m2a1o

for more complicated examples, check the examples folder.

testing

if you're making some changes and need to make sure everything's still working correctly, you can run tests on some of the example programs like so:

$ npm test

computational class

naz is provably as powerful as a finite state automaton, because it can implement the esolang dd. given some input file, the example program dd.naz will follow the dd specification and stop reading input when it encounters a null byte.

as posited by quintopia here, naz -u is capable of implementing a universal Turing machine with 5 states and 7 symbols, making it Turing-complete; this means the original language is equivalent to a bounded-storage machine.

other implementations

a few people have created naz interpreters in languages other than JavaScript! these are:

thanks

the naz interpreter and runner are heavily based on those of the fantastic \/\/>, by torcado. <3

the example program prime.naz was designed by tobiasheineken.

donate

you can support the development of this project and others via Patreon:

Support me on Patreon