From: simonmar Date: Wed, 4 Jul 2001 12:06:33 +0000 (+0000) Subject: [project @ 2001-07-04 12:06:33 by simonmar] X-Git-Tag: nhc98-1-18-release~1218 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=4b6fe79a37223d266575147bc23b9478a31788cb;p=ghc-base.git [project @ 2001-07-04 12:06:33 by simonmar] Add showListWith :: (a -> ShowS) -> [a] -> ShowS from GHC's NumExts library. --- diff --git a/Text/Show.hs b/Text/Show.hs index 28294f1..17e9f44 100644 --- a/Text/Show.hs +++ b/Text/Show.hs @@ -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.2 2001/07/04 12:06:33 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