Remove definitions not needed to run Pixley.
catseye
13 years ago
8 | 8 | |
9 | 9 | ; This is a init file for Mini-Scheme. |
10 | 10 | |
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 | ||
58 | 11 | ;;;;; 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))))) | |
70 | 12 | |
71 | 13 | ;;;; equal? |
72 | 14 | (define (equal? x y) |