From Esolang
Jump to navigation Jump to search

yeet yeet yeet, yeet yeet. my esolangs aren't on the language list also how do i make a new page?]

here is one called "simpler", here its explained:

Esolang name: simpler

What stuff does:

0-f Push hexadecimal digit onto stack

add Stack = a b, Does b+a

sub Stack = a b, Does b-a

mul Stack = a b, Does b*a

div Stack = a b, Does b/a

mod Stack = a b, Does b%a

squ Square top of stack

cub Cube top of stack

pow Stack = a b, Does b^a

sqr Square root top of stack

cbr Cube root top of stack

nrt Stack = a b, Does bthroot(a)

dup Duplicates top of stack

inc Increments top of stack

dec Decrements top of stack

inn Input number on top of stack

ina Input ASCII on top of stack

pri Print integer value

pra Print ASCII value

tim Wait top stack seconds

tgl Toggle between stack 1 and stack 2

grt Stack = a b, If b > a then true else false

lst Stack = a b, If b < a then true else false

eql Stack = a b, If b = a then true else false

if[expression][ If expression is true, do the following until ] else do follwing es[

es[ Defined in if[

dw[expression][ Do while expression is true until ] and repeat until expression is false.


You can use no syntax


Or use this syntax:

Line breaks or spaces inbetween commands and the last [ and ] in if[ and dw[

Like this:

5 4 mul f 4 add if[eql][

f 7 mul dup pra 2 add a squ 5 add pra b a mul dup pra 6 add pra




next is "simple":

1. Simple Programming Language (SMPL)

^ < > v read directions

0123456789abcdef put hexadecimal digit into main stack

+-*/ see label 2. and 2.1.

$ begin (facing left)

@ halt

. (number)

, (ascii) user input saved into i

i push last user input into main stack

(just ignore these backslashes for formatting reason)

\: top of main stack into register

\; top of register stack into main stack

p print number on the top of main stack

q do the same as p, but output ascii code instead

(also ignore this backslash)

\# bridge over next cmd

g top stack > 0? put 1 in main stack if true, else put 0

r reverse whole stack

l double top of main stack

[] repeat as many times as top stack


s emulate printed text, when done go back to where left off

2. Extra

stack will look like this for example:




+ prints a+b

- prints b-a

(ignore again because i hate when formatting gets in the way)

\* prints a*b

/ prints b/a