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/stable/stabilize.sml
ViewVC logotype

Diff of /sml/trunk/src/cm/stable/stabilize.sml

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

revision 460, Wed Nov 3 02:23:44 1999 UTC revision 461, Thu Nov 4 08:06:56 1999 UTC
# Line 180  Line 180 
180                      case n of                      case n of
181                          DG.SB_BNODE (DG.PNODE p, { statenv, ... }) => let                          DG.SB_BNODE (DG.PNODE p, { statenv, ... }) => let
182                              val str = String.str (Primitive.toIdent primconf p)                              val str = String.str (Primitive.toIdent primconf p)
183                              val prims' = StringMap.insert (prims, str, statenv)                              val prims' =
184                                    StringMap.insert (prims, str, #env o statenv)
185                          in                          in
186                              k (prims', bnodes, snodes)                              k (prims', bnodes, snodes)
187                          end                          end
# Line 188  Line 189 
189                              val { statenv, ... } = ii                              val { statenv, ... } = ii
190                              val nsy = valOf (StableMap.find (inverseMap, i))                              val nsy = valOf (StableMap.find (inverseMap, i))
191                              val bnodes' =                              val bnodes' =
192                                  StableMap.insert (bnodes, i, (nsy, statenv))                                  StableMap.insert (bnodes, i,
193                                                      (nsy, #env o statenv))
194                          in                          in
195                              k (prims, bnodes', snodes)                              k (prims, bnodes', snodes)
196                          end                          end
# Line 365  Line 367 
367                          (_, DG.SB_BNODE (_, ii)) => ii                          (_, DG.SB_BNODE (_, ii)) => ii
368                        | (_, DG.SB_SNODE (DG.SNODE { smlinfo, ... })) =>                        | (_, DG.SB_SNODE (DG.SNODE { smlinfo, ... })) =>
369                              getII smlinfo                              getII smlinfo
370                    fun es2bs { env, ctxt } =
371                        { env = GenericVC.CoerceEnv.es2bs env, ctxt = ctxt }
372              in              in
373                  "i" $ symbol s & fsbn n &                  "i" $ symbol s & fsbn n &
374                        lazy_env (GenericVC.CoerceEnv.es2bs o statenv) &                        lazy_env (es2bs o statenv) &
375                        lazy_symenv symenv &                        lazy_symenv symenv &
376                        pid statpid &                        pid statpid &
377                        pid sympid                        pid sympid
# Line 588  Line 592 
592              in              in
593                  case SymbolMap.find (slexp, sy) of                  case SymbolMap.find (slexp, sy) of
594                      SOME ((_, DG.SB_BNODE (_, { statenv = ge, ... })), _) =>                      SOME ((_, DG.SB_BNODE (_, { statenv = ge, ... })), _) =>
595                          SOME (ge ())                          SOME (#env (ge ()))
596                    | _ => NONE                    | _ => NONE
597              end handle _ => NONE              end handle _ => NONE
598    
# Line 711  Line 715 
715                      let val sy = symbol ()                      let val sy = symbol ()
716                          val (f, n) = fsbn () (* really reads farbnodes! *)                          val (f, n) = fsbn () (* really reads farbnodes! *)
717                          val ge = lazy_env ()                          val ge = lazy_env ()
718                          val ge' = GenericVC.CoerceEnv.bs2es o ge                          fun bs2es { env, ctxt } =
719                                { env = GenericVC.CoerceEnv.bs2es env,
720                                 ctxt = ctxt }
721                            val ge' = bs2es o ge
722                          val ii = { statenv = memoize ge',                          val ii = { statenv = memoize ge',
723                                     symenv = lazy_symenv (),                                     symenv = lazy_symenv (),
724                                     statpid = pid (),                                     statpid = pid (),
725                                     sympid = pid () }                                     sympid = pid () }
726                          val e = Statenv2DAEnv.cvtMemo ge                          val e = Statenv2DAEnv.cvtMemo (#env o ge)
727                          (* put a filter in front to avoid having the FCTENV                          (* put a filter in front to avoid having the FCTENV
728                           * being queried needlessly (this avoids spurious                           * being queried needlessly (this avoids spurious
729                           * module loadings) *)                           * module loadings) *)

Legend:
Removed from v.460  
changed lines
  Added in v.461

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