blob: d893c9fc2a92eb6d0bcd47ac638f458eefd37172 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
(import
(rnrs eval)
(rnrs hashtables))
(define-syntax eval-when-compile
(lambda (stx)
(syntax-case stx ()
((_ imports body ...)
(eval
(syntax->datum #'(begin body ...))
(apply environment (syntax->datum #'imports)))))))
(eval-when-compile
((rnrs))
(display "foo\n"))
(define-syntax process-data
(lambda (stx)
(syntax-case stx ()
((_ file)
(let ((ht (make-eqv-hashtable)))
(hashtable-set! ht 1 2)
ht)))))
(define lookup-table (process-data "lookup-table.dat"))
(define seconds-per-day (number->string (* 24 60 60)))
(define (foo arg1:Num arg2:Record)
(do-stuff arg2.field ))
(define-class Person
(fields
name date-of-birth sex
(age person-age set-person-age!))
(methods
((jump height)
(if (string=? name "lebron")
(perform-jump height)))))
(define-record (r1 a b))
(define-record (r1 a b)
(fields a b)
(set-r1-a! a)
(set-r1-b! b))
(define my-r1 (r1 1 2))
(define-record (r2 a b c d)
(parent (r1 a b)))
(define-record (r2 a b c d)
(parent (r1 a b))
(fields c d)
(set-r2-c! c)
(set-r2-d! d))
(define-record (r2 a b c d)
(parent (r1 (* 2 c) (* 4 d)))
(fields x y z)
(set-r2-x! a)
(set-r2-y! b)
(set-r2-z! (/ a b)))
(define my-r2 (r2 1 2 3 4))
(define-record (r3 a b c d e f)
(parent r2))
(define-record r3
(parent r2)
(fields e f))
(define (init-r3! r a b c d e f)
(init-r2! r a b c d)
(set-r3-e! e)
(set-r3-f! f))
(define r (make-r3))
(init-r3! r 1 2 3 4 5 6)
|