Every piece of code in Lumen is an expression, and expressions can be evaluated to give values. Lumen has a few kinds of expressions that evaluate to themselves:


Strings are enclosed in quotation marks, and may contain newlines. Special characters are escaped using a backslash:


nil represents nothingness, and it isn't printed back at the command line:


Comments start with ; and continue through the rest of the line:


Lists contain other values, and are written by enclosing expressions in parentheses. Operators are called by placing them at the beginning of a list expression, and list values can be constructed using the list operator.

Note that values identified by name, known as keys, don't show up in any particular order.

Lists can contain values that are identified by their position, as well as values that are identified in the list by a name: