<div dir="ltr">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><div class="gmail_quote">On Sat, Apr 15, 2017 at 11:43 AM, Jack Hill <span dir="ltr"><<a href="mailto:jackhill@jackhill.us" target="_blank">jackhill@jackhill.us</a>></span> wrote:<br><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>
<br>
<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>
seminal paper on them by Phil Wadler:<br>
<a href="https://page.mi.fu-berlin.de/scravy/realworldhaskell/materialien/the-essence-of-functional-programming.pdf" rel="noreferrer" target="_blank">https://page.mi.fu-berlin.de/s<wbr>cravy/realworldhaskell/materia<wbr>lien/the-essence-of-functional<wbr>-programming.pdf</a><br>
<br>
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>
<br>
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>
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>
mention of Monads. Surely there is a benefit that could be had…<br>
<br>
Anyone else have Lisp experience using Monads? Did it offer some major enhancements for you?<br>
<br>
- DM<br>
</blockquote>
<br></div></div>
Hi David,<br>
<br>
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">https://www.gnu.org/software/<wbr>guix/manual/html_node/The-Stor<wbr>e-Monad.html</a>>. They've even borrowed used >>= notation for bind.<br>
<br>
Best,<br>
Jack<br>______________________________<wbr>_________________<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" target="_blank">http://mail.haskell.org/cgi-<wbr>bin/mailman/listinfo/haskell-<wbr>cafe</a><br>
Only members subscribed via the mailman list are allowed to post.<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Jeff Brown | Jeffrey Benjamin Brown</div><div dir="ltr"><a href="https://msu.edu/~brown202/" style="font-size:12.8px" target="_blank">Website</a> | <a href="https://www.facebook.com/mejeff.younotjeff" style="font-size:12.8px" target="_blank">Facebook</a> | <a href="https://www.linkedin.com/in/jeffreybenjaminbrown" style="font-size:12.8px" target="_blank">LinkedIn</a><span style="font-size:12.8px">(spammy, so I often miss messages here) </span><span style="font-size:12.8px">|</span><span style="font-size:12.8px"> </span><a href="https://github.com/jeffreybenjaminbrown" style="font-size:12.8px" target="_blank">Github</a><span style="font-size:12.8px"> </span></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>
</div>