#| -*-Scheme-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/list.scm,v 14.7 1989/06/06 22:41:04 cph Rel $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/list.scm,v 14.8 1989/08/17 07:50:55 cph Exp $
Copyright (c) 1988, 1989 Massachusetts Institute of Technology
(let loop ((list list) (index index))
(if (zero? index)
list
- (begin (if (not (pair? list))
- (error "LIST-TAIL: index too large" index))
- (loop (cdr list) (-1+ index))))))
+ (begin
+ (if (not (pair? list))
+ (error "LIST-TAIL: index too large" index))
+ (loop (cdr list) (-1+ index))))))
(define (list-head list index)
(if (not (and (integer? index) (not (negative? index))))
(let loop ((items items))
(if (pair? items)
(cons (car items) (loop (cdr items)))
- (begin (if (not (null? items))
- (error "LIST-COPY: argument not proper list" items))
- '()))))
+ (begin
+ (if (not (null? items))
+ (error "LIST-COPY: argument not proper list" items))
+ '()))))
(define (alist-copy alist)
(if (pair? alist)
- (begin (if (not (pair? (car alist)))
- (error "ALIST-COPY: illegal alist element" (car alist)))
- (cons (cons (caar alist) (cdar alist)) (alist-copy (cdr alist))))
- (begin (if (not (null? alist))
- (error "ALIST-COPY: illegal alist" alist))
- '())))
+ (begin
+ (if (not (pair? (car alist)))
+ (error "ALIST-COPY: illegal alist element" (car alist)))
+ (cons (cons (car (car alist)) (cdr (car alist)))
+ (alist-copy (cdr alist))))
+ (begin
+ (if (not (null? alist))
+ (error "ALIST-COPY: illegal alist" alist))
+ '())))
(define (tree-copy tree)
(let loop ((tree tree))
(if (pair? items)
(if (predicate (car items))
(trim-initial-segment (cdr items))
- (begin (locate-initial-segment items (cdr items))
- items))
+ (begin
+ (locate-initial-segment items (cdr items))
+ items))
items)))
(locate-initial-segment
(lambda (last this)
(define (assq key alist)
(let loop ((alist alist))
(and (pair? alist)
- (if (eq? (caar alist) key)
+ (if (eq? (car (car alist)) key)
(car alist)
(loop (cdr alist))))))
(if (pair? items)
(if (eq? item (car items))
(trim-initial-segment (cdr items))
- (begin (locate-initial-segment items (cdr items))
- items))
+ (begin
+ (locate-initial-segment items (cdr items))
+ items))
items)))
(locate-initial-segment
(lambda (last this)
(if (not (pair? list))
(error "EXCEPT-LAST-PAIR!: Argument not a pair" list))
(if (pair? (cdr list))
- (begin (let loop ((list list))
- (if (pair? (cddr list))
- (loop (cdr list))
- (set-cdr! list '())))
- list)
+ (begin
+ (let loop ((list list))
+ (if (pair? (cdr (cdr list)))
+ (loop (cdr list))
+ (set-cdr! list '())))
+ list)
'()))
\ No newline at end of file