X-Git-Url: https://git.hcoop.net/hcoop/domtool2.git/blobdiff_plain/36e42cb86393a7b9e333ecd7edfbdd16c7d9a1ac..3196000d8e29e14665f43ffd74460b2e6d592250:/src/order.sml?ds=sidebyside diff --git a/src/order.sml b/src/order.sml index 47ee1bc..cf1dee1 100644 --- a/src/order.sml +++ b/src/order.sml @@ -169,19 +169,6 @@ fun mergeProvide kind fname (m1, m2) = fun order fnames = let - fun doFile fname = - let - val file = Parse.parse fname - val (provide, require) = fileSig file - in - print "\nFile "; - print fname; - print "\nPROVIDE:\n"; - printSig provide; - print "\nREQUIRE:\n"; - printSig require - end - fun doFile (fname, (provideC, provideT, provideV, require)) = let val file = Parse.parse fname @@ -271,7 +258,18 @@ fun order fnames = SS.app (fn fname' => (print " "; print fname')) requires; print "\n")) require;*) - loop (ready, waiting, []) + ({provideC = provideC, + provideT = provideT, + provideV = provideV}, + loop (ready, waiting, [])) end +type providers = {provideC : string SM.map, + provideT : string SM.map, + provideV : string SM.map} + +fun providesContext (p : providers, s) = SM.find (#provideC p, s) +fun providesType (p : providers, s) = SM.find (#provideT p, s) +fun providesValue (p : providers, s) = SM.find (#provideV p, s) + end