X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2Fprelude%2Fprimops.txt.pp;h=cb7c79234def0c32f2d559ea8ba355258adaa075;hp=a0b991ff85b61292438becce2d301a5971300126;hb=42b8aa9e4a054ae6784e6c90c9adc615a9703b8c;hpb=2b8358cfe8b6399874090c099e3b96e932c6ccbb diff --git a/compiler/prelude/primops.txt.pp b/compiler/prelude/primops.txt.pp index a0b991f..cb7c792 100644 --- a/compiler/prelude/primops.txt.pp +++ b/compiler/prelude/primops.txt.pp @@ -1685,11 +1685,9 @@ pseudoop "inline" {\tt inline} function expands to the identity function in Phase zero; so its use imposes no overhead. - If the function is defined in another module, GHC only exposes its inlining - in the interface file if the function is sufficiently small that it might be - inlined by the automatic mechanism. There is currently no way to tell GHC to - expose arbitrarily-large functions in the interface file. (This shortcoming - is something that could be fixed, with some kind of pragma.) } + It is good practice to mark the function with an INLINABLE pragma at + its definition, (a) so that GHC guarantees to expose its unfolding regardless + of size, and (b) so that you have control over exactly what is inlined. } pseudoop "lazy" a -> a