type.bnf 454 Bytes
Newer Older
1
\begin{syntax}
2 3 4 5 6 7
  type ::= lqualid type-arg+ ; polymorphic type symbol
       | type "->" type      ; mapping type (right-associative)
       | type-arg
  \
  type-arg ::= lqualid       ; monomorphic type symbol (sort)
       | qident              ; type variable
8
       | "()"		     ; unit type
9
       | "(" type ("," type)+ ")" ; tuple type
10
       | "{" type "}"        ; snapshot type
Andrei Paskevich's avatar
Andrei Paskevich committed
11
       | qualifier? "(" type ")"  ; type in a scope %
12
\end{syntax}