[Yhc] Compiling Prelude.hs
Malcolm Wallace
Malcolm.Wallace at cs.york.ac.uk
Thu Jan 19 06:46:38 EST 2006
Krasimir Angelov <kr.angelov at gmail.com> writes:
> I have to deal with another hack this time. See the comment from
> IExtract.hs:
>
> -- addPreludeTupleInstances is an efficiency hack.
> -- It takes a long time to parse the Prelude.hi file, and adding large
> -- numbers of tuple instances to the .hi file increases compile-times
> -- by 30% or more.
> -- Omitting them from the .hi file and adding them by hand here, therefore
> -- gives a big time saving.
I wrote that comment (and the code it refers to).
> The problem is that all instances for tuples >3 aren't defined in the
> prelude but the required type declarations are injected explicitly in
> the IExtract.hs module. In this way no bytecode for them will be
> generated.
Actually, the code for the instances is supposed to be generated
by a 'deriving' clause on each tuple data declaration. In nhc98,
the relevant source files are
src/prelude/D[2..15].hs
These deriving clauses seem to have disappeared in the move to a
single Prelude file in yhc.
Regards,
Malcolm
More information about the Yhc
mailing list