git @ Cat's Eye Technologies Pixley / ca014b1
Remove definitions not needed to run Pixley. catseye 13 years ago
1 changed file(s) with 0 addition(s) and 58 deletion(s). Raw diff Collapse all Expand all
88
99 ; This is a init file for Mini-Scheme.
1010
11 ;; fake pre R^3 boolean values
12 (define nil #f)
13 (define t #t)
14
15 (define (caar x) (car (car x)))
16 (define (cadr x) (car (cdr x)))
17 (define (cdar x) (cdr (car x)))
18 (define (cddr x) (cdr (cdr x)))
19 (define (caaar x) (car (car (car x))))
20 (define (caadr x) (car (car (cdr x))))
21 (define (cadar x) (car (cdr (car x))))
22 (define (caddr x) (car (cdr (cdr x))))
23 (define (cdaar x) (cdr (car (car x))))
24 (define (cdadr x) (cdr (car (cdr x))))
25 (define (cddar x) (cdr (cdr (car x))))
26 (define (cdddr x) (cdr (cdr (cdr x))))
27
28 (define call/cc call-with-current-continuation)
29
30 (define (list . x) x)
31
32 (define (map proc list)
33 (if (pair? list)
34 (cons (proc (car list)) (map proc (cdr list)))))
35
36 (define (for-each proc list)
37 (if (pair? list)
38 (begin (proc (car list)) (for-each proc (cdr list)))
39 #t ))
40
41 (define (list-tail x k)
42 (if (zero? k)
43 x
44 (list-tail (cdr x) (- k 1))))
45
46 (define (list-ref x k)
47 (car (list-tail x k)))
48
49 (define (last-pair x)
50 (if (pair? (cdr x))
51 (last-pair (cdr x))
52 x))
53
54 (define (head stream) (car stream))
55
56 (define (tail stream) (force (cdr stream)))
57
5811 ;;;;; following part is written by a.k
59
60 ;;;; atom?
61 (define (atom? x)
62 (not (pair? x)))
63
64 ;;;; memq
65 (define (memq obj lst)
66 (cond
67 ((null? lst) #f)
68 ((eq? obj (car lst)) lst)
69 (else (memq obj (cdr lst)))))
7012
7113 ;;;; equal?
7214 (define (equal? x y)