Simon Peyton-Jones simonpj at
Thu Jul 18 11:20:29 CEST 2013

It seems a little weird, but the internal data types can express it, so if you can make the front end do the right thing I'd be happy to take it.  (Don't forget the manual.)


From: ghc-devs [mailto:ghc-devs-bounces at] On Behalf Of Nicolas Frisby
Sent: 16 July 2013 21:29
To: ghc-devs at
Subject: Re: defunctionalization

Ah, I misread that TidyPgm function.It looks like if I build the CoreUnfolding, GHC will respect it. It's just rejecting the pragma combination in HsSyn.

On Jul 16, 2013 3:22 PM, "Nicolas Frisby" <nicolas.frisby at<mailto:nicolas.frisby at>> wrote:
> I'd like to put a NOINLINE and an INLINABLE pragma on a binding.
> (I'm sketching a defunctionalization pass. I'd like the 'apply` routine RHS to make it into the interface file, but I do not want it to be inlined, since that'd undo the defunctionalization.)
> In other words, I'd like a CoreUnfolding value with the uf_guidance = UnfNever.
> It seems TidyPgm.addExternal ignores such a core unfolding.
> Would GHC consider a patch to make this work?
> Thanks.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the ghc-devs mailing list