comparison src/reduce_local.sml @ 954:2a50da66ffd8

Basic tail recursion introduction seems to be working
author Adam Chlipala <adamc@hcoop.net>
date Thu, 17 Sep 2009 16:35:11 -0400
parents ed06e25c70ef
children dfe34fad749d
comparison
equal deleted inserted replaced
953:301530da2062 954:2a50da66ffd8
138 | EClosure (n, es) => (EClosure (n, map (exp env) es), loc) 138 | EClosure (n, es) => (EClosure (n, map (exp env) es), loc)
139 139
140 | ELet (x, t, e1, e2) => (ELet (x, t, exp env e1, exp (Unknown :: env) e2), loc) 140 | ELet (x, t, e1, e2) => (ELet (x, t, exp env e1, exp (Unknown :: env) e2), loc)
141 141
142 | EServerCall (n, es, e, t1, t2) => (EServerCall (n, map (exp env) es, exp env e, t1, t2), loc) 142 | EServerCall (n, es, e, t1, t2) => (EServerCall (n, map (exp env) es, exp env e, t1, t2), loc)
143 | ETailCall (n, es, e, t1, t2) => (ETailCall (n, map (exp env) es, exp env e, t1, t2), loc)
143 144
144 fun reduce file = 145 fun reduce file =
145 let 146 let
146 fun doDecl (d as (_, loc)) = 147 fun doDecl (d as (_, loc)) =
147 case #1 d of 148 case #1 d of