scheme has grown a bit; adapt
Signed-off-by: Keith Packard <keithp@keithp.com>
(define (cdar l) (cdr (car l)))
(define (cdar l) (cdr (car l)))
-(define (caddr l) (car (cdr (cdr l))))
-
; (if <condition> <if-true>)
; (if <condition> <if-true> <if-false)
; (if <condition> <if-true>)
; (if <condition> <if-true> <if-false)
(define (list-tail a b)
(if (zero? b)
a
(define (list-tail a b)
(if (zero? b)
a
- (list-tail (cdr a (- b 1)))
- )
+ (list-tail (cdr a) (- b 1))
+ )
)
(define (list-ref a b)
(car (list-tail a b))
)
)
(define (list-ref a b)
(car (list-tail a b))
)
-(define (list-tail a b)
- (if (zero? b)
- a
- (list-tail (cdr a) (- b 1))))
-
-(list-tail '(1 2 3) 2)
-
-(define (list-ref a b) (car (list-tail a b)))
-
(define string (lambda a (list->string a)))
(define string (lambda a (list->string a)))
-(display "apply\n")
-(apply cons '(a b))
-
(define map
(lambda (a . b)
(define (args b)
(define map
(lambda (a . b)
(define (args b)
(map cadr '((a b) (d e) (g h)))
(map cadr '((a b) (d e) (g h)))
-(define for-each (lambda (a . b)
- (apply map a b)
- #t))
-
-(for-each display '("hello" " " "world" "\n"))
-
(define (newline) (write-char #\newline))
(newline)
(define (newline) (write-char #\newline))
(newline)