@@ -28,8 +28,10 @@ import qualified Elm.Compiler.Type.Extract as Extract
28import qualified Elm.Package as Package
28import qualified Elm.Package as Package
31-- INTERFACES
32-- INTERFACES
33type Interface = Module.Interface
35type Interface = Module.Interface
@@ -46,8 +48,10 @@ interfaceAliasedTypes interface =
46 Map.map Extract.toAliasedType (Module.iTypes interface)
48 Map.map Extract.toAliasedType (Module.iTypes interface)
51newtype Name = Name ModuleName.Raw
55newtype Name = Name ModuleName.Raw
52 deriving (Eq, Ord)
56 deriving (Eq, Ord)
@@ -65,8 +69,10 @@ defaultImports =
65 map (Name . fst) Imports.defaults
69 map (Name . fst) Imports.defaults
68-- STRING CONVERSIONS for NAMES
73-- STRING CONVERSIONS for NAMES
70nameToPath :: Name -> FilePath
76nameToPath :: Name -> FilePath
71nameToPath (Name names) =
77nameToPath (Name names) =
72 List.foldl1 (</>) names
78 List.foldl1 (</>) names
@@ -111,8 +117,10 @@ fromString sep raw =
111 Char.isAlphaNum char || char `elem` "_'"
117 Char.isAlphaNum char || char `elem` "_'"
114-- JSON for NAME
121-- JSON for NAME
116instance Json.ToJSON Name where
124instance Json.ToJSON Name where
117 toJSON name =
125 toJSON name =
118 Json.toJSON (nameToString name)
126 Json.toJSON (nameToString name)
@@ -128,8 +136,10 @@ instance Json.FromJSON Name where
128 parseJSON _ = mzero
136 parseJSON _ = mzero
131-- BINARY for NAME
140-- BINARY for NAME
133instance Binary Name where
143instance Binary Name where
135 fmap Name get
145 fmap Name get