INLINE pragmas

Joachim Breitner mail at
Thu Jul 30 10:24:09 UTC 2015


Am Donnerstag, den 30.07.2015, 10:14 +0000 schrieb Simon Peyton Jones:
> |  (I always have to look up the documentation for these, just a
> |  suggestion but maybe it would be better to call them INLINEAFTER[n]
> |  and INLINEBEFORE[n], or something?)
> Maybe.  But NOINLINE[n] means "do not inline until phase n; and you 
> are free to do what you like thereafter"  So it would have to be 
> NOINLINEUNTIL[n].  But yes, that'd be quite do-able.

I support that suggestion, as I also always have to look it up as well,
and things like NONLINE[~n] are really non-self-explanatory.

Although "NOINLINEUNTIL[n]" is (to me, non-native-speaker) not as clear
as it could be about what happens in phase n; the same with

How about this, using “from” and “before”, which (to me) make it
clearer what happens at n:

INLINE[n]    becomes INLINEFROM[n]
INLINE[~n]   becomes INLINEBEFORE[n]

BTW, the docs say about NOINLINE “You shouldn't ever need to do this,
unless you're very cautious about code size.” – should this also
mention that NOINLINE are often necessary with RULES?


Joachim “nomeata” Breitner
  mail at joachim-breitner.de
  Jabber: nomeata at  • GPG-Key: 0xF0FBF51F
  Debian Developer: nomeata at
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part
URL: <>

More information about the ghc-devs mailing list