projects
/
haskell-directory.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[project @ 2005-10-21 10:24:58 by ross]
[haskell-directory.git]
/
Text
/
Read.hs
diff --git
a/Text/Read.hs
b/Text/Read.hs
index
16a4d15
..
bcb2d09
100644
(file)
--- a/
Text/Read.hs
+++ b/
Text/Read.hs
@@
-35,6
+35,7
@@
module Text.Read (
module Text.ParserCombinators.ReadPrec,
L.Lexeme(..),
lexP, -- :: ReadPrec Lexeme
module Text.ParserCombinators.ReadPrec,
L.Lexeme(..),
lexP, -- :: ReadPrec Lexeme
+ parens, -- :: ReadPrec a -> ReadPrec a
#endif
#ifdef __GLASGOW_HASKELL__
readListDefault, -- :: Read a => ReadS [a]
#endif
#ifdef __GLASGOW_HASKELL__
readListDefault, -- :: Read a => ReadS [a]
@@
-56,4
+57,14
@@
import qualified Text.Read.Lex as L
lexP :: ReadPrec L.Lexeme
lexP = lift L.lex
lexP :: ReadPrec L.Lexeme
lexP = lift L.lex
+
+parens :: ReadPrec a -> ReadPrec a
+parens p = optional
+ where
+ optional = p +++ mandatory
+ mandatory = do
+ L.Punc "(" <- lexP
+ x <- reset optional
+ L.Punc ")" <- lexP
+ return x
#endif
#endif