git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Parse psc options that can have module names with dots
commit17d4ff39956b78131d5317bb5c00894642c19c77 authorGary Burgess <gary.burgess@gmail.com> dateMon 17 Feb 2014, 22:16 (13 years ago) parent34f0cd8
1 file changed+6−2
src/Language/PureScript.hs+6−2
src/Language/PureScript.hs+6−2
@@ -63,7 +63,7 @@ compile opts ms = do
6363 modify (\s -> s { checkCurrentModule = Just moduleName })
6464 Module moduleName <$> typeCheckAll mainModuleIdent moduleName decls
6565 regrouped <- createBindingGroupsModule . collapseBindingGroupsModule $ elaborated
66− let entryPoints = (ModuleName . return . ProperName) `map` optionsModules opts
66+ let entryPoints = (ModuleName . splitProperNames) `map` optionsModules opts
6767 let elim = if null entryPoints then regrouped else eliminateDeadCode env entryPoints regrouped
6868 let js = mapMaybe (flip (moduleToJs opts) env) elim
6969 let exts = intercalate "\n" . map (flip moduleToPs env) $ elim
@@ -75,4 +75,8 @@ compile opts ms = do
7575 _ -> return js
7676 return (prettyPrintJS [(wrapExportsContainer opts js')], exts, env)
7777 where
78− mainModuleIdent = (ModuleName . return . ProperName) <$> optionsMain opts
78+ mainModuleIdent = ModuleName . splitProperNames <$> optionsMain opts
79+ splitProperNames s = case dropWhile (== '.') s of
80+ "" -> []
81+ s' -> ProperName w : splitProperNames s''
82+ where (w, s'') = break (== '.') s'