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

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

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

revision 336, Thu Jun 17 09:23:20 1999 UTC revision 340, Fri Jun 18 05:32:46 1999 UTC
# Line 140  Line 140 
140                     islib = false,                     islib = false,
141                     required = StringSet.empty,                     required = StringSet.empty,
142                     grouppath = path,                     grouppath = path,
143                     subgroups = [],                     sublibs = [],
144                     stableinfo = GG.NONSTABLE StringSet.empty }                     stableinfo = GG.NONSTABLE StringSet.empty }
145    
146        fun sgl2sll subgroups = let
147            fun sameSL (_, GG.GROUP g) (_, GG.GROUP g') =
148                AbsPath.compare (#grouppath g, #grouppath g') = EQUAL
149            fun add (x, l) =
150                if List.exists (sameSL x) l then l else x :: l
151            fun oneSG (x as (_, GG.GROUP { islib = true, ... }), l) = add (x, l)
152              | oneSG ((_, GG.GROUP { sublibs, ... }), l) = foldl add l sublibs
153        in
154            foldl oneSG [] subgroups
155        end
156    
157      fun group (g, p, e, m, error, gp) = let      fun group (g, p, e, m, error, gp) = let
158          val mc = applyTo MemberCollection.empty m          val mc = applyTo MemberCollection.empty m
# Line 154  Line 164 
164          GG.GROUP { exports = exports, islib = false,          GG.GROUP { exports = exports, islib = false,
165                     required = StringSet.union (StringSet.union (rp, rp'), gr),                     required = StringSet.union (StringSet.union (rp, rp'), gr),
166                     grouppath = g,                     grouppath = g,
167                     subgroups = subgroups,                     sublibs = sgl2sll subgroups,
168                     stableinfo = GG.NONSTABLE gr }                     stableinfo = GG.NONSTABLE gr }
169      end      end
170    
# Line 168  Line 178 
178          GG.GROUP { exports = exports, islib = true,          GG.GROUP { exports = exports, islib = true,
179                     required = StringSet.union (StringSet.union (rp, rp'), gr),                     required = StringSet.union (StringSet.union (rp, rp'), gr),
180                     grouppath = g,                     grouppath = g,
181                     subgroups = subgroups,                     sublibs = sgl2sll subgroups,
182                     stableinfo = GG.NONSTABLE gr }                     stableinfo = GG.NONSTABLE gr }
183      end      end
184    

Legend:
Removed from v.336  
changed lines
  Added in v.340

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