Patrick Thomson

Results 51 comments of Patrick Thomson

In `fused-effects-exceptions` there’s a carrier for `State` that uses an `IORef` and thus doesn’t lose information. We could add one for `Writer` as well.

I’ve hit this in practice, and usually work around it by using the types from `transformers` (though, like variety, a light dusting of orphan instances is the spice of life)....

Here’s an example of a `MonadMask` instance that would be a huge drag to maintain by hand: https://hackage.haskell.org/package/exceptions-0.10.4/docs/src/Control.Monad.Catch.html#line-400

This is very interesting. I’m going to see if I can reproduce in https://github.com/patrickt/effects-benchmarks.

I don’t think we observed any performance degradation in our internal app, but I could be wrong, and that’s a very different workload.

Haven’t observed it in `effects-benchmarks`. Going to try the `bench` folder here and see if that reveals something. Perhaps INLINE stuff is coming into play, or this is an instance...

Hmm, can’t reproduce this in the benchmark suite either. With 1.0: https://gist.github.com/patrickt/ac727d6e5ca9ee557c5b6ccb7115e26b With 1.1: https://gist.github.com/patrickt/7beb3f075b04d3fc15f39b238666bc41

My position is “support back to n-2 releases”. So we should drop support for 8.2 when 8.8 arrives.

I think that’s a good policy: n-2 releases, and more if we don’t have to CPP things away.

I wrote a wrapper for the async library here: https://github.com/patrickt/fused-effects-async/blob/master/src/Control/Effect/Concurrent/Async.hs