
On Thu, Oct 2, 2008 at 4:11 AM, Bulat Ziganshin
finally, ghc now includes some form of active patterns which may be used to define your own way to decompose values. but their syntax isn't compatible with constructors so you can't define complex type which mimicks simple ones, and in particular you can replace simple type with complex one w/o rewriting all the client code
imho it's serious lack in haskell support for Abstract Data Types
Not that this hasn't probably been discussed at length elsewhere, I wholeheartedly agree. The ability to mimic a simple type with a complex one is precisely what moves views from "syntax sugar", which does little more than to make code easier on the eyes, into a proper abstraction mechanism that actually adds engineering value. Luke