Lack
Jump to navigation
Jump to search
Lack(Varnish in Deutsch) is are an Esolang
Based In Cells
Lack Dont have comments
Lack have 2 versions
The Commands for lack 1 Are:
Command | Description |
---|---|
> | change the pointer by 1 |
< | change the pointer by -1 |
+ | add 1 in pointer cell |
- | subtract 1 in pointer cell |
. | add ascii of pointer cell |
, | prompts for input and sets cell pointer to ascii character |
$[a] | runs a loop with the amount of the pointer item and executes command [a] from code(> + + $1) |
![a] | execute the commands [a] from code (> + !1 N) or (> + !1_2) |
@[a],[b],[c] | if [a] is equal to pointer item of cell, run command [b] from code, else run command [c] from code(> + @1_1_2) |
F[a] | Execute [a] of code forever (> + N F3) |
E[a] | delete [a] from code (E5 > + N F4) |
D[a] | insert a command in position [a] (> D+_3 ) |
& | stop this script (> L33 P N & F4) |
O[a] | make operations [a] with the remember value and the pointer cell (> L10 + + + O+ P N) (operations are + - * / ^ %(module) ) |
pipe[a],[b] | replace command [a] from code to command [b] (> pipe3¬+ ) |
~[a],[b] | run [a] times symbol [b] (~5_+ N) |
N | print a number (L10 P N) |
#[a] | create variable [a] (#a) |
%[a] | delete variable [a] (%a) |
=[a],[b] | set variable [a] to value [b] (> #c =c_99 §c) |
¢[a] | set variable [a] to pointer cell (#a L99 P ¢a %a) |
§[a] | set the pointer cell item to variable [a] value (#a =a_99 § N %a) |
\[a] | execute [a] cell ascii lack code (> L43 P > \1 L0 A < P N) |
^[a],[b],[c] | set variable [a] to a random from [b] to [c] (#a ^a_1_10 §a N ¢a) |
U | convert the item of pointer into ascii (L53 > P U N) |
I[a],[b] | compares the items [a] and [b] of the cells and sets the pointer item to 1 if the item are equal, and 0 if they are not (> L12 P > L12 P > I1_2) |
J[a],[b] | compares the items [a] and [b] of the cells and sets the pointer item to 1 if the item [a] are greater than [b], and 0 if they are not (> L13 P > L12 P > J1_2) |
k[a],[b] | compares the items [a] and [b] of the cells and sets the pointer item to 1 if the item [a] are less than [b], and 0 if they are not (> L12 P > L13 P > K1_2) |
&& | force stop the program |
£[a] | goes to the first appearance of [a] in the code ( a + N > =remember_32 §remember . < £a ) |
?[a],[b] | set a variable to any value ( #a ?a_.", ) use " to separate things |
:[a] | run [a] variable as lack code ( #a ?a_.", :a ) |
The Commands for lack 2 Are:
Command | Description |
---|---|
> | change the pointer by 1 |
< | change the pointer by -1 |
+ | add 1 in pointer cell |
- | subtract 1 in pointer cell |
. | add ascii of pointer cell |
, | prompts for input and sets cell pointer to ascii character |
$[a] | runs a loop with the amount of the pointer item and executes command [a] from code(> + + $1) |
L[a] | put the value [a] in remember value(L21) |
A | put the pointer cell value in remember value(+ + A) |
P | set the pointer cell to remember value (L10 P) |
![a] | execute the commands [a] from code (> + !1 N) or (> + !1_2) |
@[a],[b],[c] | if [a] is equal to pointer item of cell, run command [b] from code, else run command [c] from code(> + @1_1_2) |
F[a] | Execute [a] of code forever (> + N F3) |
E[a] | delete [a] from code (E5 > + N F4) |
D[a] | insert a command in position [a] (> D+_3 ) |
& | stop this script (> L33 P N & F4) |
O[a] | make operations [a] with the remember value and the pointer cell (> L10 + + + O+ P N) (operations are + - * / ^ %(module) ) |
pipe[a],[b] | replace command [a] from code to command [b] (> pipe3¬+ ) |
~[a],[b] | run a command in loop (~5_+ N) |
N | print a number (L10 P N) |
#[a] | create variable [a] (#a) |
%[a] | delete variable [a] (%a) |
=[a],[b] | set variable [a] to value [b] (> #c =c_99 §c) |
¢[a] | set variable [a] to pointer cell (#a L99 P ¢a %a) |
§[a] | set the pointer cell item to variable [a] value (#a =a_99 § N %a) |
\[a] | execute [a] cell ascii lack code (> L43 P > \1 L0 A < P N) |
^[a],[b],[c] | set variable [a] to a random from [a] to [b] (#a ^a_1_10 §a N ¢a) |
U | convert the item of pointer into ascii (L53 > P U N) |
I[a],[b] | compares the items [a] and [b] of the cells and sets the pointer item to 1 if the item are equal, and 0 if they are not (> L12 P > L12 P > I1_2) |
J[a],[b] | compares the items [a] and [b] of the cells and sets the pointer item to 1 if the item [a] are greater than [b], and 0 if they are not (> L13 P > L12 P > J1_2) |
k[a],[b] | compares the items [a] and [b] of the cells and sets the pointer item to 1 if the item [a] are less than [b], and 0 if they are not (> L12 P > L13 P > K1_2) |
&& | force stop the program |
£[a] | goes to the first appearance of [a] in the code ( a + N > L32 P . < £a ) |
?[a],[b] | set a variable to any value ( #a ?a_.", ) use " to separate things |
:[a] | run [a] variable as lack code ( #a ?a_.", :a ) |
Hello, World! in version 1:
=remember_72 §remember . =remember_101 §remember . =remember_108 §remember . =remember_108 §remember . =remember_111 §remember . =remember_44 §remember . =remember_32 §remember . =remember_87 §remember . =remember_111 §remember . =remember_114 §remember . =remember_108 §remember . =remember_100 §remember . =remember_33 §remember .
Hello, World! in version 2:
L72 P . L101 P . L108 P . L108 P . L111 P . L44 P . L32 P . L87 P . L111 P . L114 P . L108 P . L100 P . L33 P .
Cat program in versions 1 and 2:
, .
Truth-machine in version 1:
, @48_5_0 @49_7_0 && £zero && £one && zero =remember_48 §remember . && one =remember_49 §remember . £one &&
Truth-machine in version 2:
, @48_5_0 @49_7_0 && £zero && £one && zero L48 P . && one L49 P . £one &&