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 371, Mon Jul 5 14:34:41 1999 UTC revision 380, Fri Jul 9 05:22:18 1999 UTC
# Line 135  Line 135 
135              fun oneB i (sy, ((_, DG.SB_BNODE (DG.BNODE n)), _), m) =              fun oneB i (sy, ((_, DG.SB_BNODE (DG.BNODE n)), _), m) =
136                  StableMap.insert (m, #bininfo n, (i, sy))                  StableMap.insert (m, #bininfo n, (i, sy))
137                | oneB i (_, _, m) = m                | oneB i (_, _, m) = m
138              fun oneSL ((_, g as GG.GROUP { exports, ... }), (m, i)) =              fun oneSL ((g as GG.GROUP { exports, ... }), (m, i)) =
139                  (SymbolMap.foldli (oneB i) m exports, i + 1)                  (SymbolMap.foldli (oneB i) m exports, i + 1)
140              val inverseMap = #1 (foldl oneSL (StableMap.empty, 0) sublibs)              val inverseMap = #1 (foldl oneSL (StableMap.empty, 0) sublibs)
141    
# Line 300  Line 300 
300              fun w_privileges p = w_list w_string (StringSet.listItems p)              fun w_privileges p = w_list w_string (StringSet.listItems p)
301    
302              fun pickle_group () = let              fun pickle_group () = let
303                  fun w_sg (p, _) = w_abspath p                  fun w_sg (GG.GROUP { grouppath, ... }) = w_abspath grouppath
304                  fun k0 m = []                  fun k0 m = []
305                  val m0 = (0, Map.empty)                  val m0 = (0, Map.empty)
306              in              in
# Line 397  Line 397 
397                  if not (recomp gp g) then                  if not (recomp gp g) then
398                      (anyerrors := true; NONE)                      (anyerrors := true; NONE)
399                  else let                  else let
400                      fun notStable (_, GG.GROUP { kind, ... }) =                      fun notStable (GG.GROUP { kind, ... }) =
401                          case kind of GG.STABLELIB _ => false | _ => true                          case kind of GG.STABLELIB _ => false | _ => true
402                  in                  in
403                      case List.filter notStable (#sublibs grec) of                      case List.filter notStable (#sublibs grec) of
# Line 406  Line 406 
406                              val grammar = case l of [_] => " is" | _ => "s are"                              val grammar = case l of [_] => " is" | _ => "s are"
407                              fun ppb pps = let                              fun ppb pps = let
408                                  fun loop [] = ()                                  fun loop [] = ()
409                                    | loop ((p, GG.GROUP { grouppath, ... })                                    | loop (GG.GROUP { grouppath, ... } :: t) =
                                           :: t) =  
410                                      (PP.add_string pps                                      (PP.add_string pps
411                                          (SrcPath.descr grouppath);                                          (SrcPath.descr grouppath);
                                      PP.add_string pps " (";  
                                      PP.add_string pps (SrcPath.descr p);  
                                      PP.add_string pps ")";  
412                                       PP.add_newline pps;                                       PP.add_newline pps;
413                                       loop t)                                       loop t)
414                              in                              in
# Line 617  Line 613 
613                                share = share }                                share = share }
614              end              end
615    
616              fun r_sg () = let              fun r_sg () = getGroup' (r_abspath ())
                 val p = r_abspath ()  
             in  
                 (p, getGroup' p)  
             end  
617    
618              val sublibs = r_list r_sg ()              val sublibs = r_list r_sg ()
619    
# Line 631  Line 623 
623                    | #"b" => let                    | #"b" => let
624                          val n = r_int ()                          val n = r_int ()
625                          val sy = r_symbol ()                          val sy = r_symbol ()
626                          val (_, GG.GROUP { exports = slexp, ... }) =                          val GG.GROUP { exports = slexp, ... } =
627                              List.nth (sublibs, n) handle _ => raise Format                              List.nth (sublibs, n) handle _ => raise Format
628                      in                      in
629                          case SymbolMap.find (slexp, sy) of                          case SymbolMap.find (slexp, sy) of

Legend:
Removed from v.371  
changed lines
  Added in v.380

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