defunctionalization

Simon Peyton-Jones simonpj at microsoft.com
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.)

SImon

From: ghc-devs [mailto:ghc-devs-bounces at haskell.org] On Behalf Of Nicolas Frisby
Sent: 16 July 2013 21:29
To: ghc-devs at haskell.org
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 gmail.com<mailto:nicolas.frisby at gmail.com>> 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: <http://www.haskell.org/pipermail/ghc-devs/attachments/20130718/662119b3/attachment.htm>


More information about the ghc-devs mailing list