Open richardmembarth opened 6 years ago
The problem is that the filter (formerly known as pe_policy) is not a real operand of a continuation. It should be, but it isn't. Changing this would introduce many subtle bugs in other passes because currently we assume that op(0)
of a continuation is its callee and op(1)
to op(1+n-1)
is its argument list. We would have to do this:
op(0) -> filter
op(1) -> callee
op(2) to op(2+n-1) -> args
Unless this is a really pressing issue I wouldn't spend time on this because in CoC it is correctly modeled.
Not really urgent. Pops up once in a while for more complex code (which gets then not optimized). Is there a timeline for CoC integration?
No yet, but I need more help.
The following example should specialize
specialize
, but it doesn't since PE is too eager.This produces:
While it should yield (removing
@(?i)
or replacing by@(?x)
):This seems to be related to #90.