on master help sign in
Swap the primary AST phases over to Data.Name
4e94115Evan Czaplicki
compiler/src/AST/Canonical.hs+39−39
@@ -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)
62
63
@@ -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
70
70
@@ -79,20 +79,20 @@ type Expr =
79
79
80-- CACHE Annotations for type inference
80-- CACHE Annotations for type inference
81data Expr_
81data Expr_
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
91 | Int Int
91 | Int Int
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)
107 | Unit
107 | Unit
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 =
122
122
123
123
124data Def
124data Def
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
127
127
128
128
129
129
@@ -146,9 +146,9 @@ type Pattern =
146
146
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
152 | PUnit
152 | PUnit
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
160 | PCtor
160 | PCtor
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]
167 }
167 }
@@ -186,17 +186,17 @@ data PatternCtorArg =
186data Annotation = Forall FreeVars Type
186data Annotation = Forall FreeVars Type
187
187
188
188
189−type FreeVars = Map.Map N.Name ()
189+type FreeVars = Map.Map Name ()
190
190
191
191
192data Type
192data Type
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)
197 | TUnit
197 | TUnit
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
200
200
201
201
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.
214--
214--
215−fieldsToList :: Map.Map N.Name FieldType -> [(N.Name, Type)]
215+fieldsToList :: Map.Map Name FieldType -> [(Name, Type)]
216fieldsToList fields =
216fieldsToList fields =
217 let
217 let
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
241 }
241 }
242
242
243
243
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
246
246
247
247
248data Union =
248data Union =
249 Union
249 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
262
262
263
263
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
266
266
267
267
268
268
@@ -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
278 }
278 }
279
279
280
280
@@ -284,7 +284,7 @@ data Docs
284
284
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))
288
288
289
289
290data Export
290data Export
@@ -302,7 +302,7 @@ data Export
302
302
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
307
307
308
308
@@ -312,9 +312,9 @@ data Port
312
312
313
313
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
318
318
319
319
320
320
compiler/src/AST/Optimized.hs+28−27
@@ -22,6 +22,8 @@ import Control.Monad (liftM, liftM2, liftM3, liftM4)
22import Data.Binary
22import Data.Binary
23import qualified Data.ByteString as BS
23import qualified Data.ByteString as BS
24import qualified Data.Map as Map
24import qualified Data.Map as Map
25+import qualified Data.Name as Name
26+import Data.Name (Name)
25import qualified Data.Set as Set
27import qualified Data.Set as Set
26import Data.Text (Text)
28import Data.Text (Text)
27import Data.Utf8 (Utf8)
29import Data.Utf8 (Utf8)
@@ -29,7 +31,6 @@ import Data.Utf8 (Utf8)
29import qualified AST.Canonical as Can
31import qualified AST.Canonical as Can
30import qualified AST.Module.Name as ModuleName
32import qualified AST.Module.Name as ModuleName
31import qualified Data.Index as Index
33import qualified Data.Index as Index
32−import qualified Elm.Name as N
33import qualified Elm.Package as Pkg
34import qualified Elm.Package as Pkg
34import qualified Optimize.DecisionTree as DT
35import qualified Optimize.DecisionTree as DT
35import qualified Reporting.Region as R
36import qualified Reporting.Region as R
@@ -45,39 +46,39 @@ data Expr
45 | Str Utf8
46 | Str Utf8
46 | Int Int
47 | Int Int
47 | Float Double
48 | Float Double
48− | VarLocal N.Name
49+ | VarLocal Name
49 | VarGlobal Global
50 | VarGlobal Global
50 | VarEnum Global Index.ZeroBased
51 | VarEnum Global Index.ZeroBased
51 | VarBox Global
52 | VarBox Global
52− | VarCycle ModuleName.Canonical N.Name
53+ | VarCycle ModuleName.Canonical Name
53− | VarDebug N.Name ModuleName.Canonical R.Region (Maybe N.Name)
54+ | VarDebug Name ModuleName.Canonical R.Region (Maybe Name)
54− | VarKernel N.Name N.Name
55+ | VarKernel Name Name
55 | List [Expr]
56 | List [Expr]
56− | Function [N.Name] Expr
57+ | Function [Name] Expr
57 | Call Expr [Expr]
58 | Call Expr [Expr]
58− | TailCall N.Name [(N.Name, Expr)]
59+ | TailCall Name [(Name, Expr)]
59 | If [(Expr, Expr)] Expr
60 | If [(Expr, Expr)] Expr
60 | Let Def Expr
61 | Let Def Expr
61 | Destruct Destructor Expr
62 | Destruct Destructor Expr
62− | Case N.Name N.Name (Decider Choice) [(Int, Expr)]
63+ | Case Name Name (Decider Choice) [(Int, Expr)]
63− | Accessor N.Name
64+ | Accessor Name
64− | Access Expr N.Name
65+ | Access Expr Name
65− | Update Expr (Map.Map N.Name Expr)
66+ | Update Expr (Map.Map Name Expr)
66− | Record (Map.Map N.Name Expr)
67+ | Record (Map.Map Name Expr)
67 | Unit
68 | Unit
68 | Tuple Expr Expr (Maybe Expr)
69 | Tuple Expr Expr (Maybe Expr)
69− | Shader Text (Set.Set N.Name) (Set.Set N.Name)
70+ | Shader Text (Set.Set Name) (Set.Set Name)
70
71
71
72
72−data Global = Global ModuleName.Canonical N.Name
73+data Global = Global ModuleName.Canonical Name
73 deriving (Eq, Ord)
74 deriving (Eq, Ord)
74
75
75
76
76-- Provide "List" not "Elm.Kernel.List"
77-- Provide "List" not "Elm.Kernel.List"
77--
78--
78−kernel :: N.Name -> Global
79+kernel :: Name -> Global
79kernel home =
80kernel home =
80− Global (ModuleName.Canonical Pkg.kernel home) N.dollar
81+ Global (ModuleName.Canonical Pkg.kernel home) Name.dollar
81
82
82
83
83
84
@@ -85,19 +86,19 @@ kernel home =
85
86
86
87
87data Def
88data Def
88− = Def N.Name Expr
89+ = Def Name Expr
89− | TailDef N.Name [N.Name] Expr
90+ | TailDef Name [Name] Expr
90
91
91
92
92data Destructor =
93data Destructor =
93− Destructor N.Name Path
94+ Destructor Name Path
94
95
95
96
96data Path
97data Path
97 = Index Index.ZeroBased Path
98 = Index Index.ZeroBased Path
98− | Field N.Name Path
99+ | Field Name Path
99 | Unbox Path
100 | Unbox Path
100− | Root N.Name
101+ | Root Name
101
102
102
103
103
104
@@ -132,7 +133,7 @@ data Graph =
132 Graph
133 Graph
133 { _mains :: Map.Map ModuleName.Canonical Main
134 { _mains :: Map.Map ModuleName.Canonical Main
134 , _nodes :: Map.Map Global Node
135 , _nodes :: Map.Map Global Node
135− , _fields :: Map.Map N.Name Int
136+ , _fields :: Map.Map Name Int
136 }
137 }
137
138
138
139
@@ -146,12 +147,12 @@ data Main
146
147
147data Node
148data Node
148 = Define Expr (Set.Set Global)
149 = Define Expr (Set.Set Global)
149− | DefineTailFunc [N.Name] Expr (Set.Set Global)
150+ | DefineTailFunc [Name] Expr (Set.Set Global)
150 | Ctor Index.ZeroBased Int
151 | Ctor Index.ZeroBased Int
151 | Enum Index.ZeroBased
152 | Enum Index.ZeroBased
152 | Box
153 | Box
153 | Link Global
154 | Link Global
154− | Cycle [N.Name] [(N.Name, Expr)] [Def] (Set.Set Global)
155+ | Cycle [Name] [(Name, Expr)] [Def] (Set.Set Global)
155 | Manager EffectsType
156 | Manager EffectsType
156 | Kernel KContent (Maybe KContent)
157 | Kernel KContent (Maybe KContent)
157 | PortIncoming Expr (Set.Set Global)
158 | PortIncoming Expr (Set.Set Global)
@@ -167,9 +168,9 @@ data KContent =
167
168
168data KChunk
169data KChunk
169 = JS BS.ByteString
170 = JS BS.ByteString
170− | ElmVar ModuleName.Canonical N.Name
171+ | ElmVar ModuleName.Canonical Name
171− | JsVar N.Name N.Name
172+ | JsVar Name Name
172− | ElmField N.Name
173+ | ElmField Name
173 | JsField Int
174 | JsField Int
174 | JsEnum Int
175 | JsEnum Int
175 | Debug
176 | Debug
compiler/src/AST/Source.hs+35−35
@@ -19,12 +19,12 @@ module AST.Source
19
19
20
20
21import qualified Data.ByteString as B
21import qualified Data.ByteString as B
22+import Data.Name (Name)
22import Data.Text (Text)
23import Data.Text (Text)
23import Data.Utf8 (Utf8)
24import Data.Utf8 (Utf8)
24
25
25import qualified AST.Utils.Binop as Binop
26import qualified AST.Utils.Binop as Binop
26import qualified AST.Utils.Shader as Shader
27import qualified AST.Utils.Shader as Shader
27−import qualified Elm.Name as N
28import qualified Reporting.Annotation as A
28import qualified Reporting.Annotation as A
29import qualified Reporting.Region as R
29import qualified Reporting.Region as R
30
30
@@ -41,21 +41,21 @@ data Expr_
41 | Str Utf8
41 | Str Utf8
42 | Int Int
42 | Int Int
43 | Float Double
43 | Float Double
44− | Var VarType N.Name
44+ | Var VarType Name
45− | VarQual VarType N.Name N.Name
45+ | VarQual VarType Name Name
46 | List [Expr]
46 | List [Expr]
47− | Op N.Name
47+ | Op Name
48 | Negate Expr
48 | Negate Expr
49− | Binops [(Expr, A.Located N.Name)] Expr
49+ | Binops [(Expr, A.Located Name)] Expr
50 | Lambda [Pattern] Expr
50 | Lambda [Pattern] Expr
51 | Call Expr [Expr]
51 | Call Expr [Expr]
52 | If [(Expr, Expr)] Expr
52 | If [(Expr, Expr)] Expr
53 | Let [A.Located Def] Expr
53 | Let [A.Located Def] Expr
54 | Case Expr [(Pattern, Expr)]
54 | Case Expr [(Pattern, Expr)]
55− | Accessor N.Name
55+ | Accessor Name
56− | Access Expr (A.Located N.Name)
56+ | Access Expr (A.Located Name)
57− | Update (A.Located N.Name) [(A.Located N.Name, Expr)]
57+ | Update (A.Located Name) [(A.Located Name, Expr)]
58− | Record [(A.Located N.Name, Expr)]
58+ | Record [(A.Located Name, Expr)]
59 | Unit
59 | Unit
60 | Tuple Expr Expr [Expr]
60 | Tuple Expr Expr [Expr]
61 | Shader Text Text Shader.Shader
61 | Shader Text Text Shader.Shader
@@ -69,8 +69,8 @@ data VarType = Value | Ctor
69
69
70
70
71data Def
71data Def
72− = Annotate N.Name Type
72+ = Annotate Name Type
73− | Define (A.Located N.Name) [Pattern] Expr
73+ | Define (A.Located Name) [Pattern] Expr
74 | Destruct Pattern Expr
74 | Destruct Pattern Expr
75
75
76
76
@@ -83,13 +83,13 @@ type Pattern = A.Located Pattern_
83
83
84data Pattern_
84data Pattern_
85 = PAnything
85 = PAnything
86− | PVar N.Name
86+ | PVar Name
87− | PRecord [A.Located N.Name]
87+ | PRecord [A.Located Name]
88− | PAlias Pattern (A.Located N.Name)
88+ | PAlias Pattern (A.Located Name)
89 | PUnit
89 | PUnit
90 | PTuple Pattern Pattern [Pattern]
90 | PTuple Pattern Pattern [Pattern]
91− | PCtor R.Region N.Name [Pattern]
91+ | PCtor R.Region Name [Pattern]
92− | PCtorQual R.Region N.Name N.Name [Pattern]
92+ | PCtorQual R.Region Name Name [Pattern]
93 | PList [Pattern]
93 | PList [Pattern]
94 | PCons Pattern Pattern
94 | PCons Pattern Pattern
95 | PChr Utf8
95 | PChr Utf8
@@ -107,10 +107,10 @@ type Type =
107
107
108data Type_
108data Type_
109 = TLambda Type Type
109 = TLambda Type Type
110− | TVar N.Name
110+ | TVar Name
111− | TType R.Region N.Name [Type]
111+ | TType R.Region Name [Type]
112− | TTypeQual R.Region N.Name N.Name [Type]
112+ | TTypeQual R.Region Name Name [Type]
113− | TRecord [(A.Located N.Name, Type)] (Maybe (A.Located N.Name))
113+ | TRecord [(A.Located Name, Type)] (Maybe (A.Located Name))
114 | TUnit
114 | TUnit
115 | TTuple Type Type [Type]
115 | TTuple Type Type [Type]
116
116
@@ -123,13 +123,13 @@ type Decl = A.Located Decl_
123
123
124
124
125data Decl_
125data Decl_
126− = Union (A.Located N.Name) [A.Located N.Name] [(A.Located N.Name, [Type])]
126+ = Union (A.Located Name) [A.Located Name] [(A.Located Name, [Type])]
127− | Alias (A.Located N.Name) [A.Located N.Name] Type
127+ | Alias (A.Located Name) [A.Located Name] Type
128− | Binop N.Name Binop.Associativity Binop.Precedence N.Name
128+ | Binop Name Binop.Associativity Binop.Precedence Name
129− | Port (A.Located N.Name) Type
129+ | Port (A.Located Name) Type
130 | Docs Text
130 | Docs Text
131− | Annotation (A.Located N.Name) Type
131+ | Annotation (A.Located Name) Type
132− | Definition (A.Located N.Name) [Pattern] Expr
132+ | Definition (A.Located Name) [Pattern] Expr
133
133
134
134
135
135
@@ -142,7 +142,7 @@ data Module decls =
142
142
143data Header
143data Header
144 = Header
144 = Header
145− { _name :: N.Name
145+ { _name :: Name
146 , _effects :: Effects
146 , _effects :: Effects
147 , _exports :: A.Located Exposing
147 , _exports :: A.Located Exposing
148 , _docs :: Docs
148 , _docs :: Docs
@@ -151,8 +151,8 @@ data Header
151
151
152data Import =
152data Import =
153 Import
153 Import
154− { _import :: A.Located N.Name
154+ { _import :: A.Located Name
155− , _alias :: Maybe N.Name
155+ , _alias :: Maybe Name
156 , _exposing :: Exposing
156 , _exposing :: Exposing
157 }
157 }
158
158
@@ -169,9 +169,9 @@ data Effects
169
169
170
170
171data Manager
171data Manager
172− = Cmd (A.Located N.Name)
172+ = Cmd (A.Located Name)
173− | Sub (A.Located N.Name)
173+ | Sub (A.Located Name)
174− | Fx (A.Located N.Name) (A.Located N.Name)
174+ | Fx (A.Located Name) (A.Located Name)
175
175
176
176
177
177
@@ -184,9 +184,9 @@ data Exposing
184
184
185
185
186data Exposed
186data Exposed
187− = Lower !N.Name
187+ = Lower !Name
188− | Upper !N.Name !Privacy
188+ | Upper !Name !Privacy
189− | Operator !N.Name
189+ | Operator !Name
190
190
191
191
192data Privacy
192data Privacy
compiler/src/AST/Valid.hs+21−21
@@ -17,13 +17,13 @@ module AST.Valid
17
17
18
18
19import qualified Data.Map as Map
19import qualified Data.Map as Map
20+import Data.Name (Name)
20import Data.Text (Text)
21import Data.Text (Text)
21import Data.Utf8 (Utf8)
22import Data.Utf8 (Utf8)
22
23
23import qualified AST.Utils.Binop as Binop
24import qualified AST.Utils.Binop as Binop
24import qualified AST.Source as Src
25import qualified AST.Source as Src
25import qualified AST.Utils.Shader as Shader
26import qualified AST.Utils.Shader as Shader
26−import qualified Elm.Name as N
27import qualified Reporting.Annotation as A
27import qualified Reporting.Annotation as A
28import qualified Reporting.Region as R
28import qualified Reporting.Region as R
29
29
@@ -40,21 +40,21 @@ data Expr_
40 | Str Utf8
40 | Str Utf8
41 | Int Int
41 | Int Int
42 | Float Double
42 | Float Double
43− | Var Src.VarType N.Name
43+ | Var Src.VarType Name
44− | VarQual Src.VarType N.Name N.Name
44+ | VarQual Src.VarType Name Name
45 | List [Expr]
45 | List [Expr]
46− | Op N.Name
46+ | Op Name
47 | Negate Expr
47 | Negate Expr
48− | Binops [(Expr, A.Located N.Name)] Expr
48+ | Binops [(Expr, A.Located Name)] Expr
49 | Lambda [Src.Pattern] Expr
49 | Lambda [Src.Pattern] Expr
50 | Call Expr [Expr]
50 | Call Expr [Expr]
51 | If [(Expr, Expr)] Expr
51 | If [(Expr, Expr)] Expr
52 | Let [Def] Expr
52 | Let [Def] Expr
53 | Case Expr [(Src.Pattern, Expr)]
53 | Case Expr [(Src.Pattern, Expr)]
54− | Accessor N.Name
54+ | Accessor Name
55− | Access Expr (A.Located N.Name)
55+ | Access Expr (A.Located Name)
56− | Update (A.Located N.Name) [(A.Located N.Name, Expr)]
56+ | Update (A.Located Name) [(A.Located Name, Expr)]
57− | Record [(A.Located N.Name, Expr)]
57+ | Record [(A.Located Name, Expr)]
58 | Unit
58 | Unit
59 | Tuple Expr Expr [Expr]
59 | Tuple Expr Expr [Expr]
60 | Shader Text Text Shader.Shader
60 | Shader Text Text Shader.Shader
@@ -65,7 +65,7 @@ data Expr_
65
65
66
66
67data Def
67data Def
68− = Define R.Region (A.Located N.Name) [Src.Pattern] Expr (Maybe Src.Type)
68+ = Define R.Region (A.Located Name) [Src.Pattern] Expr (Maybe Src.Type)
69 | Destruct R.Region Src.Pattern Expr
69 | Destruct R.Region Src.Pattern Expr
70
70
71
71
@@ -75,9 +75,9 @@ data Def
75
75
76data Module =
76data Module =
77 Module
77 Module
78− { _name :: N.Name
78+ { _name :: Name
79 , _overview :: Src.Docs
79 , _overview :: Src.Docs
80− , _docs :: Map.Map N.Name Text
80+ , _docs :: Map.Map Name Text
81 , _exports :: A.Located Src.Exposing
81 , _exports :: A.Located Src.Exposing
82 , _imports :: [Src.Import]
82 , _imports :: [Src.Import]
83 , _decls :: [A.Located Decl]
83 , _decls :: [A.Located Decl]
@@ -88,10 +88,10 @@ data Module =
88 }
88 }
89
89
90
90
91−data Decl = Decl (A.Located N.Name) [Src.Pattern] Expr (Maybe Src.Type)
91+data Decl = Decl (A.Located Name) [Src.Pattern] Expr (Maybe Src.Type)
92−data Union = Union R.Region (A.Located N.Name) [A.Located N.Name] [(A.Located N.Name, [Src.Type])]
92+data Union = Union R.Region (A.Located Name) [A.Located Name] [(A.Located Name, [Src.Type])]
93−data Alias = Alias R.Region (A.Located N.Name) [A.Located N.Name] Src.Type
93+data Alias = Alias R.Region (A.Located Name) [A.Located Name] Src.Type
94−data Binop = Binop N.Name Binop.Associativity Binop.Precedence N.Name
94+data Binop = Binop Name Binop.Associativity Binop.Precedence Name
95
95
96
96
97data Effects
97data Effects
@@ -101,15 +101,15 @@ data Effects
101
101
102
102
103data Manager
103data Manager
104− = Cmd (A.Located N.Name)
104+ = Cmd (A.Located Name)
105− | Sub (A.Located N.Name)
105+ | Sub (A.Located Name)
106− | Fx (A.Located N.Name) (A.Located N.Name)
106+ | Fx (A.Located Name) (A.Located Name)
107
107
108
108
109−data Port = Port (A.Located N.Name) Src.Type
109+data Port = Port (A.Located Name) Src.Type
110
110
111
111
112−defaultModule :: Map.Map N.Name Text -> [Src.Import] -> [A.Located Decl] -> [Union] -> [Alias] -> [Binop] -> Module
112+defaultModule :: Map.Map Name Text -> [Src.Import] -> [A.Located Decl] -> [Union] -> [Alias] -> [Binop] -> Module
113defaultModule docs imports decls unions aliases binop =
113defaultModule docs imports decls unions aliases binop =
114 Module
114 Module
115 { _name = "Main"
115 { _name = "Main"