on master help sign in
Switch Parser/ over to Data.Name
c7504ccEvan Czaplicki
compiler/src/Parse/Declaration.hs+5−5
@@ -7,11 +7,11 @@ module Parse.Declaration
7 where
7 where
8
8
9
9
10+import qualified Data.Name as Name
10import qualified Data.Text.Encoding as Text
11import qualified Data.Text.Encoding as Text
11
12
12import qualified AST.Source as Src
13import qualified AST.Source as Src
13import qualified AST.Utils.Binop as Binop
14import qualified AST.Utils.Binop as Binop
14−import qualified Elm.Name as N
15import qualified Parse.Expression as Expr
15import qualified Parse.Expression as Expr
16import qualified Parse.Pattern as Pattern
16import qualified Parse.Pattern as Pattern
17import Parse.Primitives
17import Parse.Primitives
@@ -77,7 +77,7 @@ def_ start =
77 ]
77 ]
78
78
79
79
80−definitionHelp :: R.Position -> A.Located N.Name -> [Src.Pattern] -> SParser Src.Decl
80+definitionHelp :: R.Position -> A.Located Name.Name -> [Src.Pattern] -> SParser Src.Decl
81definitionHelp start name revArgs =
81definitionHelp start name revArgs =
82 oneOf
82 oneOf
83 [ do arg <- hint E.Arg Pattern.term
83 [ do arg <- hint E.Arg Pattern.term
@@ -115,14 +115,14 @@ type_ start =
115 ]
115 ]
116
116
117
117
118−nameArgsEquals :: Parser (A.Located N.Name, [A.Located N.Name])
118+nameArgsEquals :: Parser (A.Located Name.Name, [A.Located Name.Name])
119nameArgsEquals =
119nameArgsEquals =
120 do name <- addLocation Var.upper
120 do name <- addLocation Var.upper
121 spaces
121 spaces
122 nameArgsEqualsHelp name []
122 nameArgsEqualsHelp name []
123
123
124
124
125−nameArgsEqualsHelp :: A.Located N.Name -> [A.Located N.Name] -> Parser (A.Located N.Name, [A.Located N.Name])
125+nameArgsEqualsHelp :: A.Located Name.Name -> [A.Located Name.Name] -> Parser (A.Located Name.Name, [A.Located Name.Name])
126nameArgsEqualsHelp name args =
126nameArgsEqualsHelp name args =
127 oneOf
127 oneOf
128 [ do arg <- addLocation Var.lower
128 [ do arg <- addLocation Var.lower
@@ -134,7 +134,7 @@ nameArgsEqualsHelp name args =
134 ]
134 ]
135
135
136
136
137−chompConstructors :: [(A.Located N.Name, [Src.Type])] -> R.Position -> SPos -> SParser [(A.Located N.Name, [Src.Type])]
137+chompConstructors :: [(A.Located Name.Name, [Src.Type])] -> R.Position -> SPos -> SParser [(A.Located Name.Name, [Src.Type])]
138chompConstructors ctors end pos =
138chompConstructors ctors end pos =
139 oneOf
139 oneOf
140 [ do checkSpace pos
140 [ do checkSpace pos
compiler/src/Parse/Expression.hs+5−4
@@ -6,8 +6,9 @@ module Parse.Expression
6 where
6 where
7
7
8
8
9+import qualified Data.Name as Name
10+
9import qualified AST.Source as Src
11import qualified AST.Source as Src
10−import qualified Elm.Name as N
11import Parse.Primitives
12import Parse.Primitives
12import qualified Parse.Primitives.Keyword as Keyword
13import qualified Parse.Primitives.Keyword as Keyword
13import qualified Parse.Primitives.Number as Number
14import qualified Parse.Primitives.Number as Number
@@ -218,7 +219,7 @@ record start =
218 ]
219 ]
219
220
220
221
221−type Field = ( A.Located N.Name, Src.Expr )
222+type Field = ( A.Located Name.Name, Src.Expr )
222
223
223
224
224chompFields :: [Field] -> Parser [Field]
225chompFields :: [Field] -> Parser [Field]
@@ -270,7 +271,7 @@ expression =
270
271
271data State =
272data State =
272 State
273 State
273− { _ops :: ![(Src.Expr, A.Located N.Name)]
274+ { _ops :: ![(Src.Expr, A.Located Name.Name)]
274 , _expr :: !Src.Expr
275 , _expr :: !Src.Expr
275 , _args :: ![Src.Expr]
276 , _args :: ![Src.Expr]
276 , _end :: !R.Position
277 , _end :: !R.Position
@@ -536,7 +537,7 @@ definition =
536 ]
537 ]
537
538
538
539
539−definitionHelp :: R.Position -> A.Located N.Name -> [Src.Pattern] -> SParser (A.Located Src.Def)
540+definitionHelp :: R.Position -> A.Located Name.Name -> [Src.Pattern] -> SParser (A.Located Src.Def)
540definitionHelp start name revArgs =
541definitionHelp start name revArgs =
541 oneOf
542 oneOf
542 [ do arg <- hint E.Arg Pattern.term
543 [ do arg <- hint E.Arg Pattern.term
compiler/src/Parse/Module.hs+7−6
@@ -9,9 +9,10 @@ module Parse.Module
9 where
9 where
10
10
11
11
12+import qualified Data.Name as Name
13+
12import qualified AST.Source as Src
14import qualified AST.Source as Src
13import qualified Elm.Compiler.Imports as Imports
15import qualified Elm.Compiler.Imports as Imports
14−import qualified Elm.Name as N
15import qualified Elm.Package as Pkg
16import qualified Elm.Package as Pkg
16import Parse.Primitives (Parser, oneOf)
17import Parse.Primitives (Parser, oneOf)
17import qualified Parse.Primitives as P
18import qualified Parse.Primitives as P
@@ -57,7 +58,7 @@ chompHeader =
57-- port module MyThing
58-- port module MyThing
58-- effect module MyThing where { command = MyCmd }
59-- effect module MyThing where { command = MyCmd }
59--
60--
60−chompNameAndEffects :: Parser (N.Name, Src.Effects)
61+chompNameAndEffects :: Parser (Name.Name, Src.Effects)
61chompNameAndEffects =
62chompNameAndEffects =
62 oneOf
63 oneOf
63 [
64 [
@@ -135,7 +136,7 @@ chompManager =
135 ]
136 ]
136
137
137
138
138−chompCommand :: Parser (A.Located N.Name)
139+chompCommand :: Parser (A.Located Name.Name)
139chompCommand =
140chompCommand =
140 do Keyword.command_
141 do Keyword.command_
141 P.spaces
142 P.spaces
@@ -144,7 +145,7 @@ chompCommand =
144 P.addLocation Var.upper
145 P.addLocation Var.upper
145
146
146
147
147−chompSubscription :: Parser (A.Located N.Name)
148+chompSubscription :: Parser (A.Located Name.Name)
148chompSubscription =
149chompSubscription =
149 do Keyword.subscription_
150 do Keyword.subscription_
150 P.spaces
151 P.spaces
@@ -199,7 +200,7 @@ chompImports imports =
199 ]
200 ]
200
201
201
202
202−chompAs :: A.Located N.Name -> [Src.Import] -> Parser [Src.Import]
203+chompAs :: A.Located Name.Name -> [Src.Import] -> Parser [Src.Import]
203chompAs name imports =
204chompAs name imports =
204 do Keyword.as_
205 do Keyword.as_
205 P.spaces
206 P.spaces
@@ -215,7 +216,7 @@ chompAs name imports =
215 ]
216 ]
216
217
217
218
218−chompExposing :: A.Located N.Name -> Maybe N.Name -> [Src.Import] -> Parser [Src.Import]
219+chompExposing :: A.Located Name.Name -> Maybe Name.Name -> [Src.Import] -> Parser [Src.Import]
219chompExposing name maybeAlias imports =
220chompExposing name maybeAlias imports =
220 do Keyword.exposing_
221 do Keyword.exposing_
221 P.spaces
222 P.spaces
compiler/src/Parse/Pattern.hs+2−2
@@ -8,9 +8,9 @@ module Parse.Pattern
8
8
9
9
10import qualified Data.List as List
10import qualified Data.List as List
11+import qualified Data.Name as Name
11
12
12import qualified AST.Source as Src
13import qualified AST.Source as Src
13−import qualified Elm.Name as N
14import Parse.Primitives (Parser, SParser, SPos, addLocation, checkSpace, getPosition, hint, inContext, spaces, oneOf)
14import Parse.Primitives (Parser, SParser, SPos, addLocation, checkSpace, getPosition, hint, inContext, spaces, oneOf)
15import qualified Parse.Primitives as P
15import qualified Parse.Primitives as P
16import qualified Parse.Primitives.Keyword as Keyword
16import qualified Parse.Primitives.Keyword as Keyword
@@ -103,7 +103,7 @@ record start =
103 ]
103 ]
104
104
105
105
106−recordHelp :: R.Position -> [A.Located N.Name] -> Parser Src.Pattern
106+recordHelp :: R.Position -> [A.Located Name.Name] -> Parser Src.Pattern
107recordHelp start vars =
107recordHelp start vars =
108 oneOf
108 oneOf
109 [ do Symbol.comma
109 [ do Symbol.comma
compiler/src/Parse/Primitives/Kernel.hs+7−7
@@ -9,10 +9,10 @@ module Parse.Primitives.Kernel
9
9
10import Prelude hiding (length)
10import Prelude hiding (length)
11import qualified Data.ByteString.Internal as B
11import qualified Data.ByteString.Internal as B
12+import qualified Data.Name as Name
12import Data.Word (Word8)
13import Data.Word (Word8)
13import Foreign.ForeignPtr (ForeignPtr)
14import Foreign.ForeignPtr (ForeignPtr)
14
15
15−import qualified Elm.Name as N
16import Parse.Primitives.Internals (Parser(..), State(..), noError)
16import Parse.Primitives.Internals (Parser(..), State(..), noError)
17import qualified Parse.Primitives.Internals as I
17import qualified Parse.Primitives.Internals as I
18import qualified Parse.Primitives.Variable as Var
18import qualified Parse.Primitives.Variable as Var
@@ -23,12 +23,12 @@ import qualified Parse.Primitives.Variable as Var
23
23
24
24
25data Special
25data Special
26− = Enum Word8 N.Name
26+ = Enum Word8 Name.Name
27 | Prod
27 | Prod
28 | Debug
28 | Debug
29− | Import N.Name
29+ | Import Name.Name
30− | JsField N.Name
30+ | JsField Name.Name
31− | ElmField N.Name
31+ | ElmField Name.Name
32
32
33
33
34
34
@@ -94,10 +94,10 @@ chompSpecial fp offset terminal row col jsOffset =
94
94
95 !special =
95 !special =
96 if word == 0x24 {- $ -} then
96 if word == 0x24 {- $ -} then
97− ElmField (N.fromForeignPtr fp offset (newOffset - offset))
97+ ElmField (Name.fromByteString fp offset (newOffset - offset))
98
98
99 else
99 else
100− let !name = N.fromForeignPtr fp tagOffset (newOffset - tagOffset) in
100+ let !name = Name.fromByteString fp tagOffset (newOffset - tagOffset) in
101 if 0x30 <= word && word <= 0x39 then
101 if 0x30 <= word && word <= 0x39 then
102 Enum (fromIntegral (word - 0x30)) name
102 Enum (fromIntegral (word - 0x30)) name
103
103
compiler/src/Parse/Primitives/Symbol.hs+3−3
@@ -16,11 +16,11 @@ import qualified Data.ByteString.Internal as B
16import qualified Data.ByteString.Char8 as Char8
16import qualified Data.ByteString.Char8 as Char8
17import qualified Data.Char as Char
17import qualified Data.Char as Char
18import qualified Data.IntSet as IntSet
18import qualified Data.IntSet as IntSet
19+import qualified Data.Name as Name
19import qualified Data.Vector as Vector
20import qualified Data.Vector as Vector
20import Foreign.ForeignPtr (ForeignPtr)
21import Foreign.ForeignPtr (ForeignPtr)
21import GHC.Word (Word8)
22import GHC.Word (Word8)
22
23
23−import qualified Elm.Name as N
24import Parse.Primitives.Internals (Parser(..), State(..), expect, noError)
24import Parse.Primitives.Internals (Parser(..), State(..), expect, noError)
25import qualified Parse.Primitives.Internals as I
25import qualified Parse.Primitives.Internals as I
26import qualified Parse.Primitives.Variable as Var
26import qualified Parse.Primitives.Variable as Var
@@ -54,7 +54,7 @@ underscore =
54-- BINOP
54-- BINOP
55
55
56
56
57−binop :: Parser N.Name
57+binop :: Parser Name.Name
58binop =
58binop =
59 Parser $ \(State fp offset terminal indent row col ctx) cok cerr _ eerr ->
59 Parser $ \(State fp offset terminal indent row col ctx) cok cerr _ eerr ->
60 let !newOffset = chompOps fp offset terminal in
60 let !newOffset = chompOps fp offset terminal in
@@ -63,7 +63,7 @@ binop =
63
63
64 else
64 else
65 let !length = newOffset - offset in
65 let !length = newOffset - offset in
66− case N.fromForeignPtr fp offset length of
66+ case Name.fromByteString fp offset length of
67 "." -> cerr (E.ParseError row col (E.BadOp Dot ctx))
67 "." -> cerr (E.ParseError row col (E.BadOp Dot ctx))
68 "|" -> cerr (E.ParseError row col (E.BadOp Pipe ctx))
68 "|" -> cerr (E.ParseError row col (E.BadOp Pipe ctx))
69 "->" -> cerr (E.ParseError row col (E.BadOp Arrow ctx))
69 "->" -> cerr (E.ParseError row col (E.BadOp Arrow ctx))
compiler/src/Parse/Primitives/Variable.hs+14−14
@@ -17,12 +17,12 @@ module Parse.Primitives.Variable
17import Control.Exception (assert)
17import Control.Exception (assert)
18import Data.Bits ((.&.), (.|.), shiftL)
18import Data.Bits ((.&.), (.|.), shiftL)
19import qualified Data.Char as Char
19import qualified Data.Char as Char
20+import qualified Data.Name as Name
20import qualified Data.Set as Set
21import qualified Data.Set as Set
21import Foreign.ForeignPtr (ForeignPtr)
22import Foreign.ForeignPtr (ForeignPtr)
22import GHC.Word (Word8)
23import GHC.Word (Word8)
23
24
24import qualified AST.Source as Src
25import qualified AST.Source as Src
25−import qualified Elm.Name as N
26import Parse.Primitives.Internals (Parser(..), State(..), expect, noError, unsafeIndex)
26import Parse.Primitives.Internals (Parser(..), State(..), expect, noError, unsafeIndex)
27import qualified Reporting.Error.Syntax as E
27import qualified Reporting.Error.Syntax as E
28
28
@@ -31,14 +31,14 @@ import qualified Reporting.Error.Syntax as E
31-- LOCAL UPPER
31-- LOCAL UPPER
32
32
33
33
34−upper :: Parser N.Name
34+upper :: Parser Name.Name
35upper =
35upper =
36 Parser $ \(State fp offset terminal indent row col ctx) cok _ _ eerr ->
36 Parser $ \(State fp offset terminal indent row col ctx) cok _ _ eerr ->
37 let (# newOffset, newCol #) = chompUpper fp offset terminal col in
37 let (# newOffset, newCol #) = chompUpper fp offset terminal col in
38 if offset == newOffset then
38 if offset == newOffset then
39 eerr (expect row col ctx E.CapVar)
39 eerr (expect row col ctx E.CapVar)
40 else
40 else
41− let !name = N.fromForeignPtr fp offset (newOffset - offset) in
41+ let !name = Name.fromByteString fp offset (newOffset - offset) in
42 cok name (State fp newOffset terminal indent row newCol ctx) noError
42 cok name (State fp newOffset terminal indent row newCol ctx) noError
43
43
44
44
@@ -46,14 +46,14 @@ upper =
46-- LOCAL LOWER
46-- LOCAL LOWER
47
47
48
48
49−lower :: Parser N.Name
49+lower :: Parser Name.Name
50lower =
50lower =
51 Parser $ \(State fp offset terminal indent row col ctx) cok _ _ eerr ->
51 Parser $ \(State fp offset terminal indent row col ctx) cok _ _ eerr ->
52 let (# newOffset, newCol #) = chompLower fp offset terminal col in
52 let (# newOffset, newCol #) = chompLower fp offset terminal col in
53 if offset == newOffset then
53 if offset == newOffset then
54 eerr (expect row col ctx E.LowVar)
54 eerr (expect row col ctx E.LowVar)
55 else
55 else
56− let !name = N.fromForeignPtr fp offset (newOffset - offset) in
56+ let !name = Name.fromByteString fp offset (newOffset - offset) in
57 if Set.member name reservedWords then
57 if Set.member name reservedWords then
58 eerr (expect row col ctx E.LowVar)
58 eerr (expect row col ctx E.LowVar)
59 else
59 else
@@ -61,7 +61,7 @@ lower =
61
61
62
62
63{-# NOINLINE reservedWords #-}
63{-# NOINLINE reservedWords #-}
64−reservedWords :: Set.Set N.Name
64+reservedWords :: Set.Set Name.Name
65reservedWords =
65reservedWords =
66 Set.fromList
66 Set.fromList
67 [ "if", "then", "else"
67 [ "if", "then", "else"
@@ -79,7 +79,7 @@ reservedWords =
79-- MODULE NAME
79-- MODULE NAME
80
80
81
81
82−moduleName :: Parser N.Name
82+moduleName :: Parser Name.Name
83moduleName =
83moduleName =
84 Parser $ \(State fp offset terminal indent row col ctx) cok _ _ eerr ->
84 Parser $ \(State fp offset terminal indent row col ctx) cok _ _ eerr ->
85 let (# newOffset, newCol #) = chompUpper fp offset terminal col in
85 let (# newOffset, newCol #) = chompUpper fp offset terminal col in
@@ -89,7 +89,7 @@ moduleName =
89
89
90 Good end endCol ->
90 Good end endCol ->
91 let
91 let
92− !name = N.fromForeignPtr fp offset (end - offset)
92+ !name = Name.fromByteString fp offset (end - offset)
93 !newState = State fp end terminal indent row endCol ctx
93 !newState = State fp end terminal indent row endCol ctx
94 in
94 in
95 cok name newState noError
95 cok name newState noError
@@ -119,8 +119,8 @@ moduleNameHelp fp offset terminal col =
119
119
120
120
121data Upper
121data Upper
122− = Unqualified N.Name
122+ = Unqualified Name.Name
123− | Qualified N.Name N.Name
123+ | Qualified Name.Name Name.Name
124
124
125
125
126foreignUpper :: Parser Upper
126foreignUpper :: Parser Upper
@@ -132,12 +132,12 @@ foreignUpper =
132 else
132 else
133 let
133 let
134 !newState = State fp end terminal indent row newCol ctx
134 !newState = State fp end terminal indent row newCol ctx
135− !name = N.fromForeignPtr fp start (end - start)
135+ !name = Name.fromByteString fp start (end - start)
136 !foreign =
136 !foreign =
137 if start == offset then
137 if start == offset then
138 Unqualified name
138 Unqualified name
139 else
139 else
140− let !home = N.fromForeignPtr fp offset ((start - 1) - offset) in
140+ let !home = Name.fromByteString fp offset ((start - 1) - offset) in
141 Qualified home name
141 Qualified home name
142 in
142 in
143 cok foreign newState noError
143 cok foreign newState noError
@@ -171,7 +171,7 @@ foreignAlpha =
171 else
171 else
172 let
172 let
173 !newState = State fp end terminal indent row newCol ctx
173 !newState = State fp end terminal indent row newCol ctx
174− !name = N.fromForeignPtr fp start (end - start)
174+ !name = Name.fromByteString fp start (end - start)
175 in
175 in
176 if start == offset then
176 if start == offset then
177 if Set.member name reservedWords then
177 if Set.member name reservedWords then
@@ -179,7 +179,7 @@ foreignAlpha =
179 else
179 else
180 cok (Src.Var varType name) newState noError
180 cok (Src.Var varType name) newState noError
181 else
181 else
182− let !home = N.fromForeignPtr fp offset ((start - 1) - offset) in
182+ let !home = Name.fromByteString fp offset ((start - 1) - offset) in
183 cok (Src.VarQual varType home name) newState noError
183 cok (Src.VarQual varType home name) newState noError
184
184
185
185
compiler/src/Parse/Repl.hs+7−7
@@ -7,12 +7,12 @@ module Parse.Repl
7 where
7 where
8
8
9
9
10−import qualified Data.ByteString.UTF8 as Utf8
10+import qualified Data.ByteString.UTF8 as BS_UTF8
11import qualified Data.Text as Text
11import qualified Data.Text as Text
12import Data.Text (Text)
12import Data.Text (Text)
13+import Data.Name (Name)
13
14
14import qualified AST.Source as Src
15import qualified AST.Source as Src
15−import qualified Elm.Name as N
16import qualified Parse.Module as Module
16import qualified Parse.Module as Module
17import Parse.Primitives
17import Parse.Primitives
18import qualified Parse.Primitives.Keyword as Keyword
18import qualified Parse.Primitives.Keyword as Keyword
@@ -27,9 +27,9 @@ import qualified Reporting.Annotation as A
27
27
28
28
29data Entry
29data Entry
30− = Import N.Name (Maybe N.Name) Src.Exposing Text
30+ = Import Name (Maybe Name) Src.Exposing Text
31− | Type N.Name Text
31+ | Type Name Text
32− | Def (Maybe N.Name) Text
32+ | Def (Maybe Name) Text
33 | Other Text
33 | Other Text
34 | Annotation
34 | Annotation
35 | Port
35 | Port
@@ -45,7 +45,7 @@ parseEntry rawEntry =
45 source =
45 source =
46 Text.pack rawEntry
46 Text.pack rawEntry
47 in
47 in
48− case run (entryParser source) (Utf8.fromString rawEntry) of
48+ case run (entryParser source) (BS_UTF8.fromString rawEntry) of
49 Right entry ->
49 Right entry ->
50 entry
50 entry
51
51
@@ -104,7 +104,7 @@ chompArgs =
104 ]
104 ]
105
105
106
106
107−tryAlias :: Parser (Maybe N.Name)
107+tryAlias :: Parser (Maybe Name)
108tryAlias =
108tryAlias =
109 oneOf
109 oneOf
110 [ try $
110 [ try $
compiler/src/Parse/Shader.hs+4−4
@@ -8,6 +8,7 @@ module Parse.Shader
8
8
9import qualified Data.List as List
9import qualified Data.List as List
10import qualified Data.Map as Map
10import qualified Data.Map as Map
11+import qualified Data.Name as Name
11import qualified Data.Text as Text
12import qualified Data.Text as Text
12import qualified Language.GLSL.Parser as GLP
13import qualified Language.GLSL.Parser as GLP
13import qualified Language.GLSL.Syntax as GLS
14import qualified Language.GLSL.Syntax as GLS
@@ -16,7 +17,6 @@ import qualified Text.Parsec.Error as Parsec
16
17
17import qualified AST.Source as Src
18import qualified AST.Source as Src
18import qualified AST.Utils.Shader as Shader
19import qualified AST.Utils.Shader as Shader
19−import qualified Elm.Name as N
20import qualified Reporting.Annotation as A
20import qualified Reporting.Annotation as A
21import qualified Reporting.Region as R
21import qualified Reporting.Region as R
22import Parse.Primitives (Parser, getPosition)
22import Parse.Primitives (Parser, getPosition)
@@ -71,9 +71,9 @@ emptyShader =
71addInput :: (GLS.StorageQualifier, Shader.Type, String) -> Shader.Shader -> Shader.Shader
71addInput :: (GLS.StorageQualifier, Shader.Type, String) -> Shader.Shader -> Shader.Shader
72addInput (qual, tipe, name) glDecls =
72addInput (qual, tipe, name) glDecls =
73 case qual of
73 case qual of
74− GLS.Attribute -> glDecls { Shader._attribute = Map.insert (N.fromString name) tipe (Shader._attribute glDecls) }
74+ GLS.Attribute -> glDecls { Shader._attribute = Map.insert (Name.fromString name) tipe (Shader._attribute glDecls) }
75− GLS.Uniform -> glDecls { Shader._uniform = Map.insert (N.fromString name) tipe (Shader._uniform glDecls) }
75+ GLS.Uniform -> glDecls { Shader._uniform = Map.insert (Name.fromString name) tipe (Shader._uniform glDecls) }
76− GLS.Varying -> glDecls { Shader._varying = Map.insert (N.fromString name) tipe (Shader._varying glDecls) }
76+ GLS.Varying -> glDecls { Shader._varying = Map.insert (Name.fromString name) tipe (Shader._varying glDecls) }
77 _ -> error "Should never happen due to `extractInputs` function"
77 _ -> error "Should never happen due to `extractInputs` function"
78
78
79
79
compiler/src/Parse/Type.hs+4−3
@@ -7,8 +7,9 @@ module Parse.Type
7 where
7 where
8
8
9
9
10+import qualified Data.Name as Name
11+
10import qualified AST.Source as Src
12import qualified AST.Source as Src
11−import qualified Elm.Name as N
12import Parse.Primitives (Parser, SParser, addLocation, checkSpace, getPosition, hint, spaces, oneOf)
13import Parse.Primitives (Parser, SParser, addLocation, checkSpace, getPosition, hint, spaces, oneOf)
13import qualified Parse.Primitives as P
14import qualified Parse.Primitives as P
14import qualified Parse.Primitives.Symbol as Symbol
15import qualified Parse.Primitives.Symbol as Symbol
@@ -108,7 +109,7 @@ app start =
108 return ( A.at start end tipe, end, pos )
109 return ( A.at start end tipe, end, pos )
109
110
110
111
111−unionConstructor :: SParser (A.Located N.Name, [Src.Type])
112+unionConstructor :: SParser (A.Located Name.Name, [Src.Type])
112unionConstructor =
113unionConstructor =
113 do start <- getPosition
114 do start <- getPosition
114 name <- Var.upper
115 name <- Var.upper
@@ -202,7 +203,7 @@ record start =
202 ]
203 ]
203
204
204
205
205−type Field = ( A.Located N.Name, Src.Type )
206+type Field = ( A.Located Name.Name, Src.Type )
206
207
207
208
208chompFields :: [Field] -> Parser [Field]
209chompFields :: [Field] -> Parser [Field]