fixed a bug that prevented uses of redex-match in the right-hand sides of reduction-relation definitions

svn: r16344
This commit is contained in:
Robby Findler 2009-10-16 21:33:57 +00:00
parent 04386a7839
commit e78faf0669
2 changed files with 13 additions and 2 deletions

View File

@ -688,7 +688,7 @@
;; are (morally) the same as the compile-pattern-bindings
(bind-withs orig-name
#'#t
lang
#'lang-id2
lang-nts
sides/withs/freshs
'predicate
@ -741,7 +741,7 @@
(loop (cdr mtchs) acc)]))]))
other-matches)))))
name
(λ (lang) (let (test-case-compile-pattern-bindings ...) `lhs-w/extras))
(λ (lang-id2) (let (test-case-compile-pattern-bindings ...) `lhs-w/extras))
lhs-source
case-id)))))))

View File

@ -1203,6 +1203,17 @@
'(x y z))
(list '(x1 y1 z1 x y z)))
;; test that redex match can be used in a side-condition
;; with the same language that is used to define the
;; reduction relation.
(test (apply-reduction-relation
(reduction-relation
empty-language
(--> any_1 3
(side-condition (redex-match empty-language (any_1 any_2) (term any_1)))))
'(a b))
'(3))
(test (apply-reduction-relation
(reduction-relation
empty-language