@@ -57,6 +57,7 @@ import Data.Binary
5757import qualified Data.ByteString as B
5858import qualified Data.List as List
5959import qualified Data.Map as Map
60+import Data.Name (Name)
6061import Data.Text (Text)
6162import Data.Utf8 (Utf8)
6263
@@ -64,7 +65,6 @@ import qualified AST.Utils.Binop as Binop
6465import qualified AST.Module.Name as ModuleName
6566import qualified AST.Utils.Shader as Shader
6667import qualified Data.Index as Index
67−import qualified Elm.Name as N
6868import qualified Reporting.Annotation as A
6969import qualified Reporting.Region as R
7070
@@ -79,20 +79,20 @@ type Expr =
7979
8080-- CACHE Annotations for type inference
8181data Expr_
82− = VarLocal N.Name
83− | VarTopLevel ModuleName.Canonical N.Name
84− | VarKernel N.Name N.Name
85− | VarForeign ModuleName.Canonical N.Name Annotation
86− | VarCtor CtorOpts ModuleName.Canonical N.Name Index.ZeroBased Annotation
87− | VarDebug ModuleName.Canonical N.Name Annotation
88− | VarOperator N.Name ModuleName.Canonical N.Name Annotation -- CACHE real name for optimization
82+ = VarLocal Name
83+ | VarTopLevel ModuleName.Canonical Name
84+ | VarKernel Name Name
85+ | VarForeign ModuleName.Canonical Name Annotation
86+ | VarCtor CtorOpts ModuleName.Canonical Name Index.ZeroBased Annotation
87+ | VarDebug ModuleName.Canonical Name Annotation
88+ | VarOperator Name ModuleName.Canonical Name Annotation -- CACHE real name for optimization
8989 | Chr Utf8
9090 | Str Utf8
9191 | Int Int
9292 | Float Double
9393 | List [Expr]
9494 | Negate Expr
95− | Binop N.Name ModuleName.Canonical N.Name Annotation Expr Expr -- CACHE real name for optimization
95+ | Binop Name ModuleName.Canonical Name Annotation Expr Expr -- CACHE real name for optimization
9696 | Lambda [Pattern] Expr
9797 | Call Expr [Expr]
9898 | If [(Expr, Expr)] Expr
@@ -100,10 +100,10 @@ data Expr_
100100 | LetRec [Def] Expr
101101 | LetDestruct Pattern Expr Expr
102102 | Case Expr [CaseBranch]
103− | Accessor N.Name
104− | Access Expr (A.Located N.Name)
105− | Update N.Name Expr (Map.Map N.Name FieldUpdate)
106− | Record (Map.Map N.Name Expr)
103+ | Accessor Name
104+ | Access Expr (A.Located Name)
105+ | Update Name Expr (Map.Map Name FieldUpdate)
106+ | Record (Map.Map Name Expr)
107107 | Unit
108108 | Tuple Expr Expr (Maybe Expr)
109109 | Shader Text Text Shader.Shader
@@ -122,8 +122,8 @@ data FieldUpdate =
122122
123123
124124data Def
125− = Def (A.Located N.Name) [Pattern] Expr
126− | TypedDef (A.Located N.Name) FreeVars [(Pattern, Type)] Expr Type
125+ = Def (A.Located Name) [Pattern] Expr
126+ | TypedDef (A.Located Name) FreeVars [(Pattern, Type)] Expr Type
127127
128128
129129
@@ -146,9 +146,9 @@ type Pattern =
146146
147147data Pattern_
148148 = PAnything
149− | PVar N.Name
150− | PRecord [N.Name]
151− | PAlias Pattern N.Name
149+ | PVar Name
150+ | PRecord [Name]
151+ | PAlias Pattern Name
152152 | PUnit
153153 | PTuple Pattern Pattern (Maybe Pattern)
154154 | PList [Pattern]
@@ -159,9 +159,9 @@ data Pattern_
159159 | PInt Int
160160 | PCtor
161161 { _p_home :: ModuleName.Canonical
162− , _p_type :: N.Name
162+ , _p_type :: Name
163163 , _p_union :: Union
164− , _p_name :: N.Name
164+ , _p_name :: Name
165165 , _p_index :: Index.ZeroBased
166166 , _p_args :: [PatternCtorArg]
167167 }
@@ -186,17 +186,17 @@ data PatternCtorArg =
186186data Annotation = Forall FreeVars Type
187187
188188
189−type FreeVars = Map.Map N.Name ()
189+type FreeVars = Map.Map Name ()
190190
191191
192192data Type
193193 = TLambda Type Type
194− | TVar N.Name
195− | TType ModuleName.Canonical N.Name [Type]
196− | TRecord (Map.Map N.Name FieldType) (Maybe N.Name)
194+ | TVar Name
195+ | TType ModuleName.Canonical Name [Type]
196+ | TRecord (Map.Map Name FieldType) (Maybe Name)
197197 | TUnit
198198 | TTuple Type Type (Maybe Type)
199− | TAlias ModuleName.Canonical N.Name [(N.Name, Type)] AliasType
199+ | TAlias ModuleName.Canonical Name [(Name, Type)] AliasType
200200
201201
202202data AliasType
@@ -212,7 +212,7 @@ data FieldType =
212212-- for every canonical type. For example, if the canonical type is inferred
213213-- the orders will all be zeros.
214214--
215−fieldsToList :: Map.Map N.Name FieldType -> [(N.Name, Type)]
215+fieldsToList :: Map.Map Name FieldType -> [(Name, Type)]
216216fieldsToList fields =
217217 let
218218 getIndex (_, FieldType index _) =
@@ -234,20 +234,20 @@ data Module =
234234 , _docs :: Docs
235235 , _exports :: Exports
236236 , _decls :: Decls
237− , _unions :: Map.Map N.Name Union
238− , _aliases :: Map.Map N.Name Alias
239− , _binops :: Map.Map N.Name Binop
237+ , _unions :: Map.Map Name Union
238+ , _aliases :: Map.Map Name Alias
239+ , _binops :: Map.Map Name Binop
240240 , _effects :: Effects
241241 }
242242
243243
244−data Alias = Alias [N.Name] Type
245−data Binop = Binop_ Binop.Associativity Binop.Precedence N.Name
244+data Alias = Alias [Name] Type
245+data Binop = Binop_ Binop.Associativity Binop.Precedence Name
246246
247247
248248data Union =
249249 Union
250− { _u_vars :: [N.Name]
250+ { _u_vars :: [Name]
251251 , _u_alts :: [Ctor]
252252 , _u_numAlts :: Int -- CACHE numAlts for exhaustiveness checking
253253 , _u_opts :: CtorOpts -- CACHE which optimizations are available
@@ -262,7 +262,7 @@ data CtorOpts
262262
263263
264264data Ctor =
265− Ctor N.Name Index.ZeroBased Int [Type] -- CACHE length args
265+ Ctor Name Index.ZeroBased Int [Type] -- CACHE length args
266266
267267
268268
@@ -274,7 +274,7 @@ data Docs
274274 | YesDocs
275275 { _region :: R.Region
276276 , _overview :: B.ByteString
277− , _comments :: Map.Map N.Name Text
277+ , _comments :: Map.Map Name Text
278278 }
279279
280280
@@ -284,7 +284,7 @@ data Docs
284284
285285data Exports
286286 = ExportEverything R.Region
287− | Export (Map.Map N.Name (A.Located Export))
287+ | Export (Map.Map Name (A.Located Export))
288288
289289
290290data Export
@@ -302,7 +302,7 @@ data Export
302302
303303data Effects
304304 = NoEffects
305− | Ports (Map.Map N.Name Port)
305+ | Ports (Map.Map Name Port)
306306 | Manager R.Region R.Region R.Region Manager
307307
308308
@@ -312,9 +312,9 @@ data Port
312312
313313
314314data Manager
315− = Cmd N.Name
316− | Sub N.Name
317− | Fx N.Name N.Name
315+ = Cmd Name
316+ | Sub Name
317+ | Fx Name Name
318318
319319
320320