From: Adam Chlipala Date: Sun, 24 Feb 2008 18:33:13 +0000 (+0000) Subject: Remove pesky infinite loop X-Git-Tag: release_2010-11-19~54 X-Git-Url: https://git.hcoop.net/hcoop/domtool2.git/commitdiff_plain/e796bbff6e92d00cafc7ce7c25d9586952a88171 Remove pesky infinite loop --- diff --git a/src/order.sml b/src/order.sml index 14bd01e..b58c9f7 100644 --- a/src/order.sml +++ b/src/order.sml @@ -300,24 +300,24 @@ fun order basisOpt fnames = order basisOpt (List.filter (fn fname => not (SS.member (!naughtyFiles, fname))) fnames) end -fun order basisOpt fnames = - let - val (providers, fnames) = order basisOpt fnames - - val (hasLib, fnames) = foldl (fn (fname, (hasLib, fnames)) => - if OS.Path.file fname = "lib.dtl" then - (SOME fname, fnames) - else - (hasLib, fname :: fnames)) - (NONE, []) fnames - - val fnames = rev fnames - val fnames = case hasLib of - NONE => fnames - | SOME hasLib => hasLib :: fnames - in - (providers, fnames) - end +val order = fn basisOpt => fn fnames => + let + val (providers, fnames) = order basisOpt fnames + + val (hasLib, fnames) = foldl (fn (fname, (hasLib, fnames)) => + if OS.Path.file fname = "lib.dtl" then + (SOME fname, fnames) + else + (hasLib, fname :: fnames)) + (NONE, []) fnames + + val fnames = rev fnames + val fnames = case hasLib of + NONE => fnames + | SOME hasLib => hasLib :: fnames + in + (providers, fnames) + end type providers = {provideC : string SM.map, provideT : string SM.map,