コード例 #1
0
 public PAs(string pos, MPat pat, string name)
     : base(pos)
 {
     Pat  = pat;
     Name = name;
     Type = new TypeVar();
 }
コード例 #2
0
 public POr(string pos, MPat pat1, MPat pat2)
     : base(pos)
 {
     Pat1 = pat1;
     Pat2 = pat2;
     Type = new TypeVar();
 }
コード例 #3
0
 public MLambda(MPat arg_pat, MType arg_type, MExpr body)
     : base("")
 {
     ArgPat  = arg_pat;
     ArgType = arg_type;
     Body    = body;
 }
コード例 #4
0
 public PCons(string pos, MPat head, MPat tail)
     : base(pos)
 {
     Head     = head;
     Tail     = tail;
     ItemType = new TypeVar();
 }
コード例 #5
0
 public MLambda(string pos, MPat arg_pat, MExpr body)
     : base(pos)
 {
     ArgPat  = arg_pat;
     ArgType = new TypeVar();
     Body    = body;
 }
コード例 #6
0
 public MTopLet(string pos, MPat pat, MExpr expr, bool hide_type)
     : base(pos)
 {
     Pat      = pat;
     Expr     = expr;
     Type     = new TypeVar();
     HideType = hide_type;
 }
コード例 #7
0
 public MLet(string pos, MPat pat, MExpr e1, MExpr e2)
     : base(pos)
 {
     Pat    = pat;
     E1     = e1;
     E2     = e2;
     E1Type = new TypeVar();
     E2Type = new TypeVar();
 }
コード例 #8
0
 public MMatch(string pos, MPat pat, MExpr guard, MExpr expr, MExpr then_expr, MExpr else_expr)
     : base(pos)
 {
     Pat      = pat;
     Guard    = guard;
     Expr     = expr;
     ThenExpr = then_expr;
     ElseExpr = else_expr;
 }
コード例 #9
0
 public PFource(string pos, MPat pat, MType type)
     : base(pos)
 {
     Pat  = pat;
     Type = type;
 }