<div dir="auto">I wish we could separate listen and pass from the Writer monad, and eventually deprecate them. Doing so would solve so many problems.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Aug 29, 2019, 23:10 David Feuer <<a href="mailto:david.feuer@gmail.com">david.feuer@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto"><div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Aug 29, 2019, 11:42 PM Li-yao Xia <<a href="mailto:lysxia@gmail.com" target="_blank" rel="noreferrer">lysxia@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">This looks like an interesting problem, but I'm a little confused about <br>
the objective. In what sense is it "faithful"?<br>
<br>
 > to prevent the computation from gaining unauthorized access to the state.<br>
<br>
Does that property have a formal definition? Are we looking for a <br>
one-to-one correspondence between a "better" WriterT and the naive WriterT?<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">Exactly. They should be isomorphic as sets and "morally" isomorphic as monads. There will of course be distinctions in strictness </div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
What about (w -> s -> s) instead of ((w -> w) -> (s -> s))? It seems <br>
that `pass` needs the (w -> w), but if we leave `pass` aside, does that <br>
still look about right?<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">Yes. That's the type I started with, and then I got to `pass` and realized it just wouldn't do the trick.</div></div>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
To (un)subscribe, modify options or view archives go to:<br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
Only members subscribed via the mailman list are allowed to post.</blockquote></div>