@@ -9,7 +9,6 @@ module Elm.Header
9import qualified Data.ByteString as B
9import qualified Data.ByteString as B
11import qualified AST.Source as Src
11import qualified AST.Source as Src
12−import qualified Elm.Compiler.Imports as Imports
13import qualified Elm.Compiler.Module as M
12import qualified Elm.Compiler.Module as M
14import qualified Elm.Name as N
13import qualified Elm.Name as N
15import qualified Elm.Package as Pkg
14import qualified Elm.Package as Pkg
@@ -31,45 +30,27 @@ data Tag = Normal | Effect | Port
33parse :: Pkg.Name -> B.ByteString -> Either Error.Error (Maybe (Tag, M.Raw), [M.Raw])
32parse :: Pkg.Name -> B.ByteString -> Either Error.Error (Maybe (Tag, M.Raw), [M.Raw])
34−parse pkg sourceCode =
33+parse pkgName sourceCode =
36+ Module.module_ pkgName (return ())
35− case Parser.run chompHeader sourceCode of
38+ case Parser.run headerParser sourceCode of
36 Right (Src.Module header imports _) ->
39 Right (Src.Module header imports _) ->
38 ( fmap simplifyHeader header
41 ( fmap simplifyHeader header
39− , toDeps pkg imports
42+ , map getName imports
42 Left err ->
45 Left err ->
43 Left (Error.Syntax err)
46 Left (Error.Syntax err)
46−chompHeader :: Parser.Parser (Src.Module ())
48− Module.module_ $ return ()
55−toDeps :: Pkg.Name -> [Src.Import] -> [N.Name]
58− then map getName imports
59− else map getName imports ++ defaultImports
62getName :: Src.Import -> N.Name
49getName :: Src.Import -> N.Name
63getName (Src.Import (A.At _ name) _ _) =
50getName (Src.Import (A.At _ name) _ _) =
67−{-# NOINLINE defaultImports #-}
68−defaultImports :: [N.Name]
70− map Imports._name Imports.defaults
74-- TO HEADER
55-- TO HEADER