'(NULL-SEQUENCE))
(define (cons-sequence action seq)
- (cond ((object-type? sequence-2-type seq)
- (&typed-triple-cons sequence-3-type
- action
- (&pair-car seq)
- (&pair-cdr seq)))
- ((eq? seq null-sequence)
- action)
- (else
- (&typed-pair-cons sequence-2-type action seq))))
+ (if (eq? seq null-sequence)
+ action
+ (&typed-pair-cons sequence-2-type action seq)))
\f
;;;; Scanning
(unscan-loop names** (&triple-third body)
(lambda (names*** body***)
(receiver names***
- (&typed-triple-cons sequence-3-type
- body*
- body**
- body***)))))))))
+ (&typed-pair-cons sequence-2-type
+ body*
+ (&typed-pair-cons
+ sequence-2-type
+ body**
+ body***))))))))))
(else
(receiver names
body))))
(if (null? actions)
(error "MAKE-SEQUENCE: No actions"))
(let loop ((actions actions))
- (cond ((null? (cdr actions))
- (car actions))
- ((null? (cddr actions))
- (&typed-pair-cons (ucode-type sequence-2)
- (car actions)
- (cadr actions)))
- (else
- (&typed-triple-cons (ucode-type sequence-3)
- (car actions)
- (cadr actions)
- (loop (cddr actions)))))))
+ (if (null? (cdr actions))
+ (car actions)
+ (&typed-pair-cons (ucode-type sequence-2)
+ (car actions)
+ (loop (cdr actions))))))
(define (sequence? object)
(or (object-type? (ucode-type sequence-2) object)