
The first thing I would do i is verify that the compiler is not
already doing this.
On Sun, Sep 6, 2009 at 7:50 AM, Peter Verswyvelen
I've seen a couple of package being announced that provide first class labels, and other packages already existed for this (Grapefruit Record, HList, Accessor, ...)
Regarding this, I have a question about the performance of multiple composed field updates. Maybe an example.
Suppose I have a large record - say WindowDescription - which contains a lot of fields.
Suppose I have a couple of default window description values, e.g. defaultWindowDesc, dialogBoxDesc, etc
Using accessors it is easy to take such a default value, and "modify" a couple of fields, like:
let myWindowDesc = set title "Haskell" . set size (640,480) . set background Blue . set fontFamily Arial $ defaultWindowDesc
However, I guess this would make a lot of intermediate WindowDescription copies no (whether the fields are strict or not)? So ideally for performance, all these "updates" should be fused, maybe running inside an ST monad?
I'm not sure if any of this is valid, but I would like to understand more about this, so any links and hints are welcome :-)
Peter Verswyvelen _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe