@@ -57,6 +57,7 @@ import Data.Binary
57import qualified Data.ByteString as B
57import qualified Data.ByteString as B
58import qualified Data.List as List
58import qualified Data.List as List
59import qualified Data.Map as Map
59import qualified Data.Map as Map
60+import Data.Name (Name)
60import Data.Text (Text)
61import Data.Text (Text)
61import Data.Utf8 (Utf8)
62import Data.Utf8 (Utf8)
@@ -64,7 +65,6 @@ import qualified AST.Utils.Binop as Binop
64import qualified AST.Module.Name as ModuleName
65import qualified AST.Module.Name as ModuleName
65import qualified AST.Utils.Shader as Shader
66import qualified AST.Utils.Shader as Shader
66import qualified Data.Index as Index
67import qualified Data.Index as Index
67−import qualified Elm.Name as N
68import qualified Reporting.Annotation as A
68import qualified Reporting.Annotation as A
69import qualified Reporting.Region as R
69import qualified Reporting.Region as R
@@ -79,20 +79,20 @@ type Expr =
80-- CACHE Annotations for type inference
80-- CACHE Annotations for type inference
82− = VarLocal N.Name
82+ = VarLocal Name
83− | VarTopLevel ModuleName.Canonical N.Name
83+ | VarTopLevel ModuleName.Canonical Name
84− | VarKernel N.Name N.Name
84+ | VarKernel Name Name
85− | VarForeign ModuleName.Canonical N.Name Annotation
85+ | VarForeign ModuleName.Canonical Name Annotation
86− | VarCtor CtorOpts ModuleName.Canonical N.Name Index.ZeroBased Annotation
86+ | VarCtor CtorOpts ModuleName.Canonical Name Index.ZeroBased Annotation
87− | VarDebug ModuleName.Canonical N.Name Annotation
87+ | VarDebug ModuleName.Canonical Name Annotation
88− | VarOperator N.Name ModuleName.Canonical N.Name Annotation -- CACHE real name for optimization
88+ | VarOperator Name ModuleName.Canonical Name Annotation -- CACHE real name for optimization
89 | Chr Utf8
89 | Chr Utf8
90 | Str Utf8
90 | Str Utf8
92 | Float Double
92 | Float Double
93 | List [Expr]
93 | List [Expr]
94 | Negate Expr
94 | 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
96 | Lambda [Pattern] Expr
96 | Lambda [Pattern] Expr
97 | Call Expr [Expr]
97 | Call Expr [Expr]
98 | If [(Expr, Expr)] Expr
98 | If [(Expr, Expr)] Expr
@@ -100,10 +100,10 @@ data Expr_
100 | LetRec [Def] Expr
100 | LetRec [Def] Expr
101 | LetDestruct Pattern Expr Expr
101 | LetDestruct Pattern Expr Expr
102 | Case Expr [CaseBranch]
102 | Case Expr [CaseBranch]
103− | Accessor N.Name
103+ | Accessor Name
104− | Access Expr (A.Located N.Name)
104+ | Access Expr (A.Located Name)
105− | Update N.Name Expr (Map.Map N.Name FieldUpdate)
105+ | Update Name Expr (Map.Map Name FieldUpdate)
106− | Record (Map.Map N.Name Expr)
106+ | Record (Map.Map Name Expr)
108 | Tuple Expr Expr (Maybe Expr)
108 | Tuple Expr Expr (Maybe Expr)
109 | Shader Text Text Shader.Shader
109 | Shader Text Text Shader.Shader
@@ -122,8 +122,8 @@ data FieldUpdate =
125− = Def (A.Located N.Name) [Pattern] Expr
125+ = Def (A.Located Name) [Pattern] Expr
126− | TypedDef (A.Located N.Name) FreeVars [(Pattern, Type)] Expr Type
126+ | TypedDef (A.Located Name) FreeVars [(Pattern, Type)] Expr Type
@@ -146,9 +146,9 @@ type Pattern =
147data Pattern_
147data Pattern_
148 = PAnything
148 = PAnything
149− | PVar N.Name
149+ | PVar Name
150− | PRecord [N.Name]
150+ | PRecord [Name]
151− | PAlias Pattern N.Name
151+ | PAlias Pattern Name
153 | PTuple Pattern Pattern (Maybe Pattern)
153 | PTuple Pattern Pattern (Maybe Pattern)
154 | PList [Pattern]
154 | PList [Pattern]
@@ -159,9 +159,9 @@ data Pattern_
159 | PInt Int
159 | PInt Int
161 { _p_home :: ModuleName.Canonical
161 { _p_home :: ModuleName.Canonical
162− , _p_type :: N.Name
162+ , _p_type :: Name
163 , _p_union :: Union
163 , _p_union :: Union
164− , _p_name :: N.Name
164+ , _p_name :: Name
165 , _p_index :: Index.ZeroBased
165 , _p_index :: Index.ZeroBased
166 , _p_args :: [PatternCtorArg]
166 , _p_args :: [PatternCtorArg]
@@ -186,17 +186,17 @@ data PatternCtorArg =
186data Annotation = Forall FreeVars Type
186data Annotation = Forall FreeVars Type
189−type FreeVars = Map.Map N.Name ()
189+type FreeVars = Map.Map Name ()
193 = TLambda Type Type
193 = TLambda Type Type
194− | TVar N.Name
194+ | TVar Name
195− | TType ModuleName.Canonical N.Name [Type]
195+ | TType ModuleName.Canonical Name [Type]
196− | TRecord (Map.Map N.Name FieldType) (Maybe N.Name)
196+ | TRecord (Map.Map Name FieldType) (Maybe Name)
198 | TTuple Type Type (Maybe Type)
198 | TTuple Type Type (Maybe Type)
199− | TAlias ModuleName.Canonical N.Name [(N.Name, Type)] AliasType
199+ | TAlias ModuleName.Canonical Name [(Name, Type)] AliasType
202data AliasType
202data AliasType
@@ -212,7 +212,7 @@ data FieldType =
212-- for every canonical type. For example, if the canonical type is inferred
212-- for every canonical type. For example, if the canonical type is inferred
213-- the orders will all be zeros.
213-- the orders will all be zeros.
215−fieldsToList :: Map.Map N.Name FieldType -> [(N.Name, Type)]
215+fieldsToList :: Map.Map Name FieldType -> [(Name, Type)]
216fieldsToList fields =
216fieldsToList fields =
218 getIndex (_, FieldType index _) =
218 getIndex (_, FieldType index _) =
@@ -234,20 +234,20 @@ data Module =
234 , _docs :: Docs
234 , _docs :: Docs
235 , _exports :: Exports
235 , _exports :: Exports
236 , _decls :: Decls
236 , _decls :: Decls
237− , _unions :: Map.Map N.Name Union
237+ , _unions :: Map.Map Name Union
238− , _aliases :: Map.Map N.Name Alias
238+ , _aliases :: Map.Map Name Alias
239− , _binops :: Map.Map N.Name Binop
239+ , _binops :: Map.Map Name Binop
240 , _effects :: Effects
240 , _effects :: Effects
244−data Alias = Alias [N.Name] Type
244+data Alias = Alias [Name] Type
245−data Binop = Binop_ Binop.Associativity Binop.Precedence N.Name
245+data Binop = Binop_ Binop.Associativity Binop.Precedence Name
248data Union =
248data Union =
250− { _u_vars :: [N.Name]
250+ { _u_vars :: [Name]
251 , _u_alts :: [Ctor]
251 , _u_alts :: [Ctor]
252 , _u_numAlts :: Int -- CACHE numAlts for exhaustiveness checking
252 , _u_numAlts :: Int -- CACHE numAlts for exhaustiveness checking
253 , _u_opts :: CtorOpts -- CACHE which optimizations are available
253 , _u_opts :: CtorOpts -- CACHE which optimizations are available
@@ -262,7 +262,7 @@ data CtorOpts
264data Ctor =
264data Ctor =
265− Ctor N.Name Index.ZeroBased Int [Type] -- CACHE length args
265+ Ctor Name Index.ZeroBased Int [Type] -- CACHE length args
@@ -274,7 +274,7 @@ data Docs
274 | YesDocs
274 | YesDocs
275 { _region :: R.Region
275 { _region :: R.Region
276 , _overview :: B.ByteString
276 , _overview :: B.ByteString
277− , _comments :: Map.Map N.Name Text
277+ , _comments :: Map.Map Name Text
@@ -284,7 +284,7 @@ data Docs
285data Exports
285data Exports
286 = ExportEverything R.Region
286 = ExportEverything R.Region
287− | Export (Map.Map N.Name (A.Located Export))
287+ | Export (Map.Map Name (A.Located Export))
290data Export
290data Export
@@ -302,7 +302,7 @@ data Export
303data Effects
303data Effects
304 = NoEffects
304 = NoEffects
305− | Ports (Map.Map N.Name Port)
305+ | Ports (Map.Map Name Port)
306 | Manager R.Region R.Region R.Region Manager
306 | Manager R.Region R.Region R.Region Manager
@@ -312,9 +312,9 @@ data Port
314data Manager
314data Manager
315− = Cmd N.Name
315+ = Cmd Name
316− | Sub N.Name
316+ | Sub Name
317− | Fx N.Name N.Name
317+ | Fx Name Name