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 369, Sun Jul 4 12:55:20 1999 UTC revision 370, Mon Jul 5 08:59:13 1999 UTC
# Line 278  Line 278 
278                      "b" :: w_int n (w_symbol sy k) m                      "b" :: w_int n (w_symbol sy k) m
279                  end                  end
280    
281              fun w_sn_raw (DG.SNODE n) k =              fun w_bool true k m = "t" :: k m
282                  w_si (#smlinfo n)                | w_bool false k m = "f" :: k m
283                       (w_list w_sn (#localimports n)  
284                                    (w_list w_fsbn (#globalimports n) k))              fun w_sn_raw (DG.SNODE n) k = let
285                    val i = #smlinfo n
286                    val li = #localimports n
287                    val gi = #globalimports n
288                in
289                    Say.say ["+++ w_sn_raw: ", SmlInfo.descr i, "\n"];
290                    app (fn (DG.SNODE n, ref r) =>
291                          (Say.say ["     ", if r then "+" else "-",
292                                    SmlInfo.descr (#smlinfo n), "\n"])) li;
293                    app (fn ((_, sbn), ref r) =>
294                          (Say.say ["      ", if r then "+" else "-",
295                                    DG.describeSBN sbn, "\n"])) gi;
296                    w_si i (w_list w_sloci li (w_list w_sglobi gi k))
297                end
298    
299                and w_sloci (n, ref r) k m = w_sn n (w_bool r k) m
300                and w_sglobi (n, ref r) k m = w_fsbn n (w_bool r k) m
301    
302              and w_sn n = w_share w_sn_raw PSN n              and w_sn n = w_share w_sn_raw PSN n
303    
# Line 294  Line 310 
310    
311              fun w_exports e = w_list w_impexp (SymbolMap.listItemsi e)              fun w_exports e = w_list w_impexp (SymbolMap.listItemsi e)
312    
             fun w_bool true k m = "t" :: k m  
               | w_bool false k m = "f" :: k m  
   
313              fun w_privileges p = w_list w_string (StringSet.listItems p)              fun w_privileges p = w_list w_string (StringSet.listItems p)
314    
315              fun pickle_group () = let              fun pickle_group () = let
# Line 321  Line 334 
334                      case SmlInfoMap.find (!m, smlinfo) of                      case SmlInfoMap.find (!m, smlinfo) of
335                          SOME n => n                          SOME n => n
336                        | NONE => let                        | NONE => let
337                              val li = map sn (#localimports n)                              val li = map sloci (#localimports n)
338                              val gi = map fsbn (#globalimports n)                              val gi = map sglobi (#globalimports n)
339                              val sourcepath = SmlInfo.sourcepath smlinfo                              val sourcepath = SmlInfo.sourcepath smlinfo
340                              (* FIXME: see the comment near the other                              (* FIXME: see the comment near the other
341                               * occurence of SrcPath.spec... *)                               * occurence of SrcPath.spec... *)
# Line 347  Line 360 
360                              n                              n
361                          end                          end
362    
363                    and sloci (n, ref r) = (sn n, r)
364                    and sglobi (n, ref r) = (fsbn n, r)
365    
366                  and sbn (DG.SB_SNODE n) = sn n                  and sbn (DG.SB_SNODE n) = sn n
367                    | sbn (DG.SB_BNODE n) = n                    | sbn (DG.SB_BNODE n) = n
368    
# Line 642  Line 658 
658    
659              (* this is the place where what used to be an              (* this is the place where what used to be an
660               * SNODE changes to a BNODE! *)               * SNODE changes to a BNODE! *)
661              fun r_sn_raw () = let              fun r_sn_raw () =
662                  val i = r_si ()                  DG.BNODE { bininfo = r_si (),
663              in                             localimports = r_list r_sloci (),
664                  DG.BNODE { bininfo = i,                             globalimports = r_list r_sglobi () }
665                             localimports = r_list r_sn (),  
666                             globalimports = r_list r_fsbn () }              and r_sloci () = (r_sn (), r_bool ())
667              end              and r_sglobi () = (r_fsbn (), r_bool ())
668    
669              and r_sn () =              and r_sn () =
670                  r_share r_sn_raw UBN (fn (UBN n) => n | _ => raise Format) ()                  r_share r_sn_raw UBN (fn (UBN n) => n | _ => raise Format) ()

Legend:
Removed from v.369  
changed lines
  Added in v.370

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