Carmack's aside about his 7 year old son learning to program brings up an interesting idea: What would happen if you taught a 7 year old to program with Haskell. I don't have any children, but I started programming at 7 so at the very least I can conduct a thought experiment about what it would mean if Haskell was the tool I had at my disposal instead of opaque C manuals and a hex editor I used to hack the Mech Warrior 2 binary when I couldn't beat a scenario.<p>My thoughts:<p>I probably would have intuitively grasped algebraic datatypes. It often frustrated me that I could not define new things like True and False to suit the game worlds I wanted to create.<p>I would have had little to know interest in math or recursion for its own sake. I'm pretty sure I would not have done well with those.<p>I would have probably written almost all of my code in the IO monad, with game rules defined outside.<p>Graphics programming in Haskell would have been no better than with any of the other languages.<p>Overall, I don't think Haskell would have stuck. I think I would have been easily frustrated, despite being able to structure programs better than I was able to in Basic. For proof of this, I look to my early abandonment of C/C++ for game development (even if the manuals were pretty much terrible). On the other hand, if I was presented a game written in Haskell (with source), maybe the outcome would have been different. I certainly managed to use a hex editor at that age, so if I had some goal I wanted to accomplish (like modifying the AI of a game), I think maybe anything would have been possible.