Collern
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
, = push input in stack(more that one char)
( = push a list(json) 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)
° = 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^,si for sigmoid, lg, log and ln)
σ = Halt the program
η = wait for LS seconds
υ = like ?, but run it in parallel
∁ = push a text replacing every APS(regex) 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
⫛ = separate string PS by LS chunks
⊏ = Add LS to list PS
⊐ = Remove item LS of list PS
⊓ = Join PS and LS into a key pair list
⊔ = Append PS and LS into a list
⊞ = Get key LS of dictionary PS
‹ = Run code as LS being the stack
› = end ‹
ß = Push random number from PS to LS
the tags like PS and LS are:
bf - Brainfuck equivalent
IA - Item of Array
A - Array
S - Stack
LS - Last of stack
PL - Penultiate of stack
P - Pop stack
APS - Antipenultiate of stack
OBS: use | in [], {}, (), ⁅⁆ and ‹› to push itself, like in "\""
{Hello, World}¨¬.
,¨¬.
,1β{+[1¨¬.1¬]}{0¨¬.}!
Reverse cat:
,'∅^‹#›'∅/¨¬.
compiler: compiler here