[Haskell-cafe] A faithful strictly-accumulating writer

Zemyla zemyla at gmail.com
Fri Aug 30 04:49:32 UTC 2019


I wish we could separate listen and pass from the Writer monad, and
eventually deprecate them. Doing so would solve so many problems.

On Thu, Aug 29, 2019, 23:10 David Feuer <david.feuer at gmail.com> wrote:

> 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.
> _______________________________________________
> 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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20190829/a0073a77/attachment.html>


More information about the Haskell-Cafe mailing list