<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <br>
    -----BEGIN PGP SIGNED MESSAGE-----<br>
    Hash: SHA256<br>
    <br>
    <a class="moz-txt-link-freetext" href="https://hackage.haskell.org/package/silently">https://hackage.haskell.org/package/silently</a> may be of interest to
    you. Although I do not now whether it is threadsafe.<br>
    <br>
    On 06/30/2015 08:27 PM, Hiromi ISHII wrote:<br>
    <span style="white-space: pre;">> 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
> <a class="moz-txt-link-abbreviated" href="mailto:konn.jinro@gmail.com">konn.jinro@gmail.com</a>
>
>
>
>
>
> _______________________________________________
> Haskell-Cafe mailing list
> <a class="moz-txt-link-abbreviated" href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a>
> <a class="moz-txt-link-freetext" href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a></span><br>
    <br>
    -----BEGIN PGP SIGNATURE-----<br>
    Version: GnuPG v2<br>
    <br>
    iQEcBAEBCAAGBQJVkuDxAAoJEM0PYZBmfhoBZUIIALUtTNr760pmWUg1CNXmYAzc<br>
    /0dh2vVY9aidf7FV9OGlKB2wif1JMLbU7jpY4d0KIkIO4idpMjJXVRjLwiGtJngz<br>
    8jwBj2A6Y/uhx3FelJmO7F4m+RdwMGOQHsxTrnZET1HoCy/B+yEftNWAKht+OCA0<br>
    UOzWWYlcb2Z+JcLGoSL5xiRjkDhFo6QpdyMAiE9hZ6LzbKG06lQCslz2pRCY2wSx<br>
    fdPlWzZnZtZVIgpjICe7lrCCT6yynGO4mdPbu3fQ/b3g84qNlsVrpoaAXtOERy7W<br>
    k5XjpLBcV0qv1+xjlpr6pviQPLRcpod2G8ZxvjuRdTpJXXkJV90nkcMVCPYv244=<br>
    =yMaF<br>
    -----END PGP SIGNATURE-----<br>
    <br>
  </body>
</html>