Hi,

On Thu, Jul 30, 2015 at 1:22 PM, Joachim Breitner <mail@joachim-breitner.de> wrote:

But INLINABLE has its own semantics (i.e. “do retain a copy of the
RHS”), and NOINLNE does, as far as I know, not imply this.

Ok.
 
But maybe your idea works with

NOINLINE[n]  becomes MAY_INLINE_FROM[n]
NOINLINE[~n] becomes MAY_INLINE_BEFORE[n] 

Even better.

INLINE[n]    becomes MUST_INLINE_FROM[n]
INLINE[~n]   becomes MUST_INLINE_BEFORE[n]

I added this option, without the `MUST_` (it doesn't add much in my opinion), as proposal 3 to https://ghc.haskell.org/trac/ghc/wiki/Proposal/SelfExplinatoryInlinePragmas..

Anyone have other suggestions?

Thomas