@@ -13,10 +13,10 @@ import qualified Data.ByteString.Lazy as BS
1313
1414import qualified InterfaceSerialization as IS
1515
16−add :: Module def -> Module def
17−add (Module name exs ims decls) = Module name exs (customIms ++ ims) decls
16+add :: Bool -> Module def -> Module def
17+add noPrelude (Module name exs ims decls) = Module name exs (customIms ++ ims) decls
1818 where
19− customIms = concatMap addModule prelude
19+ customIms = if noPrelude then [] else concatMap addModule prelude
2020
2121 addModule (n, method) = case lookup n ims of
2222 Nothing -> [(n, method)]
@@ -30,8 +30,10 @@ prelude = text ++ map (\n -> (n, Hiding [])) modules
3030 modules = [ "Basics", "Signal", "List", "Maybe", "Time", "Prelude"
3131 , "Graphics.Element", "Color", "Graphics.Collage" ]
3232
33−interfaces :: IO Interfaces
34−interfaces = safeReadDocs =<< Path.getDataFileName "interfaces.data"
33+interfaces :: Bool -> IO Interfaces
34+interfaces noPrelude =
35+ do ifaces <- safeReadDocs =<< Path.getDataFileName "interfaces.data"
36+ return $ if noPrelude then Map.empty else ifaces
3537
3638safeReadDocs :: FilePath -> IO Interfaces
3739safeReadDocs name =