Peter, I think that's correct. I would really love to be able to make alternate constructors and views. I know we can make "specialized" constructors, but I don't think there's a good way to pattern match on these. It would be pretty sweet if we could.
/jve On Fri, Jan 16, 2009 at 11:14 AM, Peter Verswyvelen <bugf...@gmail.com>wrote: > As far as I understand, record syntax and data accessor only give access to > the data, they don't provide alternate views / interpretations of the data, > something that Active Patterns or view patterns in Haskell do? > > On Fri, Jan 16, 2009 at 4:27 PM, Henning Thielemann < > lemm...@henning-thielemann.de> wrote: > >> >> On Fri, 16 Jan 2009, John Van Enk wrote: >> >> 2009/1/16 Peter Verswyvelen <bugf...@gmail.com> >>> >>> [...] >>>> >>>> After a while you decide that you need to change the Bla data type, >>>> maybe >>>> give Dog more fields, maybe completely redesign it, maybe not exposing >>>> it, >>>> but you want to keep existing code backwards compatible. With F# you can >>>> write Active Patterns for the old Dog and Cat constructors, so all >>>> existing >>>> code remains compatible. At least that is the way I understand it, but I >>>> have not actually worked yet with Active Patterns, will do so soon :) >>>> >>>> You get something similar with the record syntax (though, probably >>> still not >>> quite as powerful as the active patterns): >>> >> >> ... or use data-accessor package. >> > >
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe