Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Diff of /sml/trunk/src/cm/compile/compile.sml
ViewVC logotype

Diff of /sml/trunk/src/cm/compile/compile.sml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 692, Thu Jul 27 08:34:53 2000 UTC revision 735, Tue Nov 21 12:15:55 2000 UTC
# Line 122  Line 122 
122                pids = pidset (statpid, sympid) }                pids = pidset (statpid, sympid) }
123          end          end
124    
125          fun exportsNothingBut set se =          fun requiredFiltering set se = let
126              List.all (fn sy => SymbolSet.member (set, sy)) (E.catalogEnv se)              val dom = SymbolSet.addList (SymbolSet.empty, E.catalogEnv se)
127                val filt = SymbolSet.intersection (set, dom)
128            in
129                if SymbolSet.equal (dom, filt) then NONE
130                else SOME filt
131            end
132    
133          fun filter (ii, s) = let          fun filter (ii, s) = let
134              val { statenv, symenv, statpid, sympid } = ii              val { statenv, symenv, statpid, sympid } = ii
135              val ste = statenv ()              val ste = statenv ()
136          in          in
137              if exportsNothingBut s ste then              case requiredFiltering s ste of
138                  { envs = fn () => { stat = ste, sym = symenv () },                  NONE => { envs = fn () => { stat = ste, sym = symenv () },
139                    pids = pidset (statpid, sympid) }                    pids = pidset (statpid, sympid) }
140              else let                | SOME s => let
141                      val ste' = E.filterStaticEnv (ste, SymbolSet.listItems s)                      val ste' = E.filterStaticEnv (ste, SymbolSet.listItems s)
142                      val key = (statpid, s)                      val key = (statpid, s)
143                      val statpid' =                      val statpid' =

Legend:
Removed from v.692  
changed lines
  Added in v.735

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0