[project @ 2002-04-24 16:31:37 by simonmar]
[ghc-base.git] / Text / Show.hs
index 28294f1..87597c0 100644 (file)
@@ -1,6 +1,6 @@
 {-# OPTIONS -fno-implicit-prelude #-}
 -----------------------------------------------------------------------------
--- 
+-- |
 -- Module      :  Text.Show
 -- Copyright   :  (c) The University of Glasgow 2001
 -- License     :  BSD-style (see the file libraries/core/LICENSE)
@@ -9,9 +9,9 @@
 -- Stability   :  provisional
 -- Portability :  portable
 --
--- $Id: Show.hs,v 1.1 2001/06/28 14:15:04 simonmar Exp $
+-- $Id: Show.hs,v 1.3 2002/04/24 16:31:46 simonmar Exp $
 --
--- Exiting the program.
+-- The Show class and associated functions.
 --
 -----------------------------------------------------------------------------
 
@@ -26,9 +26,21 @@ module Text.Show (
    showChar,           -- :: Char -> ShowS
    showString,         -- :: String -> ShowS
    showParen,          -- :: Bool -> ShowS -> ShowS
+   showListWith,       -- :: (a -> ShowS) -> [a] -> ShowS 
  ) where
 
 #ifdef __GLASGOW_HASKELL__
 import GHC.Show
 #endif   
 
+#ifdef __GLASGOW_HASKELL__
+showListWith :: (a -> ShowS) -> [a] -> ShowS 
+showListWith = showList__
+#else
+showList__ :: (a -> ShowS) ->  [a] -> ShowS
+showList__ _     []     s = "[]" ++ s
+showList__ showx (x:xs) s = '[' : showx x (showl xs)
+  where
+    showl []     = ']' : s
+    showl (y:ys) = ',' : showx y (showl ys)
+#endif