
13 Jun
2008
13 Jun
'08
1:37 a.m.
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.