[Haskell-cafe] A faithful strictly-accumulating writer

David Feuer david.feuer at gmail.com
Fri Aug 30 04:09:26 UTC 2019


On Thu, Aug 29, 2019, 11:42 PM Li-yao Xia <lysxia at gmail.com> wrote:

> This looks like an interesting problem, but I'm a little confused about
> the objective. In what sense is it "faithful"?
>
>  > to prevent the computation from gaining unauthorized access to the
> state.
>
> Does that property have a formal definition? Are we looking for a
> one-to-one correspondence between a "better" WriterT and the naive WriterT?
>

Exactly. They should be isomorphic as sets and "morally" isomorphic as
monads. There will of course be distinctions in strictness


> What about (w -> s -> s) instead of ((w -> w) -> (s -> s))? It seems
> that `pass` needs the (w -> w), but if we leave `pass` aside, does that
> still look about right?
>

Yes. That's the type I started with, and then I got to `pass` and realized
it just wouldn't do the trick.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20190830/edadc71b/attachment.html>


More information about the Haskell-Cafe mailing list