<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">I don’t think it matters much about typing in this case. I am free to name the Monads anything I like, probably a name indicative of its purpose. I do see that if you insist on living by the conventional >> and >>= naming that it would need type checking to help it select the correct thing.<div class=""><br class=""></div><div class="">What’s more important is what a Monad does and enables. Everything else is window dressing.</div><div class=""><br class=""></div><div class="">- DM</div><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Apr 15, 2017, at 12:18, Jeffrey Brown <<a href="mailto:jeffbrown.the@gmail.com" class="">jeffbrown.the@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">Using monads without static typing sounds hard. When I do anything monadic, I'm constantly using the :t directive to check type signatures, to make sure I'm plugging the right thing into the right thing.</div><div class="gmail_extra"><br class=""><div class="gmail_quote">On Sat, Apr 15, 2017 at 11:43 AM, Jack Hill <span dir="ltr" class=""><<a href="mailto:jackhill@jackhill.us" target="_blank" class="">jackhill@jackhill.us</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On Sat, 15 Apr 2017, David McClain wrote:<br class="">
<br class="">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
It’s been about 15 years on/off since I first looked at Monads. This weekend I finally sat down and really learned what they are, how they work. I found what looks like the<br class="">
seminal paper on them by Phil Wadler:<br class="">
<a href="https://page.mi.fu-berlin.de/scravy/realworldhaskell/materialien/the-essence-of-functional-programming.pdf" rel="noreferrer" target="_blank" class="">https://page.mi.fu-berlin.de/s<wbr class="">cravy/realworldhaskell/materia<wbr class="">lien/the-essence-of-functional<wbr class="">-programming.pdf</a><br class="">
<br class="">
I’m a pretty heavy Common Lisp guy, going on 30 years with it. I also did tons of SML and OCaml programming. But I only dipped my toe into Haskell a few times.<br class="">
<br class="">
What I was looking for was a more in-depth understanding of Monads and how they work. I remember reading that Wadler paper many years ago, and I was intrigued by the conciseness<br class="">
of changing the interpreter to do different instrumentation. I was hoping to find a magic bullet like that for my Lisp code. And I noticed that Lisp almost never makes any<br class="">
mention of Monads. Surely there is a benefit that could be had…<br class="">
<br class="">
Anyone else have Lisp experience using Monads? Did it offer some major enhancements for you?<br class="">
<br class="">
- DM<br class="">
</blockquote>
<br class=""></div></div>
Hi David,<br class="">
<br class="">
My lisp experience comes mostly from Scheme, but GNU Guix build tool/package manager has a monad abstraction: <<a href="https://www.gnu.org/software/guix/manual/html_node/The-Store-Monad.html" rel="noreferrer" target="_blank" class="">https://www.gnu.org/software/<wbr class="">guix/manual/html_node/The-Stor<wbr class="">e-Monad.html</a>>. They've even borrowed used >>= notation for bind.<br class="">
<br class="">
Best,<br class="">
Jack<br class="">______________________________<wbr class="">_________________<br class="">
Haskell-Cafe mailing list<br class="">
To (un)subscribe, modify options or view archives go to:<br class="">
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank" class="">http://mail.haskell.org/cgi-<wbr class="">bin/mailman/listinfo/haskell-<wbr class="">cafe</a><br class="">
Only members subscribed via the mailman list are allowed to post.<br class=""></blockquote></div><br class=""><br clear="all" class=""><div class=""><br class=""></div>-- <br class=""><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr" class=""><div class=""><div dir="ltr" class=""><div class=""><div dir="ltr" class=""><div class=""><div dir="ltr" class=""><div dir="ltr" class=""><div dir="ltr" class=""><div dir="ltr" class=""><div dir="ltr" class=""><div dir="ltr" class=""><div dir="ltr" class=""><div dir="ltr" class=""><div dir="ltr" class=""><div dir="ltr" class=""><div dir="ltr" class=""><div dir="ltr" class=""><div dir="ltr" class=""><div class="">Jeff Brown | Jeffrey Benjamin Brown</div><div dir="ltr" class=""><a href="https://msu.edu/~brown202/" style="font-size:12.8px" target="_blank" class="">Website</a>   |   <a href="https://www.facebook.com/mejeff.younotjeff" style="font-size:12.8px" target="_blank" class="">Facebook</a>   |   <a href="https://www.linkedin.com/in/jeffreybenjaminbrown" style="font-size:12.8px" target="_blank" class="">LinkedIn</a><span style="font-size:12.8px" class="">(spammy, so I often miss messages here)   </span><span style="font-size:12.8px" class="">|</span><span style="font-size:12.8px" class="">   </span><a href="https://github.com/jeffreybenjaminbrown" style="font-size:12.8px" target="_blank" class="">Github</a><span style="font-size:12.8px" class="">   </span></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>
</div>
_______________________________________________<br class="">Haskell-Cafe mailing list<br class="">To (un)subscribe, modify options or view archives go to:<br class=""><a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" class="">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br class="">Only members subscribed via the mailman list are allowed to post.</div></blockquote></div><br class=""></div></body></html>