@@ -897,16 +897,16 @@ ExprList ::=
897897 -}
898898listExpr :: SyntaxInfo -> IdrisParser PTerm
899899listExpr syn = do lchar '['; fc <- getFC;
900− try (lchar ']' *> return (mkList fc [])) <|> (do
901− x <- expr syn
902− (do try (lchar '|')
900+ try ((lchar ']' <?> "end of list expression") *> return (mkList fc [])) <|> (do
901+ x <- expr syn <?> "expression"
902+ (do try (lchar '|') <?> "list comprehension"
903903 qs <- sepBy1 (do_ syn) (lchar ',')
904904 lchar ']'
905905 return (PDoBlock (map addGuard qs ++
906906 [DoExp fc (PApp fc (PRef fc (sUN "return"))
907907 [pexp x])]))) <|> (do
908− xs <- many (lchar ',' *> expr syn)
909− lchar ']'
908+ xs <- many ((lchar ',' <?> "list element") *> expr syn)
909+ lchar ']' <?> "end of list expression"
910910 return (mkList fc (x:xs))))
911911 <?> "list expression"
912912 where