prolog: compile clauses to SX closures (+17)
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Has been cancelled

This commit is contained in:
2026-04-25 18:08:27 +00:00
parent 00db8b7763
commit 8a9c074141
4 changed files with 367 additions and 10 deletions

View File

@@ -2704,15 +2704,28 @@
((inner-cut-box {:cut false}))
(let
((outer-was-cut (dict-get outer-cut-box :cut)))
(pl-try-clauses!
db
goal
trail
(pl-db-lookup-goal db goal)
outer-cut-box
outer-was-cut
inner-cut-box
k)))))
(let
((compiled (when (dict-has? db :compiled) (dict-get db :compiled))))
(if
(and compiled (dict-has? compiled (pl-goal-key goal)))
(pl-try-compiled-clauses!
db
goal
trail
(dict-get compiled (pl-goal-key goal))
outer-cut-box
outer-was-cut
inner-cut-box
k)
(pl-try-clauses!
db
goal
trail
(pl-db-lookup-goal db goal)
outer-cut-box
outer-was-cut
inner-cut-box
k)))))))
(define
pl-try-clauses!