@@ -46,7 +46,7 @@ isOp c = isSymbol c || elem c "+-/*=.$<>:&|^?%#@~!"
47symOp :: (Monad m) => ParsecT [Char] u m String
47symOp :: (Monad m) => ParsecT [Char] u m String
48symOp = do op <- many1 (satisfy isOp)
48symOp = do op <- many1 (satisfy isOp)
49− guard (op `notElem` [ "=", "..", "->", "--" ])
49+ guard (op `notElem` [ "=", "..", "->", "--", "|", "\8594" ])
52arrow :: (Monad m) => ParsecT [Char] u m String
52arrow :: (Monad m) => ParsecT [Char] u m String
@@ -91,9 +91,9 @@ betwixt a b c = do char a ; out <- c
91 char b <?> "closing '" ++ [b] ++ "'" ; return out
91 char b <?> "closing '" ++ [b] ++ "'" ; return out
93surround a z name p = do
93surround a z name p = do
94− char a ; whitespace ; a <- p ; whitespace
94+ char a ; whitespace ; v <- p ; whitespace
95 char z <?> unwords ["closing", name, show z]
95 char z <?> unwords ["closing", name, show z]
98braces :: (Monad m) => ParsecT [Char] u m a -> ParsecT [Char] u m a
98braces :: (Monad m) => ParsecT [Char] u m a -> ParsecT [Char] u m a
99braces = surround '[' ']' "brace"
99braces = surround '[' ']' "brace"