Opened 13 years ago

Closed 12 years ago

Last modified 48 years ago

#255 closed bug (Fixed)

SPECIALIZE pragma and polymorphic instances

Reported by: nobody Owned by: nobody
Priority: normal Milestone:
Component: Compiler Version: 6.2.1
Keywords: Cc:
Operating System: Architecture:
Type of failure: None/Unknown Test Case:
Blocked By: Blocking:
Related Tickets: Differential Rev(s):
Wiki Page:


Given a polymorphic specialization like

        f :: (Storable a, Eq a) => T a
        {-# SPECIALIZE f :: T (Ptr a) #-}

GHC does not produce the requested polymorphic
specialization, but if we use f at the ground types T
(Ptr Foo) and T (Ptr Bar), we get a specialization for
each, and these are essentially the same.

Change History (4)

comment:1 Changed 12 years ago by remit

Logged In: YES 

A few more links to messages about this:

SPJ explains (a.o. why he won't solve it before the POPL
deadline ;)

SPJ hints that the patch will appear soon, or perhaps even
already exists:

My own I-hadn't-seen-this-yet bugreport, explaining why it
is, ahum, Vitally Important(TM) to tackle this bug:

Simon Marlow implies this one (Priority 4) won't be solved
anytime soon.

Now, whether this counts as a "yell if you disagree [about
not solving priority < 5]." or as "if you know of a specific
perf problem, please submit it as a bug" I'll leave to the
ones who actually do the work :)

comment:2 Changed 12 years ago by simonpj

Logged In: YES 

Upping the priority. It's not trivial to do this, but it's still very 
much on my radar

comment:3 Changed 12 years ago by simonpj

Logged In: YES 

Another useful background link:

comment:4 Changed 12 years ago by simonpj

Status: assignedclosed
Logged In: YES 

Fixed, at last.

Note: See TracTickets for help on using tickets.