B9
B9 is an esolang by User:JIT, 2025
"What if... OH GOD NO! AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
- -User:JIT, 2025
It's perfectly benign! don't read the text above this, its fine! :DDD
- -User:JIT, 2025
commands | what they do |
---|---|
0- | make the next pear a variable instead of a pear and put the input value in the pear mod 7 |
1- | make the next pear a variable instead of a pear and put the previous pear's value in this next pear mod 7 |
2- | make the next pear a variable instead of a pear and add the previous pear's value in this next pear mod 7 |
3- | rotate the trio right |
4- | rotate the trio left |
5- | split the starts and the ends where the ends go leftward where the start is going |
6- | split the starts and the ends where the ends go rightward where the start is going |
7- | split the starts and the ends where the ends go backward where the start is going |
8- | split the ends and the starts where the starts go leftward where the ends is going |
9- | split the ends and the starts where the starts go rightward where the ends is going |
A- | split the ends and the starts where the starts go backward where the ends is going |
B- | turn 180 degrees |
C- | rotate the trio right, also all IPs will rotate right in the trio as well |
D- | rotate the trio left, also all IPs will rotate right in the trio as well |
E- | toggle on focusing on the starts and the ends |
F- | nop |
-0 | get a number from the next pair as a variable |
-1 | get a number from the next command's number |
-2 | get a number from the next pear's number |
-3 | get a number from the next block's number |
-4 | make the next pear a variable instead of a pear and subtract the previous pear's value in this next pear mod 7 |
-5 | make the next pear a variable instead of a pear and set it to a random number mod 7 |
-6 | delete the current pear and then point in the direction 90 degrees of what it is right now |
-7 | make the next pear a variable instead of a pear and put an input character in the pear |
-8 | delete IP |
-9 | delete exclusively for the IP's ends and starts |
-A | IP start and reading right |
-B | IP start and pointing left |
-C | IP start and pointing up |
-D | IP start and pointing down |
-E | IP start and reading random direction |
-F | nop |
But of course, it may be too restrictive but not to worry, it's perfectly benign because every odd pear uses this table instead!:
commands | what they do |
---|---|
0- | nop |
1- | skip the next pear |
2- | skip the next block |
3- | delete the next pear |
4- | delete the next block |
5- | make the next pear a variable instead of a pear and equals the previous pear's value then skip the next(x2) pear |
6- | make the next pear a variable instead of a pear and does not equal the previous pear's value then skip the next(x2) pear |
7- | make the next pear a coordinate instead of a pear and go to that coordinate using the starts as x and the ends as y |
8- | change the PP's direction of execution 90 degrees right |
9- | change the PP's direction of execution 90 degrees left |
A- | make the next 2 pears coordinates instead of a pear and move that coordinate using the starts as x and the ends as y |
B- | turn 180 degrees |
C- | make the next block coordinates instead of a block and using xy zw and uv, where it moves the start coordinates of the pears of xy to zw to uv |
D- | make the next pear, not a pear but a set of coordinates of x and y and select it |
E- | move the selected pear swap places with its next pear (the next pear being the next pear of the direction of it) |
F- | make the next pear a variable instead of a pear and put the previous block's concatenated value in this next pear as a character mod 256 |
-0 | nop |
-1 | make the next pear a variable instead of a pear and put the selected pear's x coordinate mod 7 |
-2 | make the next pear a variable instead of a pear and put the selected pear's y coordinate mod 7 |
-3 | transform the next pears into the selected pear's x coordinate |
-4 | transform the next pears into the selected pear's y coordinate |
-5 | make the next pear a variable instead of a pear and seed the previous pear's value in this to make a random number mod 7 |
-6 | if a start and an end meet, let them pass by instead |
-7 | make the next 2 pears skipped and treat them as something else, the first one is a coordinate and the second one is a pear command to replace the coordiante |
-8 | delete IP |
-9 | delete exclusively for the IP's ends and starts |
-A | IP start and reading right |
-B | IP start and pointing left |
-C | IP start and pointing up |
-D | IP start and pointing down |
-E | skip all instructions until meet with -F |
-F | if not from -E, make a new column if the next pear (skipped) is odd and if its even, make a new row |
It's perfectly benign so it reads the commands normally!
For example
command command command input() command command command command print(32) command command command
This hypothetical program will receive an input then prints 32! It's perfectly benign for it to read the commands from the start to th end, line by line after all, why would it be any other way? Luckily, B9 is perfectly benign and only changes it a little bit, you just read it pear by pear because command has a different meaning:
Specifics
A command is as listed in the table, a pear is a pair of commands, a block is a trio of pairs of commands and a trio is a 3 by 3 square of commands! If the starts and ends meet again, if they are coming from opposite directions, they merge once more and change direction to 90 degrees right from their original IP direction start for example if they started out up they would merge right, but if they were to meet at the same direction, they would merge and be in that direction because B9 is perfectly benign! If they were to meet perpendicularly, then they would change direction to 90 degrees left from their original IP direction start! You focus on the starts! It doesn't do it all at once, that would be illogical and this is perfectly benign, so it executes the pears one by one, line by line, let's call it the PP for Pear Pointer! Also, all blocks will be converted into HEX RGB colours!
Programs
Nothing program
00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF 00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF 00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF 00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF 00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF 00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF 00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF 00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF 00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF 00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF 00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF 00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF 00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF 00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF 00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF 00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF