[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