Caker

From Esolang
Jump to: navigation, search

Caker is a programming language created by User:TuxCrafting.

Caker operates on an unbounded bit tape.

Commands

Command Action
ω If the current cell is 0, flip the bit at the left of the tape head. Otherwise, flip the bit at the right.
Ω If the current cell is 0, move the tape head one left. Otherwise, one right.
θ Push the current bit on the print stack.
Θ Print the character on the print stack and clear the print stack.
( Execute the code before the matching ) while the current cell is 1.
γ Print the current bit on stdout.
Γ Read a bit from stdin.
ξ Read a character and put it in the print stack.
Ξ Pop a bit from the print stack and put it in the current cell.
Δ Set the current cell with a random bit.

The print stack

To print a character, bits are pushed on a special stack.

Example: ωΩθΩθθθΩθθ set the print stack to 100011, so executing Θ will print #.

Examples

Hello, World!

ωΩθΩθθΩθΩθθθΘΩθθΩθθΩθΩθΩθΘθθΩθΩθθΩθθΘΩθθΩθΩθθΩθθΘΩθθΩθΩθθθθΘθΩθΩθθΩθθΘΩθΩθθθθθΘΩθΩθΩθΩθΩθθθΘθθΩθΩθθθθΘθθθΩθθΩθΩθΘΩθθΩθΩθθΩθθΘΩθθΩθθΩθΩθθΘΩθΩθθθθΩθΘ

Cat

ωΩ(ξΘ)

Print a infinite stream of random bits

ωΩ(θΔγΞ)

Implementations

Reference implementation by User:TuxCrafting