Hello Grady,
Friday, December 29, 2006, 10:12:12 AM, you wrote:
> not get that in the way I want. I suppose there may have to be some
> slowdown -- if the compiler specializes every piece of code for every
> instance of a typeclass it might encounter, it could bloat the
> executable beyond all reason. I'll have to do some tests to see if I
> notice an effect in practice.
yes. ghc makes specialization only in cases when you used SPECIALIZE/INLINE
pragma and when function is small enough to be inlined. otherwise, each (+)
operation will make a function call which is very slow thing in Haskell
i propose you to use INLINE pragma:
{-# INLINE foo #-}
unless your function is recursive. in this case, you should use SPECIALIZE
pragma:
{-# SPECIALIZE foo :: Double -> Double -> Double #-}
--
Best regards,
Bulat mailto:Bulat.Ziganshin at gmail.com