How do you stop functions being inlined?

George Russell ger@tzi.de
Thu, 02 Aug 2001 20:14:21 +0200


Simon Marlow wrote:
> 
> In fact, GHC understands both NOINLINE and NOTINLINE with any
> capitalisation.  We just tend to use NOINLINE because I think GHC had it
> before notInline was mentioned in the report.
[snip]
So why does the GHC documentation only document NOINLINE?  Is this
a secret Microsoft plot to get to use non-standard features and stop us
switching later to Turbo Haskell?  8-)

I think in the light of the current situation, it would be better if the Haskell
standard for pragmas were changed to specify:
(1) NOTINLINE is a synonym for NOINLINE.
(2) Case in the first word of a pragma is ignored (which everyone seems to
    be assuming but isn't specified anywhere).
(3) Perhaps also SPECIALISE as a synonym for SPECIALIZE, like GHC.
It does seem to me particularly important that we should standardise pragmas
as much as possible, given that pragmas not recognised get ignored.