showing Handle is impure
Dean Herington
heringto at cs.unc.edu
Tue Jul 15 14:34:34 EDT 2003
The `shows` function for type `Handle` is inappropriately impure. In my
opinion, showing a handle should merely identify it as a handle and
distinguish it from other handles. The information currently provided
by showing a handle should be provided with some other function; that
function should be in the IO monad.
swan(102)% ghci
___ ___ _
/ _ \ /\ /\/ __(_)
/ /_\// /_/ / / | | GHC Interactive, version 5.04.3, for Haskell
98.
/ /_\\/ __ / /___| | http://www.haskell.org/ghc/
\____/\/ /_/\____/|_| Type :? for help.
Loading package base ... linking ... done.
Loading package haskell98 ... linking ... done.
Prelude> :m IO
Prelude IO> h <- openFile "/dev/null" ReadMode
Prelude IO> h
{loc=/dev/null,type=readable,binary=False,buffering=block (8192)}
Prelude IO> c <- hGetContents h
Prelude IO> h
{closed}
More information about the Glasgow-haskell-bugs
mailing list