From 56a548c517e3b8a3dd52b0b640149702688004bf Mon Sep 17 00:00:00 2001 From: Casey Klein Date: Sat, 8 Jan 2011 11:37:04 -0600 Subject: [PATCH] Suppresses overridden rules in the names reported for a reduction relation --- collects/redex/private/struct.rkt | 5 +++-- collects/redex/tests/tl-test.rkt | 13 ++++++++++++- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/collects/redex/private/struct.rkt b/collects/redex/private/struct.rkt index a7dc843a07..ac24bf431c 100644 --- a/collects/redex/private/struct.rkt +++ b/collects/redex/private/struct.rkt @@ -1,4 +1,4 @@ -#lang scheme/base +#lang racket (require "matcher.ss") @@ -95,8 +95,9 @@ make-procs/check-domain)]) (make-reduction-relation lang all-make-procs + (remove-duplicates (append rule-names - (reduction-relation-rule-names orig-reduction-relation)) + (reduction-relation-rule-names orig-reduction-relation))) lws ;; only keep new lws for typesetting (map (λ (make-proc) (make-proc lang)) all-make-procs)))] [else diff --git a/collects/redex/tests/tl-test.rkt b/collects/redex/tests/tl-test.rkt index b6dd56f06d..18b58cfaaa 100644 --- a/collects/redex/tests/tl-test.rkt +++ b/collects/redex/tests/tl-test.rkt @@ -1279,10 +1279,21 @@ (define r2 (extend-reduction-relation r1 l2)) - ;; test that the domain is re-interpreted for the extended reduction-relation + ;; test that the domain is re-interpreted wrt the new language (test (apply-reduction-relation r2 3) '(3))) + (let () + (define-language L) + (define R + (reduction-relation L (--> 1 1 "a"))) + (define S + (extend-reduction-relation R L (--> 2 2 "a"))) + + ;; test that overridden rules do not appear (twice) + (test (reduction-relation->rule-names S) + '(a))) + (let () (define-language l1 (D 0 1 2))