-----BEGIN PGP SIGNED MESSAGE-----
    Hash: SHA256
    
    https://hackage.haskell.org/package/silently may be of interest to
    you. Although I do not now whether it is threadsafe.
    
    On 06/30/2015 08:27 PM, Hiromi ISHII wrote:
    > Hi,
>
> I'm currently writing a web app to check the spec of input code
> usging QuickCheck.
> quickCheck* functions writes results to stderr & stdout, but I
> don't want them written to the app's original stdout/err.
> (I'm using SafeHaskell features to avoid malicious code executed,
> so don't worry about that :-))
>
> So I want to execute I/O action hijacking stdout/err in a thread-safe manner.
> For example, I need function like below:
>
> censorHandles :: IO a -> IO (a, String, String)
> censorHandles = ...
>
> or
>
> withStd :: Handle -> Handle -> Handle -> IO a -> IO a
> withStd = ...
>
> -- Hiromi ISHII
> konn.jinro@gmail.com
>
>
>
>
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe@haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
    
    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v2
    
    iQEcBAEBCAAGBQJVkuDxAAoJEM0PYZBmfhoBZUIIALUtTNr760pmWUg1CNXmYAzc
    /0dh2vVY9aidf7FV9OGlKB2wif1JMLbU7jpY4d0KIkIO4idpMjJXVRjLwiGtJngz
    8jwBj2A6Y/uhx3FelJmO7F4m+RdwMGOQHsxTrnZET1HoCy/B+yEftNWAKht+OCA0
    UOzWWYlcb2Z+JcLGoSL5xiRjkDhFo6QpdyMAiE9hZ6LzbKG06lQCslz2pRCY2wSx
    fdPlWzZnZtZVIgpjICe7lrCCT6yynGO4mdPbu3fQ/b3g84qNlsVrpoaAXtOERy7W
    k5XjpLBcV0qv1+xjlpr6pviQPLRcpod2G8ZxvjuRdTpJXXkJV90nkcMVCPYv244=
    =yMaF
    -----END PGP SIGNATURE-----