-{-# OPTIONS -fno-implicit-prelude #-}
+{-# OPTIONS_GHC -fno-implicit-prelude #-}
-----------------------------------------------------------------------------
-- |
-- Module : Text.Read
--
-- Maintainer : libraries@haskell.org
-- Stability : provisional
--- Portability : portable
+-- Portability : non-portable (uses Text.ParserCombinators.ReadP)
+--
+-- Converting strings to values.
--
-- The "Text.Read" library is the canonical library to import for
--- 'Read'-class facilities. It offers an extended and much improved
--- 'Read' class, which constitutes a proposed alternative to the
--- Haskell98 'Read'. In particular, writing parsers is easier, and
+-- 'Read'-class facilities. For GHC only, it offers an extended and much
+-- improved 'Read' class, which constitutes a proposed alternative to the
+-- Haskell 98 'Read'. In particular, writing parsers is easier, and
-- the parsers are much more efficient.
--
-----------------------------------------------------------------------------
readParen, -- :: Bool -> ReadS a -> ReadS a
lex, -- :: ReadS String
+#if defined(__GLASGOW_HASKELL__) || defined(__HUGS__)
-- * New parsing functions
module Text.ParserCombinators.ReadPrec,
L.Lexeme(..),
lexP, -- :: ReadPrec Lexeme
+#endif
+#ifdef __GLASGOW_HASKELL__
readListDefault, -- :: Read a => ReadS [a]
readListPrecDefault, -- :: Read a => ReadPrec [a]
+#endif
) where
#ifdef __GLASGOW_HASKELL__
import GHC.Read
+#endif
+#if defined(__GLASGOW_HASKELL__) || defined(__HUGS__)
import Text.ParserCombinators.ReadPrec
import qualified Text.Read.Lex as L
#endif
+
+#ifdef __HUGS__
+-- copied from GHC.Read
+
+lexP :: ReadPrec L.Lexeme
+lexP = lift L.lex
+#endif