[Haskell-cafe] Wow Monads!

David McClain dbm at refined-audiometrics.com
Sat Apr 15 21:18:29 UTC 2017


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.

What’s more important is what a Monad does and enables. Everything else is window dressing.

- DM

> On Apr 15, 2017, at 12:18, Jeffrey Brown <jeffbrown.the at gmail.com> wrote:
> 
> 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.
> 
> On Sat, Apr 15, 2017 at 11:43 AM, Jack Hill <jackhill at jackhill.us <mailto:jackhill at jackhill.us>> wrote:
> On Sat, 15 Apr 2017, David McClain wrote:
> 
> 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
> seminal paper on them by Phil Wadler:
> https://page.mi.fu-berlin.de/scravy/realworldhaskell/materialien/the-essence-of-functional-programming.pdf <https://page.mi.fu-berlin.de/scravy/realworldhaskell/materialien/the-essence-of-functional-programming.pdf>
> 
> 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.
> 
> 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
> 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
> mention of Monads. Surely there is a benefit that could be had…
> 
> Anyone else have Lisp experience using Monads? Did it offer some major enhancements for you?
> 
> - DM
> 
> Hi David,
> 
> My lisp experience comes mostly from Scheme, but GNU Guix build tool/package manager has a monad abstraction: <https://www.gnu.org/software/guix/manual/html_node/The-Store-Monad.html <https://www.gnu.org/software/guix/manual/html_node/The-Store-Monad.html>>. They've even borrowed used >>= notation for bind.
> 
> Best,
> Jack
> _______________________________________________
> Haskell-Cafe mailing list
> To (un)subscribe, modify options or view archives go to:
> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe <http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe>
> Only members subscribed via the mailman list are allowed to post.
> 
> 
> 
> -- 
> Jeff Brown | Jeffrey Benjamin Brown
> Website <https://msu.edu/~brown202/>   |   Facebook <https://www.facebook.com/mejeff.younotjeff>   |   LinkedIn <https://www.linkedin.com/in/jeffreybenjaminbrown>(spammy, so I often miss messages here)   |   Github <https://github.com/jeffreybenjaminbrown>   
> _______________________________________________
> 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/20170415/5ac8571c/attachment.html>


More information about the Haskell-Cafe mailing list