33 lines
1.3 KiB
Plaintext
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
|