Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Getting rid of legacy cruft #5

Open
rkaminsk opened this issue Jun 4, 2020 · 0 comments
Open

Getting rid of legacy cruft #5

rkaminsk opened this issue Jun 4, 2020 · 0 comments

Comments

@rkaminsk
Copy link
Member

rkaminsk commented Jun 4, 2020

I implemented support for constraints referring to the future, which involves a lot of ugly code and complicated processing. This can be simplified by mapping to other language constructs. For example, the rule

:- p(X), q'(X,Y), not r''(Y).

can be rewritten to

:- 'p(X), q(X,Y), not &tel { > r(Y) }, <ground-later-magic>.

The <ground-later-magic> just has to ensure that the rule is grounded after the amount of time steps it has been shifted.

Note that we cannot replace q'(X,Y) by a &tel formula because those cannot bind variables.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant