fixed bug the ordering of metafunction side-conditions during rendering

svn: r15353
This commit is contained in:
Robby Findler 2009-07-01 16:10:23 +00:00
parent 2b5e836b74
commit 158b6de824
4 changed files with 7 additions and 5 deletions

View File

@ -41,11 +41,12 @@
(define red2 (define red2
(reduction-relation (reduction-relation
lang lang
(--> (number_a number_b number_c) (--> (number_a number_b number_c number_d)
any_z any_z
(where (any_x any_y) (number_a number_b)) (where (any_x any_y) (number_a number_b))
(side-condition (= (term number_c) 5)) (side-condition (= (term number_c) 5))
(where any_z any_x)))) (where any_z any_x)
(side-condition (= (term number_d) 5)))))
(test (render-reduction-relation red2) (test (render-reduction-relation red2)
"red2.png") "red2.png")
@ -61,8 +62,9 @@
1 1
(side-condition (not (eq? (term x) (term y))))] (side-condition (not (eq? (term x) (term y))))]
[(T x x) [(T x x)
n (any_1 any_2)
(where n 2)]) (where any_1 2)
(where any_2 2)])
;; in this test, the metafunction has 2 clauses ;; in this test, the metafunction has 2 clauses
;; with a side-condition on the first clause ;; with a side-condition on the first clause

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

After

Width:  |  Height:  |  Size: 9.2 KiB

View File

@ -1238,7 +1238,7 @@
#`(cons #,(to-lw/proc #'pat) #,(to-lw/proc #'exp))] #`(cons #,(to-lw/proc #'pat) #,(to-lw/proc #'exp))]
[(side-condition x) [(side-condition x)
(to-lw/uq/proc #'x)])) (to-lw/uq/proc #'x)]))
(syntax->list hm))) (reverse (syntax->list hm))))
(syntax->list #'(... seq-of-tl-side-cond/binds)))] (syntax->list #'(... seq-of-tl-side-cond/binds)))]
[(((rhs-bind-id/lw . rhs-bind-pat/lw/uq) ...) ...) [(((rhs-bind-id/lw . rhs-bind-pat/lw/uq) ...) ...)