on master help sign in
Convince parser to commit to lists, records, and tuples
commitd9918e0ac2172b4aeefb1bbc22bebe711fe049de authorEvan Czaplicki <info@elm-lang.org> dateTue 13 Aug 2013, 23:41 (13 years ago) parent61b5d8f
1 file changed+8−5
compiler/Parse/Helpers.hs+8−5
compiler/Parse/Helpers.hs+8−5
@@ -110,11 +110,14 @@ spaceSep1 p = (:) <$> p <*> spacePrefix p
110110spacePrefix p = constrainedSpacePrefix p (\_ -> return ())
111111
112112constrainedSpacePrefix p constraint =
113− many . try $ do
114− n <- whitespace
115− constraint n
116− indented
117− p
113+ many $ choice [ try (spacing >> lookAhead (oneOf "[({")) >> p
114+ , try (spacing >> p)
115+ ]
116+ where
117+ spacing = do
118+ n <- whitespace
119+ constraint n
120+ indented
118121
119122failure msg = do
120123 inp <- getInput