The following code:
====.sig=====
kind foo type.
type bar A -> foo.
type p foo -> o.
====.mod=====
p (bar X).
gives for the following queries:
?- p (bar X).
The answer substitution:
X = X
?- sigma X\ p (bar X).
no (more) solutions
whereas it should be the same behavior for both cases.
Notice that:
- it also fails with pi X\ p (bar X)
- this is the combination of polymorphism and a cast which hides the type.
If you remove one of this element this is the same behavior.
Original issue reported on code.google.com by fafounet@gmail.com on 26 Aug 2013 at 4:06
Original issue reported on code.google.com by
fafounet@gmail.com
on 26 Aug 2013 at 4:06