| My example is complicated, so let me present a simpler analogy.
| Suppose I defined
|
| compose :: (b -> c) -> (a -> b) -> (a -> c)
| compose f g = \x -> f (g x)
|
| I can easily persuade GHC to inline 'compose'.
| But when 'compose' is applied to known arguments, I wish
| f and g to be inlined in the body of 'compose'.
| Is there a pragma that will do the trick?
| (I attempted to put an INLINE pragma in a where clause,
| but GHC was not amused.)
You can put inline pragmas on f and g, thus
frob = ...
{-# INLINE frob #-}
burk = ...
{-# INLINE burk #-}
wibble = compose from burk
Now compose will be inlined (assuming it too has an INLINE pragma), and then
frob, burk.
Simon
_______________________________________________
Glasgow-haskell-users mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users