Macro stepper: added final definite reference result

svn: r5746

original commit: 3facbd99abbd666d5b4a6c21c421a9aea870dd32
This commit is contained in:
Ryan Culpepper 2007-03-07 05:22:42 +00:00
parent be8ce288fa
commit 63ee789eb9

View File

@ -7,7 +7,8 @@
"deriv.ss"
"reductions-engine.ss")
(provide reductions)
(provide reductions
reductions+definites)
;; Setup for reduction-engines
@ -39,6 +40,13 @@
(add-frontier (list (lift/deriv-e1 d)))
(reductions* d)))
(define (reductions+definites d)
(parameterize ((current-definites null)
(current-frontier null))
(add-frontier (list (lift/deriv-e1 d)))
(let ([rs (reductions* d)])
(values rs (current-definites)))))
(define (reductions* d)
(match d
[(AnyQ prule (e1 e2 rs))
@ -46,7 +54,6 @@
(blaze-frontier e1)]
[_ (void)])
(match/with-derivation d
;; Primitives
[(struct p:variable (e1 e2 rs))
(learn-definites (list e2))