Ah, you're right. I wrote that while recovering from a migraine, and it was bogus!

On Wed, Nov 11, 2020, 11:57 PM Viktor Dukhovni <ietf-dane@dukhovni.org> wrote:
On Wed, Nov 11, 2020 at 09:47:43PM -0500, David Feuer wrote:

> If m is occlusive, so is ReaderT e m:
>
> [...]
>
> I believe this works for StateT as well.

I am puzzled what you mean by that, given that

    State s a = StateT s Identity a

and while "Identity" is "occlusive", State is not.

    λ> import Control.Monad
    λ> import Control.Monad.Trans.State.Strict
    λ> runState (liftM2 (const id) (put True :: State Bool ()) get) False
    (True,True)
    λ> runState ((const id) (put True :: State Bool ()) get) False
    (False,False)

--
    Viktor.
_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Only members subscribed via the mailman list are allowed to post.