git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Use --entry-point to change --run-main's module
7a3a676Gary Burgess
src/Language/PureScript.hs+6−4
@@ -30,7 +30,7 @@ import Language.PureScript.ModuleDependencies as P
30import Language.PureScript.DeadCodeElimination as P
30import Language.PureScript.DeadCodeElimination as P
31
31
32import Data.List (intercalate)
32import Data.List (intercalate)
33−import Data.Maybe (mapMaybe)
33+import Data.Maybe (mapMaybe, fromMaybe)
34import Control.Monad (when, forM)
34import Control.Monad (when, forM)
35import Control.Monad.State.Lazy
35import Control.Monad.State.Lazy
36import Control.Applicative ((<$>), (<|>))
36import Control.Applicative ((<$>), (<|>))
@@ -69,8 +69,10 @@ compile opts ms = do
69 let exts = intercalate "\n" . map (flip moduleToPs env) $ elim
69 let exts = intercalate "\n" . map (flip moduleToPs env) $ elim
70 js' <- case () of
70 js' <- case () of
71 _ | optionsRunMain opts -> do
71 _ | optionsRunMain opts -> do
72− when ((ModuleName (ProperName "Main"), Ident "main") `M.notMember` (names env)) $
72+ when ((ModuleName (ProperName mainModuleName), Ident "main") `M.notMember` (names env)) $
73− Left "Main.main is undefined"
73+ Left $ mainModuleName ++ ".main is undefined"
74− return $ js ++ [JSApp (JSAccessor "main" (JSAccessor "Main" (JSVar "_ps"))) []]
74+ return $ js ++ [JSApp (JSAccessor "main" (JSAccessor mainModuleName (JSVar "_ps"))) []]
75 | otherwise -> return js
75 | otherwise -> return js
76 return (prettyPrintJS [(wrapExportsContainer opts js')], exts, env)
76 return (prettyPrintJS [(wrapExportsContainer opts js')], exts, env)
77+ where
78+ mainModuleName = fromMaybe "Main" (optionsEntryPoint opts)