@@ -1,7 +1,7 @@
1{-# OPTIONS_GHC -Wall #-}
1{-# OPTIONS_GHC -Wall #-}
2module Elm.Compiler
2module Elm.Compiler
4− , parseDependencies
4+ , parseDependencies, Tag(..)
5 , compile, Context(..), Result(..)
5 , compile, Context(..), Result(..)
6 , Localizer, dummyLocalizer
6 , Localizer, dummyLocalizer
7 , Error, errorToString, errorToJson, printError
7 , Error, errorToString, errorToJson, printError
@@ -47,14 +47,30 @@ version =
47-- DEPENDENCIES
47-- DEPENDENCIES
50−parseDependencies :: String -> Either [Error] (PublicModule.Raw, [PublicModule.Raw])
56+parseDependencies :: String -> Either [Error] (Tag, PublicModule.Raw, [PublicModule.Raw])
51parseDependencies sourceCode =
57parseDependencies sourceCode =
53 (Result.Result _ _ answer) =
59 (Result.Result _ _ answer) =
54 Parse.parse sourceCode Parse.header
60 Parse.parse sourceCode Parse.header
56− getDeps (Module.Header _ name _ _ _ imports) =
62+ getDeps (Module.Header sourceTag name _ _ _ imports) =
66+ Module.Normal -> Normal
67+ Module.Port _ -> Port
68+ Module.Effect _ -> Effect
57− ( name, map (fst . A.drop) imports )
72+ , map (fst . A.drop) imports
59 Result.answerToEither (Error . A.map Error.Syntax) getDeps answer
75 Result.answerToEither (Error . A.map Error.Syntax) getDeps answer