
On Sun, Sep 25, 2011 at 12:45 AM, Christopher Howard
... snip ... Once I finally gave up on "learnyouahaskell" and other ridiculous tutorials, I found the real functional programming textbooks, ...
Can I ask what books these are, and furthermore what makes them more 'real' than LYAH or RWH? I think both of them are quite good for just putting people on their feet and getting them writing code (although RWH can come off as a bit evangelical at times.) These kinds of works certainly are not for everybody, but I'm interested in your definition of 'real' vs 'ridiculous' more than anything, since I think it's very 'real' material for most programmers (I just find it funny because per my own experience, I'd think most people would write off type-theory textbooks as "ridiculous" and "not real", as opposed to material like LYAH/RWH. We'll ignore them, though.) I guess the real question isn't quite where the definitions of 'real' differ, but what you're trying to gain from reading these works. If you really *do* want to know about things like System F, or HM type inference, or the various kinds of polymorphism found in programming languages, then yes, LYAH and RWH are probably 'ridiculous' by those standards - and there are great books on these subjects too, in particular Benjamin Pierce's "Types and Programming Languages." Going back to your initial question, I think the concepts are mostly orthogonal, aren't they? It's hard to know what you're asking. I'm not the biggest web-dev person in existence, but would it not be possible to write a RESTful service in something like Haskell, where your code you wrote is pure and cleanly isolated and all the other stuff we love? You could say programs like XMonad follow the 'MVC' pattern in its own way, as it cleanly separates its model - the internal Zipper data structure - from its view - X11 rendering - from its controller - configuration/input response. Is there some rigid pattern that must be followed closer than this? Or are you thinking about such overall designs that are more 'in tune' with FP and PL research itself? For many questions of this nature, I don't know how much type theory or PL semantics is going to come into the question - it exists in a different strata, it seems. I'm perfectly open to being proven wrong on this point though, since it's more an observation as a result of your question. P.S. Personally, I think it's wonderful we actually have a community (and people like you!) who're interested in taking the time to learn about these topics, for whatever reason. I actually think that much of the subject matter in the field is very rich, yet approachable - speaking from anecdotal evidence as someone who has no higher-math education. -- Regards, Austin