+ val dir = Posix.FileSys.opendir Config.libRoot
+
+ fun loop files =
+ case Posix.FileSys.readdir dir of
+ NONE => (Posix.FileSys.closedir dir;
+ files)
+ | SOME fname =>
+ if String.isSuffix ".dtl" fname then
+ loop (OS.Path.joinDirFile {dir = Config.libRoot,
+ file = fname}
+ :: files)
+ else
+ loop files
+
+ val files = loop []
+ val files = Order.order files
+ in
+ foldl (fn (fname, G) => check' G fname) Env.empty files
+ end
+
+fun check fname =
+ let
+ val _ = ErrorMsg.reset ()
+
+ val b = basis ()