foresolang
Designed by | User:Inferno |
---|---|
Appeared in | 2021 |
Memory system | Cell-based |
Dimensions | two-dimensional |
Computational class | Bounded-storage machine |
Reference implementation | Unimplemented |
File extension(s) | .foresolang , .fsl |
Foresolang is an 8-bit 128x128 grid of trees. The pointer starts at [0,0]. The code is situated at [-1, 0], and the program ends when this is overwritten with any value. Outside of [0,0] to [127,127] is a duplicate of [127,127] branches (including edit modifications). By default, all branches are at 16. Attempting to underflow will keep it at 0 and overflowing at 255, respectively. Since there is no way to add/subtract without pulling from other branches, you only have total of 262144 branches to use.
Instruction Set
move [x] [y] times
moves the pointer up (0-63), down (64-127), left (128-191), or right (192-255). X and Y can either be a number or just "pointer
".
add [x] branches to pointer
adds [x] branches to the pointer, taking it from the tree. x
is a number only.
place [x] branches from pointer
is the opposite of the above instruction, placing branches down instead of taking them.
take a picture of the tree at the pointer
outputs the ASCII value of the tree at the pointer.
take an input
takes an input, and puts it where the pointer is. It will use branches from [127,127] and go up to [127,0]. If it still does not have enough branches, it will look through [126,127] to [126,0], and so on until it finds enough.
define a function as "this is some random text [x] [y] [z]"
will define a function. executing the function would just be like executing any other instruction, like this is some random text 120 120 pointer
Examples
Hello, World
todo lol