git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Make row syntax more flexible
6e1d412Łukasz Hanuszczak
src/Language/PureScript/Parser/Types.hs+3−1
@@ -128,7 +128,9 @@ parseNameAndType p = (,) <$> (indented *> (lname <|> stringLiteral) <* indented
128parseRowEnding :: TokenParser Type
128parseRowEnding :: TokenParser Type
129parseRowEnding = P.option REmpty $ indented *> pipe *> indented *> P.choice (map P.try
129parseRowEnding = P.option REmpty $ indented *> pipe *> indented *> P.choice (map P.try
130 [ parseTypeWildcard
130 [ parseTypeWildcard
131− , TypeVar <$> identifier ])
131+ , TypeVar <$> identifier
132+ , parseTypeConstructor
133+ , parens parseRow ])
132
134
133parseRow :: TokenParser Type
135parseRow :: TokenParser Type
134parseRow = (curry rowFromList <$> commaSep (parseNameAndType parsePolyType) <*> parseRowEnding) P.<?> "row"
136parseRow = (curry rowFromList <$> commaSep (parseNameAndType parsePolyType) <*> parseRowEnding) P.<?> "row"