git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Added parsing check for wildcard type when parsing row endings.
commitf7685450f21f5e91406ddf0ef7aeea4ffc567ff7 authorRossMeikleham <rossmeikleham@hotmail.co.uk> dateFri 2 Jan 2015, 08:49 (12 years ago) parent2881a5b
2 files changed+9−1
examples/passing/TypeWildcardsRecordExtension.purs+6 src/Language/PureScript/Parser/Types.hs+3−1
examples/passing/TypeWildcardsRecordExtension.pursnew file+6
@@ -0,0 +1,6 @@
1+module Main where
2+
3+foo :: forall a. {b :: Number | a} -> {b :: Number | _}
4+foo f = f
5+
6+main = Debug.Trace.trace "Done"
src/Language/PureScript/Parser/Types.hs+3−1
@@ -126,7 +126,9 @@ parseNameAndType :: TokenParser t -> TokenParser (String, t)
126126parseNameAndType p = (,) <$> (indented *> (lname <|> stringLiteral) <* indented <* doubleColon) <*> p
127127
128128parseRowEnding :: TokenParser Type
129−parseRowEnding = P.option REmpty (TypeVar <$> (indented *> pipe *> indented *> identifier))
129+parseRowEnding = P.option REmpty $ indented *> pipe *> indented *> P.choice (map P.try
130+ [ parseTypeWildcard
131+ , TypeVar <$> identifier ])
130132
131133parseRow :: TokenParser Type
132134parseRow = (curry rowFromList <$> commaSep (parseNameAndType parsePolyType) <*> parseRowEnding) P.<?> "row"