Core

Constants

Missing

This symbol is used when a required expression is not present.

MathJSON Latex
["Divide", 2, "Missing"] \frac{2}{\placeholder{}}

Nothing

This symbol is used when an optional expression is not present.

MathJSON Latex
["List", 2, "Nothing", 3] \lrback 2,,3 \rbrack

None

This symbol is used to indicate that out of multiple possible values, none apply.

All

This symbol is used to indicate that out of multiple possible values, all apply.

Functions

About

About(symbol)

Return information about a symbol such as its domain, its attributes, its value, etc…

Domain

Domain(expression)

Return the domain of the expression.

Evaluate

Evaluate(expression) Evaluate(expr1, expr2)

Apply a sequence of definitions to an expression in order to reduce and simplify it.

An evaluation can consist of:

• a computation
Evaluate(2 + 3)
// ➔ 5

• an execution
Evaluate(Length([5, 7]))
// ➔ 2

• a simplification
Evaluate(2 + x + 3)
// ➔ 5 + x


Identity

Always return its argument.

MathJSON Latex
["Identity", "x"] \operatorname{id}(x)
"Identity" \operatorname{id}

InverseFunction

Return the inverse function of its argument.

MathJSON Latex
["InverseFunction", "Sin"] \sin^{-1}

Lambda

Lambda"(variables:List, expression)

Create a Lambda-function, also called anonymous function.

The first argument is a symbol or a list of symbols which are the bound variables (parameters) of the Lambda-function.

The second argument is an expression expressed as a function of the bound variables of the Lambda-function.

To apply a Lambda-function to some arguments, use:

Lambda([x], x * x)(3)
// ➔ 9


You can avoid naming the parameters by using the following shorthands:

• _ or _0 : the first argument
• _1 : the second argument
• _2 : the third argument, etc…
• __: the sequence of arguments, so Length(__) is the number of arguments
Lambda(_ * _)(4)
// ➔ 16


You can assign a Lambda expression to a symbol for later use:

cube = Lambda(_ * _ * _)
cube(5)
// ➔ 125


Latex

["Latex", expr-1, expr-2, ...expr-n]

• expr-n: one or more expressions
• Returns a string, a Latex string corresponding to the input expressions.
["Latex", ["Divide", "Pi", 2]]
// ➔ "'\frac{\pi}{2}'"


If the argument is a string, it is interpreted as a Latex token or fragment:

• <{>: begin group
• <}>: end group
• <space>: blank space