-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtests.rkt
More file actions
56 lines (48 loc) · 1.79 KB
/
tests.rkt
File metadata and controls
56 lines (48 loc) · 1.79 KB
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
#lang play
(require "baseC2.rkt")
(defmac (foo decision (transitions :
[state :
(action → target ...)
...]
...))
#:keywords transitions : →
(letrec ([state decision]...) (print state)...))
(defmac (foo2 decision (transitions :
[state :
(action → target ...)
...]
...))
#:keywords transitions : →
(letrec ([state decision]...) (or state ...)))
(defmac (foo3 decision (transitions :
[state :
(action → target ...)
...]
...))
#:keywords transitions : →
(letrec ([state (letrec ([action (+ target ...)]...) (max action ...))]
...)
(or state ...))
)
(foo #t (transitions :
[s1 : (1 → 2 3 4)]
[s2 : (1 → 2)
(3 → 2)]
))
[test (foo2 #f (transitions :
[s1 : (1 → 2 3 4)]
[s2 : (1 → 2)
(3 → 2)]
))
#f]
[test (foo2 #t (transitions :
[s1 : (1 → 2 3 4)]
[s2 : (1 → 2)
(3 → 2)]
))
#t]
(foo3 #t (transitions :
[s1 : (a1 → 2 3 4)]
[s2 : (a2 → 2)
(a3 → 2 5)]
))