[project @ 2002-05-09 13:16:29 by simonmar]
[ghc-base.git] / Text / Show.hs
index 28294f1..3f2e1a7 100644 (file)
@@ -1,17 +1,15 @@
 {-# OPTIONS -fno-implicit-prelude #-}
 -----------------------------------------------------------------------------
--- 
+-- |
 -- Module      :  Text.Show
 -- Copyright   :  (c) The University of Glasgow 2001
--- License     :  BSD-style (see the file libraries/core/LICENSE)
+-- License     :  BSD-style (see the file libraries/base/LICENSE)
 -- 
 -- Maintainer  :  libraries@haskell.org
 -- Stability   :  provisional
 -- Portability :  portable
 --
--- $Id: Show.hs,v 1.1 2001/06/28 14:15:04 simonmar Exp $
---
--- Exiting the program.
+-- The Show class and associated functions.
 --
 -----------------------------------------------------------------------------
 
@@ -26,9 +24,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