On Sun, 27 May 2007, Andrew Coppin wrote: > Seriously. Haskell seems to attract weird and wonderful type system extensions > like a 4 Tesla magnet attracts iron nails... And most of these extensions seem > to serve no useful purpose, as far as I can determine. And yet, all nontrivial > Haskell programs *require* the use of at least 3 language extensions. It's as > if everyone thinks that Haskell 98 sucks so much that it can't be used for any > useful programs. This makes me very sad. I think Haskell 98 is a wonderful > language, and it's the language I use for almost all my stuff. I don't > understand why people keep trying to take this small, simple, clean, elegant > language and bolt huge, highly complex and mostly incomprehensible type system > extensions onto it... >
Yeah, who needed type classes anyway? By which I mean that that's always been the way with haskell, and once you get what the extensions do they tend to in fact be highly natural - sometimes to the extent that people forget that they were ever an extension (constructor classes, anyone?). For example, GADTs let you implement monads as interpreters by defining a datatype representing the abstract syntax tree that describes a computation - you can't get this to type without at a minimum existential types and for many monad operations you need the full power of GADTs to declare a corresponding constructor. I imagine it would never have occurred to you to try implementing a monad that way, right? Similarly, a lot of the developments with type classes and polymorphism have been about letting people write sufficiently general libraries - they're driven by the demands of code that people want to write, but often not so much by the demands of single, simple applications. Incidentally, Haskell 98 isn't that small a language itself - there's plenty of sugar around. -- [EMAIL PROTECTED] There is no magic bullet. There are, however, plenty of bullets that magically home in on feet when not used in exactly the right circumstances. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe