Fix #760: Allow ':' in place of '=' in record match
commitffd0e4d17a61a65187673d8d88859e9a048e8d76
authorJack Leigh <jack.leigh@gmail.com>
dateSun 14 Dec 2014, 22:42 (12 years ago)
parentdddc198
examples/passing/Objects.purs+5
@@ -26,5 +26,10 @@ module Main where
2626
2727 test5 = case { "***": 1 } of
2828 { "***" = n } -> n
29+
30+ test6 = case { "***": 1 } of
31+ { "***": n } -> n
32+
33+ test7 {a: snoog , b : blah } = blah
2934
3035 main = Debug.Trace.trace "Done"
src/Language/PureScript/Parser/Declarations.hs+1−1
@@ -436,7 +436,7 @@ parseNullBinder = C.lexeme (P.char '_' *> P.notFollowedBy C.identLetter) *> retu
436436parseIdentifierAndBinder :: P.Parsec String ParseState (String, Binder)
437437parseIdentifierAndBinder = do
438438 name <- C.lexeme (C.identifierName <|> C.stringLiteral)
439− _ <- C.lexeme $ C.indented *> P.char '='
439+ _ <- C.lexeme $ C.indented *> (P.char '=' <|> P.char ':')
440440 binder <- C.indented *> parseBinder
441441 return (name, binder)
442442