Improbable
Jump to navigation
Jump to search
Improbable is a register- and tape-based esoteric language focusing on succinctness. A tape is called the datastore, and is 256 bytes long. The register is one byte. There are 256 tapes, for a total of 64k bytes.
Instructions
| Command | Use |
|---|---|
| =H | Set register to byte |
| -FF | Set register to byte by hex code |
| ps | Print a character |
| pi | Print an integer |
| pl | Print a line separator (platform-dependent) |
| r | Read a character from standard input |
| [ | Save IP to register |
| ] | Read IP from register |
| S | Save register to pointed-to datastore |
| G | Load pointed-to datastore to register |
| > | Move pointer right |
| < | Move pointer left |
| ^00 | Set pointer value (e.g. to 0) |
| @example | Declare a label |
| !example | Jump to a label |
| ?00=example | Jump to a label conditionally (hex value to compare, and = for equal or ! for not equal) |
| :+03 | Arithmetic (such as adding 0x03) to the register |
| ; | Exit, using register as exit code |
| X00 | Set tape number to use for datastore |
| {thing =H } | Declare a function (e.g. named 'thing') |
| %thing | Call a function |
| `Hello, world!` | Print some text |
| # STUFF # | Insert a comment |