git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Use --entry-point to change --run-main's module
commit7a3a676a3e3eb6fe299472752b66c14331eddd7d authorGary Burgess <gary.burgess@gmail.com> dateSat 15 Feb 2014, 17:56 (13 years ago) parentdc8b726
1 file changed+6−4
src/Language/PureScript.hs+6−4
src/Language/PureScript.hs+6−4
@@ -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)