@@ -30,7 +30,7 @@ import Language.PureScript.ModuleDependencies as P
3030import Language.PureScript.DeadCodeElimination as P
3131
3232import Data.List (intercalate)
33−import Data.Maybe (mapMaybe)
33+import Data.Maybe (mapMaybe, fromMaybe)
3434import Control.Monad (when, forM)
3535import Control.Monad.State.Lazy
3636import Control.Applicative ((<$>), (<|>))
@@ -69,8 +69,10 @@ compile opts ms = do
6969 let exts = intercalate "\n" . map (flip moduleToPs env) $ elim
7070 js' <- case () of
7171 _ | optionsRunMain opts -> do
72− when ((ModuleName (ProperName "Main"), Ident "main") `M.notMember` (names env)) $
73− Left "Main.main is undefined"
74− return $ js ++ [JSApp (JSAccessor "main" (JSAccessor "Main" (JSVar "_ps"))) []]
72+ when ((ModuleName (ProperName mainModuleName), Ident "main") `M.notMember` (names env)) $
73+ Left $ mainModuleName ++ ".main is undefined"
74+ return $ js ++ [JSApp (JSAccessor "main" (JSAccessor mainModuleName (JSVar "_ps"))) []]
7575 | otherwise -> return js
7676 return (prettyPrintJS [(wrapExportsContainer opts js')], exts, env)
77+ where
78+ mainModuleName = fromMaybe "Main" (optionsEntryPoint opts)