Version 1 (modified by benl, 5 years ago)

--

Variables and Constructors

Var   ::=   Lower | VarSym       -- plain variable      eg: length, map_, wibble23
Con   ::=   Upper | VarSym       -- plain constructor   eg: Int, Cons, Tuple2

RVar  ::=   %  Var               -- region variable     eg: %r1, %const
ECon  ::=   !  Con               -- effect constructor  eg: !Read, !Write

TyVar ::=   Var                  -- value or higher kinded type variable
       |    % Var                -- region variable
       |    ! Var                -- effect variable
       |    $ Var                -- closure variable

VarSym := Lower | Upper | Digit | _ | '