Ben, BY> it is nice to use 'maybe', 'either' functions. However, with BY> data types with more than 2 constructors, using such function BY> tends to be tedious than pattern match, where, you can pick BY> specific constructors of interest. BY> And in order to use pattern match, I have to expose my BY> constructors.
Well, you've just identified the well-known trade-off between abstraction and induction. A language extension involving 'views' [4, 1, 3] has been proposed [2] to deal with this issue. Regards, Stefan [1] Warren Burton and Robert Cameron. Pattern matching with abstract data types. Journal of Functional Programming, 3(2):171-190, 1993. http://citeseer.ist.psu.edu/context/176591/0/ [2] Warren Burton, Erik Meijer, Patrick Sansom, Simon Thompson, and Philip Wadler. Views: An extension to Haskell pattern matching, 1996. http://www.haskell.org/development/views.html [3] Chris Okasaki. Views for Standard ML, 1998. 1998 ACM SIGPLAN Workshop on ML. http://citeseer.ist.psu.edu/okasaki98views.html [4] Philip Wadler. Views: A way for pattern matching to cohabit with data abstraction. In Steve Munchnik, editor, Proceedings of the 14th Symposium on Principles of Programming Languages, pages 307-312. Association for Computing Machinery, 1987. http://citeseer.ist.psu.edu/wadler87views.html _______________________________________________ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell