[Haskell] ANNOUNCE: silently-0.0.1 (prevent IO actions from writing to stdout)
trystan.s at comcast.net
Mon Mar 7 02:28:27 CET 2011
Announcing Silently, a package with two simple functions to run an IO action while preventing it from writing to stdout (or the given handle):
silently :: IO a -> IO a
hSilently :: Handle -> IO a -> IO a
An example in GHCI:
Prelude> :m + System.IO.Silently
Prelude System.IO.Silently> let printFail s = undefined :: IO()
Prelude System.IO.Silently> let test1 = print 1 >> silently (print 2) >> print 3
Prelude System.IO.Silently> let test2 = print 1 >> silently (printFail 2) >> print 3
Prelude System.IO.Silently> test1
Prelude System.IO.Silently> test2
*** Exception: Prelude.undefined
Prelude System.IO.Silently> print "stdout still works after exceptions"
"stdout still works after exceptions"
Any advice, comments, or questions are welcome,
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Haskell