- | LET exp IN exp END (let
- val ls = case (#1 exp1, #1 exp2) of
- (ESeq ls1, ESeq ls2) => ls1 @ ls2
- | (ESeq ls, _) => ls @ [exp2]
- | (_, ESeq ls) => exp1 :: ls
- | _ => [exp1, exp2]
- in
- (ELocal (ESeq ls, (exp1left, exp2right)),
- (exp1left, exp2right))
- end)
+ | LET exp IN exp END (ELocal (ESeq [exp1, exp2], (LETleft, ENDright)),
+ (LETleft, ENDright))