1 | ; Initialization file for TinySCHEME 1.41 |
1 | ; Initialization file for TinySCHEME 1.41 |
2 | |
|
|
3 | ; Per R5RS, up to four deep compositions should be defined |
|
|
4 | (define (caar x) ( car (car x))) |
|
|
5 | (define (cadr x) ( car (cdr x))) |
|
|
6 | (define (cdar x) ( cdr (car x))) |
|
|
7 | (define (cddr x) ( cdr (cdr x))) |
|
|
8 | (define (caaar x) ( car (car (car x)))) |
|
|
9 | (define (caadr x) ( car (car (cdr x)))) |
|
|
10 | (define (cadar x) ( car (cdr (car x)))) |
|
|
11 | (define (caddr x) ( car (cdr (cdr x)))) |
|
|
12 | (define (cdaar x) ( cdr (car (car x)))) |
|
|
13 | (define (cdadr x) ( cdr (car (cdr x)))) |
|
|
14 | (define (cddar x) ( cdr (cdr (car x)))) |
|
|
15 | (define (cdddr x) ( cdr (cdr (cdr x)))) |
|
|
16 | (define (caaaar x) (car (car (car (car x))))) |
|
|
17 | (define (caaadr x) (car (car (car (cdr x))))) |
|
|
18 | (define (caadar x) (car (car (cdr (car x))))) |
|
|
19 | (define (caaddr x) (car (car (cdr (cdr x))))) |
|
|
20 | (define (cadaar x) (car (cdr (car (car x))))) |
|
|
21 | (define (cadadr x) (car (cdr (car (cdr x))))) |
|
|
22 | (define (caddar x) (car (cdr (cdr (car x))))) |
|
|
23 | (define (cadddr x) (car (cdr (cdr (cdr x))))) |
|
|
24 | (define (cdaaar x) (cdr (car (car (car x))))) |
|
|
25 | (define (cdaadr x) (cdr (car (car (cdr x))))) |
|
|
26 | (define (cdadar x) (cdr (car (cdr (car x))))) |
|
|
27 | (define (cdaddr x) (cdr (car (cdr (cdr x))))) |
|
|
28 | (define (cddaar x) (cdr (cdr (car (car x))))) |
|
|
29 | (define (cddadr x) (cdr (cdr (car (cdr x))))) |
|
|
30 | (define (cdddar x) (cdr (cdr (cdr (car x))))) |
|
|
31 | (define (cddddr x) (cdr (cdr (cdr (cdr x))))) |
|
|
32 | |
2 | |
33 | ;;;; Utility to ease macro creation |
3 | ;;;; Utility to ease macro creation |
34 | (define (macro-expand form) |
4 | (define (macro-expand form) |
35 | ((eval (get-closure-code (eval (car form)))) form)) |
5 | ((eval (get-closure-code (eval (car form)))) form)) |
36 | |
6 | |
… | |
… | |
850 | |
820 | |
851 | (define (getprop sym k) |
821 | (define (getprop sym k) |
852 | (assoc (list sym k) *properties*)) |
822 | (assoc (list sym k) *properties*)) |
853 | |
823 | |
854 | (load "psyntax.pp") |
824 | (load "psyntax.pp") |
|
|
825 | |
|
|
826 | ;(define *compile-hook* sc-expand) |
|
|
827 | |