Ni
Jump to navigation
Jump to search
Paradigm(s) | Imperative paradigm |
---|---|
Designed by | User:DeybisMelendez |
Appeared in | 2020 |
Memory system | Cell-based |
Dimensions | One-Dimensional |
Computational class | Turing Complete |
Major implementations | Lua by User:DeybisMelendez |
Influenced by | Brainfuck |
File extension(s) | .nic , .ni |
Ni is an esoteric programming language influenced by brainfuck. The name Ni comes from Nicaragua. Created by User:DeybisMelendez.
Language Overview
Like brainfuck, Ni operates on a tape containing cells, cells can store 64-bit integers. The cells are pointed by a head, the head can move from left to right or jump to a cell directly. There is also a clipboard where you can store data from one cell and insert any other.
Commands
Command | Description |
---|---|
> | Move the head to the right |
< | Move the head to the left |
+ | Increment the targeted cell |
- | Decrement the targeted cell |
@ | Reads the first character, converts it to its ASCII number and stores it in the pointed cell |
. | Print the number stored in the targeted cell |
! | Print the ASCII equivalent of the number stored in the pointed cell |
# | Set a hexadecimal number in the pointed cell |
? | Copy the number of the pointed cell |
= | Stores the copied number in the pointed cell |
* | Converts the number of the pointed cell to 0 |
$ | Moves the spindle to the cell indicated with a hexadecimal number |
[] | (While) Loop that continues execution if the pointed cell is not equal to 0 |
{} | (For) Loop that executes the instructions the number of times that the memory of the pointed cell indicates |
() | (if) Executes the set of instructions if the pointed number is equal to the clipboard |
/ | Ignore the rest of the line |
Examples
Hello World!
#48!#65!#6c!!#6f!#20!#57!#6f!#72!#6c!#64!#21!#a!
Cat program
+[@!#a!]
Truth-machine
@>#30[<->-]<.[.]
Fibonacci
#a>>+.<<!>>>>#1f{<<?>=<<[>>+<<-]>?<=>>?<=.<<!>>>>}
Factorial
#0 /Insert the number to calc, #0 prints 1, #9 prints 362880, etc. (+.*)[?>=-[-<{>{<+>}<}>]<.*]
Computational class
Ni is Turing-complete, as ><+-@![]
correspond directly to brainfuck's ><+-,.[]
.