
can you give an example? GHC should inline selectors, whether exported or not, whenever it'd help. They are implicitly defined as INLINE. Since this obviously isn’t working right, I'd like to see the code. Perhaps you can boil it down a little, and submit a ticket? Simon | -----Original Message----- | From: glasgow-haskell-users-bounces@haskell.org [mailto:glasgow-haskell- | users-bounces@haskell.org] On Behalf Of Bryan O'Sullivan | Sent: 13 June 2008 06:38 | To: glasgow-haskell-users@haskell.org | Subject: Record syntax and INLINE annotations | | I have a curious situation. I've defined a data type using record | syntax, and my module exports one of the accessor functions. I notice | that GHC is not inlining any of the others, even though they are not | exported. | | Furthermore, while poking around to see if I could bend it to my will, | I found that I couldn't figure out where to place an INLINE annotation | for an accessor function defined via record syntax such that the | compiler would accept it. | | For now, I've dropped back to non-record syntax, my hand-crafted | accessors are being inlined as I'd expect, and I win a few percent in | performance. If anyone could shed a wee bit of light, I'd be most | grateful. | _______________________________________________ | Glasgow-haskell-users mailing list | Glasgow-haskell-users@haskell.org | http://www.haskell.org/mailman/listinfo/glasgow-haskell-users