You can separate expressions with a semicolon, either on the same line or on different lines. JMP then evaluates each expressions in succession, returning the result of the last one. Here is an expression that first sets a to 2 and then sets b to 3:

The semicolon joins the two expressions and returns the value of the last one. So if x = (a = 2; b = 3), the value of x is 3.

The Glue() function returns the result of the last expression. This function is equivalent to using semicolons. The following expressions both return 3:

The First() function also evaluates each argument sequentially but returns the result of the first expression. The following expression returns 2:

What does First() do in the following script?