summaryrefslogtreecommitdiff
blob: 33d83295f396c9fe727369f98f3d7bacb4685011 (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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
(fate_version 1)

(require local_variables2.fate)

(assert (= (var other_file_var) 1) FAILED: local from other file)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(local int i)

(set_value i 3)

(assert (= (var i) 3) FAILED: local A)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(global int j)
(set_value j 4)

(local int j)
(set_value j 16)

(local (lambda int ()) global_j)

(set_value global_j (lambda () (var j)))

(assert (= (var j) 16) FAILED: local B, local j: (var j))
(assert (= (eval global_j) 4) FAILED: local C, global_j: (eval global_j))

(if (true)
   (
      (local int k)
      (set k 11)
      (assert (= (var k) 11) FAILED: local D, k: (var k))
      (assert (= (var j) 16) FAILED: local E, j: (var j))
   )
)

(local int k)
(set k 12)
(assert (= (var k) 12) FAILED: local F, k: (var k))

(if_else (true)
   (
      (local int l)
      (set l 13)
      (assert (= (var l) 13) FAILED: local G, k: (var l))
   )
   (
      (local int l)
      (set l 14)
   )
)

(if_else (false)
   (
      (local int l)
      (set l 13)
      (assert (= (var l) 13) FAILED: local H, k: (var l))
   )
   (
      (local int l)
      (set l 14)
      (assert (= (var l) 14) FAILED: local I, k: (var l))
   )
)

(define_sequence test0 ()
   (assert (= (var j) 4) FAILED: local J, j from seq: (var j))
)

(call test0)

(define_sequence test1 ()
   (local int j)
   (set j 634)
   (assert (= (var j) 634) FAILED: local K, j from seq: (var j))
)

(call test1)

(assert (= (var j) 16) FAILED: local L, local j: (var j))

(define_sequence test2 ()
   (local int j)
   (set j 635)
   (assert (= (var j) 635) FAILED: local K, j from seq: (var j))

   (local (lambda int ()) global_j)

   (set_value global_j (lambda () (var j)))
   (assert (= (eval global_j) 4) FAILED: local L, global_j: (eval global_j))
)

(call test2)
(assert
   (=
      (let
         (
            (a_one 1)
            (a_two 2)
            (a_three (+ (var a_one) (var a_two)))
         )
         (+ (var a_one) (var a_two) (var a_three))
      )
      6
   )
   FAILED: local M
)

(end)