Declarations will look like:
    
    
    type
      Either[T, E] = case
        of Le: T
        of Ri: E
      
      Option[T] = case
        of Some: T
        of None: discard
      
      IfTree = object
        condition, thenPart, elsePart: Tree
      
      ProcTree = object
         fn: Tree
         args: seq[Tree]
      
      Tree = ref case
          of StrValue: string
          of IntValue: int
          of IfStmt: IfTree
          of ProcCall: ProcTree
    
    
    
    Run

What kind of pattern matching will be supported is not clear. However, the 
`let` and `var` annotations have fallen out of favor, instead the mutability 
will simply be derived from the expression that is matched.

Reply via email to