@@ -25,7 +25,7 @@ module Language.PureScript.CodeGen.JS (
2525
2626import Data.Maybe (catMaybes, fromJust, fromMaybe)
2727import Data.Function (on)
28−import Data.List (nub, (\\))
28+import Data.List (nub, (\\), delete)
2929
3030import Control.Monad (replicateM, forM)
3131import Control.Applicative
@@ -43,6 +43,8 @@ import Language.PureScript.Environment
4343import Language.PureScript.Supply
4444import Language.PureScript.Traversals (sndM)
4545
46+import qualified Language.PureScript.Constants as C
47+
4648-- |
4749-- Different types of modules which are supported
4850--
@@ -54,7 +56,7 @@ data ModuleType = CommonJS | Globals
5456--
5557moduleToJs :: (Functor m, Applicative m, Monad m) => ModuleType -> Options -> Module -> Environment -> SupplyT m [JS]
5658moduleToJs mt opts (Module name decls (Just exps)) env = do
57− let jsImports = map (importToJs mt opts) . (\\ [name]) . nub $ concatMap imports decls
59+ let jsImports = map (importToJs mt opts) . delete (ModuleName [ProperName C.prim]) . (\\ [name]) . nub $ concatMap imports decls
5860 jsDecls <- mapM (\decl -> declToJs opts name decl env) decls
5961 let optimized = concat $ map (map $ optimize opts) $ catMaybes jsDecls
6062 let isModuleEmpty = null optimized