Semantics
XLR is a dynamic language, originally intended as a back-end for the XL1 compiler, hence the name, which stands for XL runtime. It shares the basic XL0 syntax with XL1, but its behavior is much closer to a functional language, whereas XL1 is intended to look mostly like an imperative language. XLR has practically only one built-in operator, "->", which denotes a rewrite. The notation on the left of the rewrite is transformed into the notation on the right of the rewrite.
This mechanism is used to implement standard notations:
if true then TrueBody else FalseBody -> TrueBody if false then TrueBody else FalseBody -> FalseBodyRead more about this topic: XL (programming Language)