Earlier quoted context omitted.
>1. modularity (and now that they have added generative functors à la SML, you can have true abstraction) Could you share some information regarding Haskell and it's 'modularity' problem (vs. the ML family of languages). I'm fond of the way SML projects can be structured. How are people solving this using Haskell? Are there any interesting solutions for creating modular Haskell application/system's I can see today? T…
There is a weak form of modularity which can be achieved by using two parts of haskell: 1. hiding constructors in files 2. type classes But it doesn't really begin to approach the kind of structuring that is possible in an ML-like system. Unfortunately, the issue is very (needlessly) controversial, and I don't think I want to get dragged into it here. I'll mention, though, that Haskell does have one form of modularit…
I'd actually argue the opposite. MLton is one of the best whole program optimizing compilers I have ever used. There are virtually no penalties for abstraction. OCaml has a bit of trouble here, from what I've heard, but I've never personally run into serious performance problems as a result of abstraction.