Value Expression

Syntax

valExpr

letValExpr | iteValExpr | valExpr? operator valExpr | valExpr “::” typeName | constName | varName | funcName “(” neValExprList? “)” | constructorName (“(” neValExprList “)”)? | Integer | String | “REGEX” “(” RegexVal “)” | “(” valExpr “)” | “ERROR” String

operator

todo

neValExprList

valExpr (“,” valExpr)*

typeName

CapsId

constName

SmallId

varName

SmallId

funcName

SmallId

Semantics

Reference to Function.

The reference points to either a predefined function name,
a function name implicitly defined by a type definition,
or the function name of a user defined function.

Include types?