Catch the right Io exception
[bpt/mlt.git] / src / main.sml
CommitLineData
c0a3b488
AC
1(*
2 * Dynamic web page generation with Standard ML
3 * Copyright (C) 2003 Adam Chlipala
4 *
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
9 *
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the Free Software
17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 *)
19
20(* Command-line interface *)
21
22structure Main =
23struct
24 fun main (_, args) =
25 (case args of
26 [] => Compiler.compileDirectory (Config.read "mlt.conf" (Config.default ()))
27 (*| [path] => (Compiler.compileDirectory {inPath = path, outPath = path};
28 OS.Process.success)
29 | [inPath, outPath] => (Compiler.compileDirectory {inPath = inPath, outPath = outPath};
30 OS.Process.success)*)
31 | _ => (print "Too many arguments.\n";
32 OS.Process.failure))
33 handle Fail msg => (print "FATAL ERROR: ";
34 print msg;
35 print "\n";
36 OS.Process.failure)
e1968c00 37 | IO.Io {name, function, ...} => (print ("FATAL ERROR: Io: " ^ name ^ ": " ^ function ^ "\n");
dc3b1a7f 38 OS.Process.failure)
c0a3b488 39end