Lack

From Esolang
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
&&

lack 1 lack2