@@ -12,6 +12,7 @@ module Type.Error
13import qualified Data.Map as Map
13import qualified Data.Map as Map
14import qualified Data.Maybe as Maybe
14import qualified Data.Maybe as Maybe
15+import Data.Monoid ((<>))
16import qualified AST.Module.Name as ModuleName
17import qualified AST.Module.Name as ModuleName
17import qualified Elm.Name as N
18import qualified Elm.Name as N
@@ -58,7 +59,17 @@ iteratedDealias tipe =
61−type Localizer = Map.Map (ModuleName.Canonical, N.Name) (Maybe N.Name)
62+type Localizer = Map.Map (ModuleName.Canonical, N.Name) String
65+nameToDoc :: Localizer -> ModuleName.Canonical -> N.Name -> H.Doc
66+nameToDoc localizer home@(ModuleName.Canonical _ moduleName) name =
67+ case Map.lookup (home, name) localizer of
69+ H.nameToDoc moduleName <> "." <> H.nameToDoc name
64toDoc :: Localizer -> RT.Context -> Type -> H.Doc
75toDoc :: Localizer -> RT.Context -> Type -> H.Doc
@@ -90,7 +101,7 @@ toDoc localizer context tipe =
91 Type home name args ->
102 Type home name args ->
92 RT.apply context
103 RT.apply context
93− (toLocal localizer home name)
104+ (nameToDoc localizer home name)
94 (map (toDoc localizer RT.App) args)
105 (map (toDoc localizer RT.App) args)
96 Record fields ext ->
107 Record fields ext ->
@@ -119,15 +130,10 @@ toDoc localizer context tipe =
120 Alias home name args _ ->
131 Alias home name args _ ->
121 RT.apply context
132 RT.apply context
122− (toLocal localizer home name)
133+ (nameToDoc localizer home name)
123 (map (toDoc localizer RT.App . snd) args)
134 (map (toDoc localizer RT.App . snd) args)
126−toLocal :: Localizer -> ModuleName.Canonical -> N.Name -> H.Doc
127−toLocal localizer home name =
128− error "TODO toLocal" localizer home name