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