Don't use teach-equal?' for one-of' signature.

I did this under the mistaken assumption `equal?' would not work for
cycles, I think.
This commit is contained in:
Mike Sperber 2010-11-26 11:10:29 +01:00
parent 22f1c96a4a
commit dbd1cfaf10
2 changed files with 3 additions and 5 deletions

View File

@ -11,8 +11,7 @@
scheme/promise scheme/promise
(for-syntax scheme/base) (for-syntax scheme/base)
(for-syntax syntax/stx) (for-syntax syntax/stx)
(for-syntax stepper/private/shared) (for-syntax stepper/private/shared))
(only-in lang/private/teachprims teach-equal?))
(define-for-syntax (phase-lift stx) (define-for-syntax (phase-lift stx)
(with-syntax ((?stx stx)) (with-syntax ((?stx stx))
@ -50,7 +49,7 @@
(syntax->list #'((?temp ?exp) ...))))) (syntax->list #'((?temp ?exp) ...)))))
#'(let ((?temp ?exp) ...) #'(let ((?temp ?exp) ...)
?check ... ?check ...
(make-case-signature '?name (list ?temp ...) teach-equal? ?stx))))) (make-case-signature '?name (list ?temp ...) equal? ?stx)))))
((predicate ?exp) ((predicate ?exp)
(with-syntax ((?stx (phase-lift stx)) (with-syntax ((?stx (phase-lift stx))
(?name name)) (?name name))

View File

@ -11,7 +11,6 @@
(for-syntax scheme/base) (for-syntax scheme/base)
(for-syntax syntax/stx) (for-syntax syntax/stx)
(for-syntax stepper/private/shared) (for-syntax stepper/private/shared)
(only-in lang/private/teachprims teach-equal?)
(for-syntax "firstorder.rkt")) (for-syntax "firstorder.rkt"))
(define-for-syntax (phase-lift stx) (define-for-syntax (phase-lift stx)
@ -50,7 +49,7 @@
(syntax->list #'((?temp ?exp) ...))))) (syntax->list #'((?temp ?exp) ...)))))
#'(let ((?temp ?exp) ...) #'(let ((?temp ?exp) ...)
?check ... ?check ...
(make-case-signature '?name (list ?temp ...) teach-equal? ?stx))))) (make-case-signature '?name (list ?temp ...) equal? ?stx)))))
((predicate ?exp) ((predicate ?exp)
(with-syntax ((?stx (phase-lift stx)) (with-syntax ((?stx (phase-lift stx))
(?name name)) (?name name))