Mercurial > urweb
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 |