
Am 18.05.10 02:22, aditya siram wrote:
Haskell is considered by many as an inflexible language [1] . I describe a flexible language as one that supports any design you want (even a bad one) - if you can think it, you can code it and run it (bugs and all).
I share this opinion about Haskell but pursue it because I feel that one day it will open up and let me think more about the problem and less about how to get GHC to approve it.
The key point of the "rigidity" is that it forces you to think about the problem. If GHC does not approve my code, then it's either a typo manifesting as a type error, or it's a much deeper problem that highlights that I didn't think enough about it. And with a strict typing discipline, something else begins to happen: "Still, as usual, the types were a remarkable aid to writing the code: when we finally agreed on the types presented above, the code almost wrote itself." Ramsey, Dias, Peyton Jones. Hoopl: A Modular, Reusable Library for Dataflow Analysis and Transformation. http://tinyurl.com/hoopl-dataflow [pdf] Regards, Heinrich Apfelmus -- http://apfelmus.nfshost.com