--- /dev/null
+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