[m-dev.] bug with tests/hard_coded/expand.m

Simon TAYLOR stayl at students.cs.mu.oz.au
Fri Feb 28 09:47:24 AEDT 1997


>
> The Mercury compiler is failing the test in tests/hard_coded/expand.m;
> it reports the following:
> 
> 	Software error: specialized argument not of higher-order type
> 
> Could someone please volunteer to investigate this one?
> 

I think that's mine.

A closure is being passed in as an argument of type T, rather than type 
pred(...), so type_is_higher_order fails when higher_order.m tries
to create the higher-order term inside the specialised version. The fix is
to not attempt to specialise in these cases. There cannot possibly be a call
to the closure within the specialised version anyway, since the old version
didn't know that it was a closure.

Simon.



More information about the developers mailing list