Record syntax and INLINE annotations

Bryan O'Sullivan bos at serpentine.com
Fri Jun 13 01:37:33 EDT 2008


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.


More information about the Glasgow-haskell-users mailing list