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; }
public MStElem(string pos, string src_name, Type src_type, MExpr ary, MExpr idx, MExpr val) : base(pos) { TypeName = src_name; Type = src_type; Ary = ary; Idx = idx; Val = val; }
public MTry(string pos, MExpr expr, MExpr handler) : base(pos) { Expr = expr; Handler = handler; }
public MTopDo(string pos, MExpr expr) : base(pos) { Expr = expr; Type = new TypeVar(); }