Open
Description
Created by @mschwerhoff on 2015-12-03 14:42
Last updated on 2017-11-22 08:53
In the attached file, the package removes too many permissions to l.next.next
Arguably, the reason is that at the point where the folding is evaluated, it is not yet known that x == l.next in the wand RHS, since this fact does not come from the wand LHS. Once the RHS is fully processed, however, it becomes clear that 1/2 permission to l.next must come from the current state, and so the value must be the same.
In a sense, the permissions needed for the folding are taken "too early", before all of the knowledge from the footprint state is available. It doesn't seem clear how to fix this and still have a left-to-right evaluation (once) of the RHS.
Attachments: