horrlang/README

33 lines
1.3 KiB
Plaintext

Horrlang is an esoteric language, you should not try it.
In Horrlang, memory and instructions are mixed, so you can use old instructions
as new memory places, or do some metaprogramming rewriting your code as it runs.
Just like in LISP but ... without lists ... good luck ...
In Horrlang you have basically 2 pointers, a memory one and an instruction
one. Both start at 0. The instruction one follows instructions that can move
the memory pointer. Have a look at the instruction set :
Instruction set :
Lx : Move memory pointer left x chars (defaults to 1).
Rx : Move memory pointer right x chars (defaults to 1).
Nx : Goto the next char that is x with the instruction pointer.
Px : Goto the prev char that is x with the instruction pointer.
O : Output current value under memory pointer.
I : Write from stdin to the current memory pointer.
K : Decrement the value under the current memory pointer.
H : Increment the value under the current memory pointer.
Jx : Jump with the instruction pointer to the previous 'x' char if the value under the current memory pointer != 0. (Jumps to the beginning if no 'x' char is found)
The Hello World :
R9R9R9R4OROROROROROROROROROROROHello World.
Writing a serie of P should like :
R5OP5P or R3OP3
Write 123456789 using a loop :
R9R3:ROHLKJ:81