Charred

From Esolang
Jump to navigation Jump to search
Charred
Paradigm(s) imperative
Designed by User:SpaceByte
Appeared in 2022
Memory system Cell-based
Dimensions one-dimensional
Computational class Unknown
Reference implementation [1]
File extension(s) .chr

Charred is a language created by User:SpaceByte on July 17th 2022. Charreds is an esolang like brainfuck, but with some differences, variables are stored as characters, with integer equivalents, charred does not use ASCII codes, charred only allows for spaces, and letters, charred does not have loops, instead it has if statements and goto commands, etc. Charred has a very similar base as brainfuck, but is to be considered its own original esolang.

Language description

Charred operates by storing variables as characters. Similarly, to brainfuck, it has an array of 30000 values, a pointer, etc. The commands +-<> are nearly exactly the same as in brainfuck, with the difference the variables they modify are characters. The default character, 0, is a space, followed by the english lowercase alphabet, and then the uppercase alphabet. This equates to 53 characters, so charred is incapable of storing variables over 52. Because variables are stored in characters, the regular print command simply prints the value of the variable, but there is also a command to print their integer equivalent, being the only way to print numbers.

Commands

Command Description
> Move the pointer to the right
< Move the pointer to the left
+ Increment the cell at the pointer (next character)
- Decrement the cell at the pointer (last character)
. Output the character stored in the value at pointer
, Input a character and store it in the value of the pointer location
' Output the integer (numeric) value of the variable at pointer
: Execute the next command only if the value at pointer is not 0
\ Print a linebreak
/ Go to the line number of the value at pointer.
| Clear the console

All commands whichs character is not +-<>,.'|:/\ are fully ignored by the interpreter, and not executed.

Example

Spam Alphabet

This program was discovered by User:SpaceByte by accident after she failed to create this program intentionally. Although the program prints a and b twice on its first iteration, it does work, and prints every character printable by the . command.

.+>.+</