Collern

From Esolang
Jump to navigation Jump to search

Collern is a esolang created by user Dmiz (talk) in 5 days
Collern mix Brainfuck and Thue into a bizarre thing
Collern have the commands:

[ = push
] = end push[
& = IA => LS
¬ = LS => IA
> = bf
< = bf
+ = bf
- = bf
. = bf
, = read input and push to stack
( = push a list to the stack
) = end )
¨ = push convert LS to unicode equivalent
¢ = inverse of ¨
{ = bf [
} = end of }
@ = run an operation APS with LS and PS (+-*/^%)
¹ = compress S by LS
^ = split LS by PL
$ = P
~ = get item PS of list LS
² = add item PS to list LS at APS
³ = delete item PS of list LS
: = dup LS
_ = repeat LS by PS times
? = run LS as collern code
£ = set every cell in A to 0
/ = Join LS and PS
; = items of PS to LS
# = reverse the S
` = Swap Ptr of A and Ptr - 1 of A
´ = Inverse of `
§ = Create a variable PS and set it to LS
| = Push the value of variable LS
\ = Wrap the S in a list of end LS items(if LS is null, compress the entire stack and if is f, make the same thing of null, but keep the first item intact and if is <0, make f, but keep abs of LS item of first)
° = unactivate or activate the replacers
º = set ptr to LS
* = comment until next *
= = decompress the LS
' = push null
! = if LS are 1 run PS else run APS
β = push 1 if PS = LS
λ = push 1 if PS > LS
Δ = push 1 if PS < LS
⊗ = push !LS
⊘ = push 1 if PS || LS
⊝ = push 1 if PS && LS
" = move LS to PS and PS is a option betwen (L or null: last, P: penultimate, A: antipenultimate, number: Number and D: item before antipenumtimate, Nnumber: Lengh of S - abs(number))
⁅ = run code until S size is 1<= of LS is e
⁆ = end ⁅
⊙ = replace item 1 of S with LS
ε = make the same thing of ", but delete item instead
Ξ = Is like @ but for complex functions(c for cos, s for sin, sq for square root, ce for ceiling, f for floor, t for tan, as for asin, ac for acos, at for atan, e to e^ and r for sigmoid)
σ = Halt the program
η = wait for LS seconds
υ = like ?, but run without wait
∁ = push a text replacing every APS with PS in LS
α = negate LS
† = push Lenght of list LS
∅ = shift the PS and the LS
χ = like ∅, but shift with APS
Φ = like ∅, but shift with APS - 1(double APS)
∎ = map code PS to list LS
↕ = flatten the LS
↔ = unflatten the LS
↻ = rotate the stack clockwise
↺ = rotate the stack counterclockwise
π = reshape LS by APS and PS


the things like PS and LS are: bf - Brainf equivalent
IA - Item of Array
A - Array
S - Stack
LS - Last of stack
EX - Exeption
PL - Penultiate of stack
P - Pop stack
APS - Antipenultiate of stack


Hello, World!:

[Hello, World]¨¬.

Cat program:

,¨¬.

Truth-machine:

,1β[+{1¨¬.1¬}][0¨¬.]!

compiler: compiler here