UNDERSCORE
Content copied to clipboard
An underscore indicates where a subexpression should be parsed.
If unadorned, an Argument is created, which expects an expression that yields something other than ⊤ or ⊥.
If followed by an EXCLAMATION_MARK (!), an ArgumentForMacroOnly is constructed. This allows expressions that yield ⊤ or ⊥, which are only permitted in macros.
If followed by a SINGLE_DAGGER (†), the expression must not attempt to use any variables in the current scope. The expression will be evaluated at compile time, and wrapped in a literal phrase.
If followed by a UP_ARROW (↑), a variable use phrase must be supplied, which is converted into a reference phrase.