BigBrain

From Esolang
Jump to navigation Jump to search

BigBrain is a brainfuck remake by user k written in Lua. (Github Page)

This is not an extension, as a lot of stuff is different.

Differences

   Every byte is set to one at the beginning.
   Bytes can go as high or as low as you need

All the different Commands BigBrain Has (Bytes = Cells) :

Commands
Symbol Description Category
+ Sets the currently selected byte's value to the sum of the next byte's value and itself. Operations
- Sets the currently selected byte's value to the difference between itself and the next byte's value. Operations
* Sets the currently selected byte's value to the product of the next byte's value and itself. Operations
/ Sets the currently selected byte's value to the quotient of the next byte's value and itself. Operations
= Sets the currently selected byte's value to the next byte's value. Operations
^ Raises the current byte's value by the next byte's value. (As in current byte to the power of the next byte) Operations
: Sets the currently selected byte's value to the root of itself by the next byte's value. Operations
$ Sets the next byte's value to 1. Operations
_ Sets the currently selected byte's value to itself concatinated with the next byte. Operations
! Swaps the current byte's value and the next byte's value Movement
? Swaps the current byte's value and the last byte's value Movement
{ If the current byte's value is equal to 1, go to its corresponding } Loops
} If the current byte's value is not equal to 1, go to its corresponding { Loops
~ Any condition after this will be inverted, this effect can be reversed by adding another ~ symbol. Miscellaneous

(All brainfuck symbols not present here are still the same)

Examples

"Hello, World!" printed using a simple algorithm :

++++++>+<_$.!$>-<_$_$.!$>-<_$>+++++++<_$..!$_$_$.!$+++>+++<_$.!$++>+<_$.!$_$>++++++++<_$.!$_$_$.!$_$>+++<_$.!$>-<_$>+++++++<_$.!$>-<_$>-<_$.!$++>++<_$.!$

"Hello, world!" printed using a human brain :

++++++>+<_.!$++++++++_.+++++++..+++.!$+!=*!=_.---.*--$-.>+<----.+$+.>+<---.----.!$!*****$+.

Cat Program :

[,.] since every cell is equal to 1 at the beginning, a cat program can be made even shorter.

Move Value :

!>! this moves the current value two cells to the right while keeping the two other values intact.