Threads

From Esolang
Jump to navigation Jump to search

Threads is an Esolang. It is multithreaded.

Code
Symbols Info
a add one to the counter
s subtract one from the counter
o default: output the counter, dotted: output the following string or s for the variable
i default: input into the counter, dotted: input into the string variable
( start loop default: infinite, dotted: following number or c for the counter (can not be dotted)
) end loop (can be dotted)
t make a thread to run the dotted code in (t.[a]), can also have a thread id (t0.[a])
[ start code block default: run normal, dotted: run with arguments* (can not be dotted)
] end a code block (can be dotted)
q compile the current thread default: compiles to a.out, dotted: compiles to #
c comment (c.”this is a comment”)

* that are not in the compiler command

Arguments
Symbols Info
[blank] run the code normally
v verbose (Created new thread! Added 1 to the counter!)
o outputs to o.out (can be changed in the configuration file)
i set the string to the current value of the file i.out
c each code bloCk is a value on a staCk
e extends the logic set using rules from e.out

Hello World:

o."Hello, World!"

Cat:

(i."" o.s)

XKCD Random Number:

t.[a a a a o] c."speed thread"

Fork Bomb:

(t.[t]) c."your computer will not survive this"

Compiler Example:

./threadsc.sh -voice hello.thr

Block Example:

[o.”Balls”].o