Open EmilyOng opened 9 months ago
I see, the existing tests still passed after I removed it. I will try to add an example to see if there will be issues.
On Thu, 8 Feb 2024, 18:11 Darius Foo, @.***> wrote:
@.**** commented on this pull request.
In parsing/entail.ml https://github.com/songyahui/AlgebraicEffect/pull/12#discussion_r1482721412 :
@@ -305,7 +305,7 @@ let instantiate_pred : pred_def -> term list -> term -> pred_def = (string_of_list (string_of_list string_of_staged_spec) bbody); *) bbody in
- { pred with p_body }
- { pred with p_body; p_rec = (find_rec pred.p_name)#visit_disj_spec () p_body }
On second thought, I think you were right to include it initially... I missed the call to instantiateStages, which can replace higher-order stages and change whether a predicate is recursive. Does that agree with your tests?
— Reply to this email directly, view it on GitHub https://github.com/songyahui/AlgebraicEffect/pull/12#discussion_r1482721412, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFBX6KOHLFMWS44DLUYH6U3YSSQG3AVCNFSM6AAAAABCZODXP2VHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMYTQNRZG42DKNRRGI . You are receiving this because you authored the thread.Message ID: @.***>
Closes https://github.com/songyahui/AlgebraicEffect/issues/10
Allow unfolding of basic non-recursive predicates by travering the predicate's
disj_spec body
during instantiation to check if the predicate name occurs in any function stages.