[project @ 2005-03-15 17:19:09 by ross]
[ghc-base.git] / Text / Read.hs
index bf70920..16a4d15 100644 (file)
@@ -1,4 +1,4 @@
-{-# OPTIONS -fno-implicit-prelude #-}
+{-# OPTIONS_GHC -fno-implicit-prelude #-}
 -----------------------------------------------------------------------------
 -- |
 -- Module      :  Text.Read
@@ -7,12 +7,14 @@
 -- 
 -- 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.
 --
 -----------------------------------------------------------------------------
@@ -28,17 +30,30 @@ module Text.Read (
    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