[Hs-Generics] compositional gMap in SYB1
johanj at cs.uu.nl
Tue Jul 29 04:01:00 EDT 2008
> I have done so. I have committed a new version of
> with gmap2 of the type
>> gmap2 :: forall a b c . (Data a, Data b,
>> Data (c a), Data (c b), Data (c X)) =>
>> (a -> b) -> c a -> c b
> The compositionality tests seem to pass. There are no unsafe
> operations or any unsafe extensions. Only standard Data.Typeable and
> Generics.Data operations are being used. The code also contains an
> optimization: if it is determined that a structured value has no
> components to map, no traversal is performed and the value is returned
> as it is. That should speed things up a little. The trick is producing
> something out of nothing.
> Too bad that the deadline to amend a Haskell workshop paper
> has passed, and so has the deadline for the generics workshop. Perhaps
> we should write a separate paper?
We're thinking about extending the Haskel Symposium paper to a journal
version, in which we would also take efficiency into account (i.e., also
try to set up something like a benchmark for generic programming).
Would something like that be suitable you think?
More information about the Generics