comparison src/reduce_local.sml @ 642:4a125bbc602d

Conversion of functions to CPS, to facilitate ServerCall
author Adam Chlipala <adamc@hcoop.net>
date Sun, 08 Mar 2009 20:34:21 -0400
parents 230654093b51
children f152f215a02c
comparison
equal deleted inserted replaced
641:b98f547a6a45 642:4a125bbc602d
49 EPrim _ => all 49 EPrim _ => all
50 | ERel n => 50 | ERel n =>
51 let 51 let
52 fun find (n', env, nudge, lift) = 52 fun find (n', env, nudge, lift) =
53 case env of 53 case env of
54 [] => raise Fail "ReduceLocal.exp: ERel" 54 [] => (ERel (n + nudge), loc)
55 | Lift lift' :: rest => find (n', rest, nudge + lift', lift + lift') 55 | Lift lift' :: rest => find (n', rest, nudge + lift', lift + lift')
56 | Unknown :: rest => 56 | Unknown :: rest =>
57 if n' = 0 then 57 if n' = 0 then
58 (ERel (n + nudge), loc) 58 (ERel (n + nudge), loc)
59 else 59 else
154 | DCookie _ => d 154 | DCookie _ => d
155 in 155 in
156 map doDecl file 156 map doDecl file
157 end 157 end
158 158
159 val reduceExp = exp []
160
159 end 161 end