8. / 8.15 / .8float
"13" / "a"string
[1 2 abc ["foo bar"]]array
Regular expression (matching)
Regular expression (replacing)
while ($condition) { $block }
if ($condition) { $ifBlock } else { $elseBlock }
for (1..$iterator) { $block }
foreach ($iterator) { $block } if $iterator is an array
function $name ($arity) { $block }
Arity means number of parameters it takes from the stack
Providing ⪑-function with an array as a parameter will apply the function to all elements of that array
Only works for arity 1 and 2
Test case
Include file $filename
Default variableDescription
" "
Assign2$a = $b
PrintFunc1Prints $a
PrintNewLine1Prints $a and a new line
Pop1Pops one element from the stack
Ternary3$a ? $b : $c
All the expressions get executed. If you don't want that, use ¿:?
Value1Returns the value of $a
ArrayToVars1Iterates over $a (or I if stack is empty) and sets its values as variables a, b, c, ... consecutively
Sleep1Sleeps $a seconds
Math\Plus2$a + $b
Math\Minus2$a - $b
Math\Times2$a * $b
Or, if one argument is a string and the other is numeric, repeats the string given number of times
Math\Modulo2$a % $b
Math\Power2$a to the power of $b
Math\Sqrt1Square root of $a
Math\Log2Logarithm of a $a with respect to base $b
Math\Add2$a += $b
Math\Abs1Absolute value of $a
Math\Floor1Round $a down
Math\Ceil1Round $a up
Math\Round1Round $a
Math\Factorial1$a factorial
Math\IsNumeric1Is $a numeric?
Math\Random2Generates a random integer between $a and $b
Math\Base3Converts $a in base $b to base $c
Math\LimitRange3If $a is outside of range ($b, $c), it gets moved to its boundaries
Math\Hypotenuse2Hypotenuse of triangle with altitudes $a and $b
Math\DegToRad1Convert $a degrees to radians
Math\RadToDeg1Convert $a radians to degrees
Math\Trig2Calculates $a trigonometrical function of value $b
Compare\Equals2$a == $b
Compare\NotEquals2$a != $b
Compare\Greater2$a > $b
Compare\GreaterEqual2$a >= $b
Compare\Less2$a < $b
Compare\LessEqual2$a <= $b
Logic\LogicalOr2$a or $b
Logic\LogicalAnd2$a and $b
Logic\LogicalXor2$a xor $b
Logic\LogicalNot1Not $a
StringArray\Length1Length of string or size of array
StringArray\PushTop2Put $b at the end of array $a
StringArray\PushBottom2Put $b at the beginning of array $a
StringArray\Sum1Sum of array's elements
StringArray\Product1Product of array's elements
StringArray\Explode2Splits array $a with divider $b
StringArray\Implode2Joins array $a using string $b as a glue
StringArray\StringToArray1Splits array $a letter by letter
StringArray\ArrayToString1Joins array $a using string "" as a glue
StringArray\CharToAscii1Returns ASCII value of a character $a
StringArray\AsciiToChar1Returns character coresponding to given ASCII value
StringArray\Range2Generate a range of integers between $a and $b
StringArray\RangeOne1Generate a range of integers between 1 and $a
StringArray\RangeZero1Generate a range of integers between 0 and $a
StringArray\Reverse1Reverses an array
StringArray\FindIndex2$a[$b] or null
StringArray\FindSubrange3Subarray of $a starting with $b (negative $b means counting from the end) of length $c
StringArray\Min1Minimum of array's elements
StringArray\Max1Maximum of array's elements
StringArray\InArray2Checks if $a is an element of array $b
StringArray\FindPosition2Finds the position of the first occurance of $a in string/array $b (or -1 if not found)
StringArray\AlmostEqual2Checks if string $a matches regex $b (commutative)
Sets the R variable to found matches
StringArray\NotAlmostEqual2Checks if string $a does not match regex $b (commutative)
Sets the R variable to found matches
StringArray\Transform2Transforms string $a according to regex $b (commutative)