
So the idea here to make it possible to have a function that can be specialized at certain types, and explicitly inlined at specific use sites, but ghc otherwise will not inline it? Cool!
That's almost exactly what INLINABLE means. I agree that SPECIALISABLE would have been a better name.
The only difference between INLINABLE and what you say is that GHC is *free* to inline an INLINABLE if it thinks it'd be a good idea, whereas you want a promise that it will never do so. (I'm not sure why.) But they are pretty close already.
My suggestion
* Rename INLINABLE to SPECIALISABLE (deprecating the former)
* Allow SPECIALISABLE in conjunction with the existing NOINLINE
Simon
From: ghc-devs [mailto:ghc-devs-bounces@haskell.org] On Behalf Of Nicolas Frisby
Sent: 18 July 2013 23:19
To: ghc-devs@haskell.org
Subject: new pragma name ideas? (was: defunctionalization)
On Thu, Jul 18, 2013 at 5:10 PM, Carter Schonwald