
27 Aug
2008
27 Aug
'08
10:31 a.m.
Darrin Thompson wrote:
If functions on lists isn't the thing, what is the thing? "Data structures" isn't a very satisfactory answer for a n00b like me, because it doesn't capture Haskell's distinctive. [...]
Well indeed you can (should) have problem-specific (algebraic) data types in any language. In Haskell it's just a "data" declaration, while in OO design they call it the "compositum" pattern (and need some hundred more lines to write it down). What is "distinctively Haskell"? The focus in teaching could be: (1) data abstraction (-> functions, -> higher order functions) (2) type abstraction (-> type constructors, polymorphism etc.) ... and of course all the benefits from abstraction (=> re-usability) and strong typing (=> safety). J.W.