Collern
Collern is a esolang created by user Dmiz (talk) in 5 days
Collern mix Brainfuck and a lot of commands into one 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 PS of list LS
⊓ = Join PS and LS into a key pair list
⊔ = Append PS and LS into a list
⊞ = Get key PS of dictionary LS
‹ = Run code as LS being the stack and return the last item
› = end ‹
ß = Push random number from PS to LS
⩤ = Start a new recurser
⩥ = End ⩤
‽ = Push the first recurser declared
Ͻ - Alias for addition
Ϲ - Alias for subtraction
∍ - Alias for multiplication
∊ - Alias for division
ϴ - Alias for potentiantion
Ͳ - Alias for mod
↜ - Pop two numbers and pick the smallest number
↝ - Pop two numbers and pick the biggest number
⇄ - Pop and sort the list
⇅ - Pop, sort and reverse the list
◯ - Pop and find index of PS in LS
▰ - Pop and map LS with command APS in PS chunks
ʘ - Remove duplicates from a list
⩒ - Shuffles a list
ʊ - Return a zip from a list
ɸ - Return the combinations from two lists
⁇ - Remove the first recurser
∏ - Match a Regex to String
∩ - Test a Regex in a String
∧ - Search a Regex in a String
« - Reverse the LS
‡ - Push the lenght of stack
· - Push the length of LS
⑴ - Lowercase LS
⑵ - Uppercase LS
⑶ - Head of LS
⑷ - Tail os LS
∇ - Join all items in LS by
⁽ - like ‹›, but returns a list
⁾ - End ⁽
⊼ - Returns Ceiling
⊻ - Returns Floor
⊹ - Returns Standard Rounding
µ - Repeats PS LS times, if PS is null, run LS forever
⁌ - ; But exclusive for PS
⁍ - ; But exclusive for LS
‸ - ; But exclusive for Both
◂ - One-index range
▸ - Zero-index range
⨝ - Combine the Columns of PS and LS with a function
⩆ - Combine the Combinations of PS and LS with a function
⊠ - Alias for χ∅(function arguments order)
⋀ - Runs a map With APS adding PS to LS each item
⋁ - Runs a map With APS adding PS to LS each item and invert the order of items
‗ - Remove last item from LS and push it
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 | for escaping charters
{Hello, World}¨¬.
,¨¬.
,1β{+[1¨¬.1¬]}{0¨¬.}!
Reverse cat:
,'∅^‹#›'∅/¨¬.
compiler: compiler here