@@ -258,9 +258,9 @@ crawlModule env@(Env _ root pkg srcDirs locals foreigns) mvar name =
258258crawlFile :: Env -> MVar StatusDict -> ModuleName.Raw -> FilePath -> IO Status
259259crawlFile env@(Env _ root pkg _ _ _) mvar expectedName path =
260260 do time <- File.getTime path
261− result <- Parse.fromFile pkg (root </> path)
261+ bytes <- File.readUtf8 (root </> path)
262262
263− case result of
263+ case Parse.fromByteString pkg bytes of
264264 Right modul@(Src.Module maybeActualName _ imports values _ _ _ _) ->
265265 case maybeActualName of
266266 Just actualName ->
@@ -317,8 +317,8 @@ checkModule env@(Env _ root pkg _ _ _) foreigns resultsMVar name status =
317317 depsStatus <- checkDeps root results deps
318318 case depsStatus of
319319 DepsChange ifaces ->
320− do result <- Parse.fromFile pkg path
321− case result of
320+ do bytes <- File.readUtf8 path
321+ case Parse.fromByteString pkg bytes of
322322 Right modul -> compile env local ifaces modul
323323 Left syntaxError ->
324324 return $ RProblem $ Problem.BadSyntax $
@@ -811,8 +811,8 @@ crawlMain env@(Env _ _ pkg _ _ _) mvar given =
811811
812812 LOutside path ->
813813 do time <- File.getTime path
814− result <- Parse.fromFile pkg path
815− case result of
814+ bytes <- File.readUtf8 path
815+ case Parse.fromByteString pkg bytes of
816816 Right modul@(Src.Module _ _ imports values _ _ _ _) ->
817817 do let deps = map Src.getImportName imports
818818 let local = Details.Local path time deps (any isMain values)