projects
/
haskell-directory.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[project @ 2003-08-04 18:07:49 by panne]
[haskell-directory.git]
/
Text
/
ParserCombinators
/
ReadPrec.hs
diff --git
a/Text/ParserCombinators/ReadPrec.hs
b/Text/ParserCombinators/ReadPrec.hs
index
3c33bb1
..
1fbada4
100644
(file)
--- a/
Text/ParserCombinators/ReadPrec.hs
+++ b/
Text/ParserCombinators/ReadPrec.hs
@@
-32,6
+32,7
@@
module Text.ParserCombinators.ReadPrec
get, -- :: ReadPrec Char
look, -- :: ReadPrec String
(+++), -- :: ReadPrec a -> ReadPrec a -> ReadPrec a
get, -- :: ReadPrec Char
look, -- :: ReadPrec String
(+++), -- :: ReadPrec a -> ReadPrec a -> ReadPrec a
+ (<++), -- :: ReadPrec a -> ReadPrec a -> ReadPrec a
pfail, -- :: ReadPrec a
choice, -- :: [ReadPrec a] -> ReadPrec a
pfail, -- :: ReadPrec a
choice, -- :: [ReadPrec a] -> ReadPrec a
@@
-46,6
+47,7
@@
module Text.ParserCombinators.ReadPrec
import Text.ParserCombinators.ReadP
( ReadP
import Text.ParserCombinators.ReadP
( ReadP
+ , ReadS
, readP_to_S
, readS_to_P
)
, readP_to_S
, readS_to_P
)
@@
-53,7
+55,7
@@
import Text.ParserCombinators.ReadP
import qualified Text.ParserCombinators.ReadP as ReadP
( get
, look
import qualified Text.ParserCombinators.ReadP as ReadP
( get
, look
- , (+++)
+ , (+++), (<++)
, pfail
)
, pfail
)
@@
-123,6
+125,9
@@
look = lift ReadP.look
(+++) :: ReadPrec a -> ReadPrec a -> ReadPrec a
P f1 +++ P f2 = P (\n -> f1 n ReadP.+++ f2 n)
(+++) :: ReadPrec a -> ReadPrec a -> ReadPrec a
P f1 +++ P f2 = P (\n -> f1 n ReadP.+++ f2 n)
+(<++) :: ReadPrec a -> ReadPrec a -> ReadPrec a
+P f1 <++ P f2 = P (\n -> f1 n ReadP.<++ f2 n)
+
pfail :: ReadPrec a
pfail = lift ReadP.pfail
pfail :: ReadPrec a
pfail = lift ReadP.pfail
@@
-132,12
+137,6
@@
choice ps = foldr (+++) pfail ps
-- ---------------------------------------------------------------------------
-- Converting between ReadPrec and Read
-- ---------------------------------------------------------------------------
-- Converting between ReadPrec and Read
-#ifdef __GLASGOW_HASKELL__
--- We define a local version of ReadS here,
--- because its "real" definition site is in GHC.Read
-type ReadS a = String -> [(a,String)]
-#endif
-
readPrec_to_P :: ReadPrec a -> (Int -> ReadP a)
readPrec_to_P (P f) = f
readPrec_to_P :: ReadPrec a -> (Int -> ReadP a)
readPrec_to_P (P f) = f