Mercurial > urweb
diff src/cjr_env.sml @ 109:813e5a52063d
Remove closure conversion in favor of zany fun with modules, which also replaces 'page'
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Sun, 13 Jul 2008 10:17:06 -0400 |
parents | 717b6f8d8505 |
children | 91027db5a07c |
line wrap: on
line diff
--- a/src/cjr_env.sml Thu Jul 10 16:05:14 2008 -0400 +++ b/src/cjr_env.sml Sun Jul 13 10:17:06 2008 -0400 @@ -44,7 +44,6 @@ relE : (string * typ) list, namedE : (string * typ) IM.map, - F : (string * typ * typ) IM.map, structs : (string * typ) list IM.map } @@ -55,7 +54,6 @@ relE = [], namedE = IM.empty, - F = IM.empty, structs = IM.empty } @@ -66,7 +64,6 @@ relE = #relE env, namedE = #namedE env, - F = #F env, structs = #structs env} fun lookupTNamed (env : env) n = @@ -81,7 +78,6 @@ relE = (x, t) :: #relE env, namedE = #namedE env, - F = #F env, structs = #structs env} fun lookupERel (env : env) n = @@ -99,7 +95,6 @@ relE = #relE env, namedE = IM.insert (#namedE env, n, (x, t)), - F = #F env, structs = #structs env} fun lookupENamed (env : env) n = @@ -107,21 +102,6 @@ NONE => raise UnboundNamed n | SOME x => x -fun pushF (env : env) n x dom ran = - {namedT = #namedT env, - - numRelE = #numRelE env, - relE = #relE env, - namedE = #namedE env, - - F = IM.insert (#F env, n, (x, dom, ran)), - structs = #structs env} - -fun lookupF (env : env) n = - case IM.find (#F env, n) of - NONE => raise UnboundF n - | SOME x => x - fun pushStruct (env : env) n xts = {namedT = #namedT env, @@ -129,7 +109,6 @@ relE = #relE env, namedE = #namedE env, - F = #F env, structs = IM.insert (#structs env, n, xts)} fun lookupStruct (env : env) n = @@ -137,10 +116,10 @@ NONE => raise UnboundStruct n | SOME x => x -fun declBinds env (d, _) = +fun declBinds env (d, loc) = case d of DVal (x, n, t, _) => pushENamed env x n t - | DFun (n, x, dom, ran, _) => pushF env n x dom ran + | DFun (fx, n, _, dom, ran, _) => pushENamed env fx n (TFun (dom, ran), loc) | DStruct (n, xts) => pushStruct env n xts end