Benjamin Franksen writes:
On Monday 01 November 2004 23:40, Jon Fairbairn wrote:
Apart from matching up with the names there's not much to choose between one destructor and many, except possibly when one considers something like:
case e of Square s -> ... _ -> ...
particularly if the type has more than two constructors.
True. Anyway, we don't really want to abandon pattern matching syntax, do we?
Explicit destructor functions are nice when working in a point-free fashion. Consider these: c1 = someComputation >>= maybe mzero return c2 = do x <- someComputation case x of Just x' -> return x' Nothing -> mzero On the other hand, this function (which I actually have in my code) may be over-doing it: swap = maybe (Right Nothing) (either Left (Right . Just)) -- David Menendez <zednenem@psualum.com> <http://www.eyrie.org/~zednenem/>