I really admire Simon for his work on functional languages in general, and Haskell in particular. I didn't know much about him personally until reading this interview, which is probably my favorite so far.
Testing and debugging functional programs is both easy, because the functions are stateless and extremely encapsulated, and hard, because using print statements is awkward and debuggers are immature.
Software Transactional Memory (STM) is a got research topic for language-based optimistic concurrency control that fits particularly well with functional languages. Simon is also insightful on this topic.
He also had a great reading list, and I wish all the interviewes provided more in-depth lists too.
Interview with Peyton Jones kind of answered my question how to approach a program design in functional language. I have to admit that I couldn’t follow this discussion 100% most probably because of my very shaky understanding of functional languages and Haskell in particular.
Testing and debugging functional programs is both easy, because the functions are stateless and extremely encapsulated, and hard, because using print statements is awkward and debuggers are immature.
Software Transactional Memory (STM) is a got research topic for language-based optimistic concurrency control that fits particularly well with functional languages. Simon is also insightful on this topic.
He also had a great reading list, and I wish all the interviewes provided more in-depth lists too.