module main import StdFile import StdBool import lex import parse Start :: *World -> (ParserOutput, *World) Start w # (out, w) = stdio w # (toparse, out) = readEntireFile out # (_, w) = fclose out w = (parse (lexer toparse), w) readEntireFile :: *File -> *([Char], *File) readEntireFile f # (b, c, f) = freadc f | not b = ([], f) # (cs, f) = readEntireFile f = ([c:cs], f)