main program
[fp.git] / main.icl
diff --git a/main.icl b/main.icl
new file mode 100644 (file)
index 0000000..edf5b3a
--- /dev/null
+++ b/main.icl
@@ -0,0 +1,23 @@
+module main
+
+import StdEnv
+import System.CommandLine
+import Data.Func
+
+import ast
+import parse
+import infer
+
+readFile :: *File -> ([Char], *File)
+readFile f
+# (ok, c, f) = freadc f
+| not ok = ([], f)
+# (rest, f) = readFile f
+= ([c:rest], f)
+
+Start w
+# (io, w) = stdio w
+# ([argv0:argv], w) = getCommandLine w
+# (chars, io) = readFile io
+= parse zero
+       $ lex chars