builtin
Rex has some builtin functions which aren't supplied by external libraries and are therefore available to all programs.
Miscellaneous operations
exit
& exit -> null
exit = exit()
This halts the current program at its current position using Python's exit subroutine.
out
& out str -> null
out s = print(s)
This prints a string to the screen using Python's print subroutine.
in
& in str -> str
in s = input(s)
This prints a string prompt to the screen and accepts input following it, returning it as a string. It does this using Python's input function.
error
& error str str -> err
error eType message = message
This throws an error message containing the text in the message argument.
Arithmetic operations
+
& + num num -> num
+ x y = x + y
This returns the first argument add the second argument, using Python's + operator.
-
& - num num -> num
- x y = x - y
This returns the first argument minus the second argument, using Python's - operator.
*
& * num num -> num
* x y = x * y
This returns the first argument multiplied by the second argument, using Python's * operator.
/
& / num num -> num
/ x y = x / y
This returns the first argument divided by the second argument, using Python's / operator. If division by zero is attempted, a zeroDivisionErr is thrown.
%
& % num num -> num
% x y = x % y
This returns the first argument modulo the second argument (the remainder when the first argument is divided by the first argument), using Python's % operator.
Comparators
==
& == num num -> bool
== x y = x == y
This returns True if the first argument is equal to the second argument and False otherwise, using Python's == operator.
!=
& != num num -> bool
!= x y = x != y
This returns True if the first argument is not equal to the second argument and False otherwise, using Python's != operator.
<
& < num num -> bool
< x y = x < y
This returns True if the first argument is less than the second argument and False otherwise, using Python's < operator.
>
& > num num -> bool
> x y = x > y
This returns True if the first argument is greater than the second argument and False otherwise, using Python's > operator.
<=
& <= num num -> bool
<= x y = x <= y
This returns True if the first argument is less than or equal to the second argument and False otherwise, using Python's <= operator.
>=
& >= num num -> bool
>= x y = x >= y
This returns True if the first argument is greater than or equal to the second argument and False otherwise, using Python's >= operator.
Boolean operations
&&
& && bool bool -> bool
&& x y = x and y
This performs a Boolean AND operation on two Boolean values using Python's and operator.
||
& || bool bool -> bool
|| x y = x or y
This performs a Boolean OR operation on two Boolean values using Python's or operator.
!
!
& ! bool -> bool
! x = not x
This negates a Boolean value (i.e. ! True == False and ! False == True) using Python's not operator.
String operations
.
& . str str -> str
. s1 s2 = s1 + s2
This concatenates two strings to produce one string, using Python's concatenation operator.