24 May
2011
24 May
'11
7:37 a.m.
On Mon, May 23, 2011 at 4:29 PM, Johan Tibell <johan.tibell@gmail.com>wrote:
On Mon, May 23, 2011 at 4:18 PM, Sebastian Fischer <fischer@nii.ac.jp> wrote:
Because unboxing can not be used for the polymorphic value component in the strict structure and there is no way to tell GHC to unbox the specific instantiation `IntMap (Lazy a)`?
Exactly. This would amount to code generation in the module defining IntMap (Lazy a), similar to how C++ implements template.
I see. Given that library authors currently work around the lack of this optimization it's probably a Good Thing to add it to GHC. But that is a separate topic as it seems impractical to extend GHC before containers gets updated. Sebastian