Commit Graph

7 Commits

Author SHA1 Message Date
Jay McCarthy
9fdb0ac507 correct cut implementation without mutation 2012-08-27 15:13:18 -06:00
Jay McCarthy
3ddaf5e32b Fixing Racklog cut error found by Erik Dominikus
Basically, Racklog (and all versions of schelog) implement ! by
causing the failure continuation of the entire relation being
returned. They did not also cause the unification caused by the
relation to be un-done.

However, it is not easy to separate un-doing the local changes because
the unification just returns a failure continuation too. I had to call
that fail continuation but use state to communicate to its target that
the next clause should not be visited.

I don't know if this is correct. My test suite contains a lot of cut
tests that still pass. Erik's test passes too. But I'm not confident
that this really works.
2012-08-14 21:34:02 -06:00
Matthew Flatt
0197902309 add var-ref->mod-decl-insp' and switch cur-code-insp' uses
Macros and other tools that need syntax privilege used
`(current-code-inspector)' at the module top-level to try to
capture the right code inspector at load time. It's more
consistent to instead use the enclosing module's declaration-time
inspector, and `var-ref->mod-decl-insp' provides that. The
new function works only on references to anonymous variables,
which limits access to the inspector.

The real function name is longer, of course.
2011-09-20 13:50:36 -06:00
Matthew Flatt
1160d3df62 remove syntax certificates; add syntax taints 2011-06-29 19:15:48 -06:00
Jay McCarthy
8708268992 Fixing problems with %is discovered by Casey 2011-04-30 12:02:41 -06:00
Jay McCarthy
12797fef41 Using the datalog reader for racklog 2010-06-28 11:24:01 -06:00
Eli Barzilay
14cfb73902 "Raclog" -> "Racklog" 2010-05-18 23:47:31 -04:00