match_co: needs more cases

Evan Laforge qdunkan at
Fri Nov 8 00:45:37 UTC 2013

On Thu, Nov 7, 2013 at 4:20 PM, Carter Schonwald
<carter.schonwald at> wrote:
> specialize only fires on functions that have type class constraints / are
> part of a type class.  Furthermore, the function needs to be marked
> INLINEABLE or INLINE for specialization to work (unless the specialize
> pragma was written in the defining module)

Right, and I added it because I wanted to get rid of both the
Vector.Generic typeclass, and the Unboxed typeclass, and it worked.  I
guess that's why I added INLINEABLEs too, I probably read about it in
the documentation and then forgot.  But if crockeea is right and it's
no longer happening, that would be unfortunate.

I wonder if you could write a kind of query language for core, to ask
things like "are the arguments to this function unboxed?" or "how many
list constructors are called here" (e.g. to check for fusion).

> not sure if that helps,

It does, thanks!

More information about the Glasgow-haskell-users mailing list