how and where to {-# specialize #-} ?

Johannes Waldmann joe@informatik.uni-leipzig.de
Thu, 19 Jun 2003 10:38:52 +0200 (CEST)


Dear all, 

I am looking for some advice on 
where to place specialize-pragmas for ghc
(to optimize speed - and heap usage)

Typically I have some module A (containing polymorphic functions A.f, ..)
and a module B uses this. The interesting case is
when I want to specialize A.f (which is NOT exported)
to some types that are only defined in B 
(but normally A should not know about B).

Is there some kind of `deep specialisation' where one would say, 
`specialize ALL the functions that are reachable from here'? - 
or how can one get a similar effect?
( Of course I would be willing to pay some compilation time for this. 
Even a LOT of time. )

Thanks,
-- 
-- Johannes Waldmann ---- http://www.informatik.uni-leipzig.de/~joe/ --
-- joe@informatik.uni-leipzig.de -- phone/fax (+49) 341 9732 204/209 --