Fix contract-min/max base case.

This commit is contained in:
Sam Tobin-Hochstadt 2012-10-04 16:11:42 -04:00
parent 8b92ec5677
commit 8bb697108e

View File

@ -78,7 +78,7 @@
(define chaperone-sym 'chaperone) (define chaperone-sym 'chaperone)
(define flat-sym 'flat) (define flat-sym 'flat)
(define (contract-kind-max . args) (define (contract-kind-max i . args)
(define (contract-kind-max2 x y) (define (contract-kind-max2 x y)
(cond (cond
((equal? flat-sym x) y) ((equal? flat-sym x) y)
@ -86,11 +86,11 @@
((equal? chaperone-sym x) y) ((equal? chaperone-sym x) y)
((equal? chaperone-sym y) x) ((equal? chaperone-sym y) x)
(else impersonator-sym))) (else impersonator-sym)))
(for/fold ((acc flat-sym)) ((v args)) (for/fold ((acc i)) ((v args))
(contract-kind-max2 v acc))) (contract-kind-max2 v acc)))
(define (contract-kind-min . args) (define (contract-kind-min i . args)
(define (contract-kind-min2 x y) (define (contract-kind-min2 x y)
(cond (cond
((equal? flat-sym x) x) ((equal? flat-sym x) x)
@ -98,7 +98,7 @@
((equal? chaperone-sym x) x) ((equal? chaperone-sym x) x)
((equal? chaperone-sym y) y) ((equal? chaperone-sym y) y)
(else impersonator-sym))) (else impersonator-sym)))
(for/fold ((acc flat-sym)) ((v args)) (for/fold ((acc i)) ((v args))
(contract-kind-min2 v acc))) (contract-kind-min2 v acc)))