-- | Utilities for defining Read\/Show instances. module Data.Array.Parallel.Base.Text ( showsApp , readApp , readsApp , Read(..)) where import Text.Read showsApp :: Show a => Int -> String -> a -> ShowS showsApp k fn arg = showParen (k>10) (showString fn . showChar ' ' . showsPrec 11 arg) readApp :: Read a => String -> ReadPrec a readApp fn = parens $ prec 10 $ do Ident ide <- lexP if ide /= fn then pfail else step readPrec readsApp :: Read a => Int -> String -> ReadS a readsApp k fn = readPrec_to_S (readApp fn) k