1. 13
  1.  

  2. 0

    The fact that this recurs should cause one to question the value of being in the loop in the first place.

    1. 1

      Are you arguing that we shouldn’t understand basic concepts instead? Or that we should not point out an incorrect understanding of them? If you’re asking the question, what is your answer to your own hypothetical?

      I don’t see this as any different than common misunderstandings of the Heisenberg Uncertainty Principle. A lot of people do not understand it, often times with really bad understanding of it. I don’t see why that should mean we should consider quantum mechanics as not having value.

      1. 3

        I’m arguing that these fundamentals are too important to be learned in a flavor-of-the-day, 280 character thought leader tweet. Reducing such beautiful concepts to sound bites is intellectual violence in my eyes. It may broaden the immediate reach of an idea but I’m not sure if that is worth the intellectual damage done by such reductionism. Monads are not just pipes, though that can be a place to start. I think there are more effective ways to learn, especially if you look at it in terms of efficacy/time spent. And if people are serious about learning this stuff, they need to dig in.

        In other words, there’s no shortcut to wisdom or insight.

        Because of this, I may get annoyed at partial/incomplete understandings of various topics, but I rarely feel the need to step in and correct them.

        1. 1

          I do collect descriptions of them for when I have gime to dig in. After I do that, I usually go back to look at my stash of links to try finding the minimum set to teach a topic. So, what do you have that teaches monads more like you prefer?

          1. 3

            My personal opinion, is go straight to the source of Monads in Haskell, Philip Wadler: http://homepages.inf.ed.ac.uk/wadler/papers/marktoberdorf/baastad.pdf http://homepages.inf.ed.ac.uk/wadler/papers/monads/monads.ps http://homepages.inf.ed.ac.uk/wadler/papers/essence/essence.ps

            Until I read through the original papers I felt like I had a gap with everyone elses explanations. These papers really helped me learn them from their first principles. That and a TON of practicing by trying to break the laws to see what happens when I tried making “almost monads” in Haskell.

            More here: http://homepages.inf.ed.ac.uk/wadler/topics/monads.html

            1. 1

              Thanks for the links. I agree on general principle of breaking the rules to help understand or validate them. I was doing that with some formal stuff recently. :)

              1. 2

                Its definitely fun! In my opinion nothing replaces doing things wrong to better understand how something works. I never really learn by doing things right, I have to fail before I understand.

            2. 2

              I think it is hard to beat the systematic approach taken by Haskell Programming from First Principles, which builds up conceptually to monads. I say this because I have tried both the “use in violence” method by fighting the compiler until it typechecks, and the “harder” way of studying.

              If I had actually just studied it upfront, I probably would have saved myself a great deal of time and agony versus letting GHC teach me via compile errors.

              When people talk of monads just being pipes/promises/burritos/whatever, they’re usually giving you one instance of them. Right now, if I showed you how just the Maybe monad operated, you’d probably say, “huh, so what?” Confusing this instance with the concept itself truncates the idea and trivializes it, making it substantially less beautiful. This is the violence I was referring to! So, while I wouldn’t dissuade people from perusing monad tutorials, I really think it needs a more rigorous study in order to truly be appreciated.

              1. 1

                I see what you’re saying. Maybe when I finally attempt Haskell Ill get it more. Then again, I might be able to approximate that by comparing a foundational work like mitchy’s links to instance-oriented tutorials. The pattern might start to click. Im saying that for the case I want to learn them before Haskell.

            3. 1

              Ah cool, thanks, I was worried you were arguing for the opposite there.

              In other words, there’s no shortcut to wisdom or insight.

              We’re in total agreement then.