ranger-compiler 3.0.3 → 3.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,168 +0,0 @@
1
-
2
- operators {
3
- ret _:[T] ( a:[T] ) {
4
- templates {
5
- * ( (e 1) )
6
- }
7
- }
8
- ret _:T ( a:T ) {
9
- templates {
10
- * ( (e 1) )
11
- }
12
- }
13
- }
14
-
15
- defn Print (x) (print '' + x)
16
- defn Print (x) (print x)
17
-
18
- defn Range (from to) {
19
- def res:[int]
20
- def f from
21
- while ( f < to ) {
22
- push res f
23
- f = f + 1
24
- }
25
- ret res
26
- }
27
-
28
-
29
- defn ForEach (list f) {
30
- def cnt (size list)
31
- def i 0
32
- while(i < cnt) {
33
- f (at list i)
34
- i = i + 1
35
- }
36
- }
37
-
38
-
39
- defn Compose (f1 f2) (fn:? (x:?) {
40
- return (f1 ( (f2 (x) ) ) )
41
- })
42
-
43
- defn Map ( list f ) {
44
- def cnt (size list)
45
- def res:[?]
46
- def i 0
47
- while(i < cnt) {
48
- def myItem (at list i)
49
- def item ( f myItem )
50
- push res item
51
- i = i + 1
52
- }
53
- ret res
54
- }
55
-
56
- defn Reduce ( list theFn initial) {
57
- def cnt (size list)
58
- def acc@(weak temp) initial
59
- def i 0
60
- while (i < cnt) {
61
- def myItem (at list i)
62
- acc = ( theFn acc myItem )
63
- i = i + 1
64
- }
65
- ret acc
66
- }
67
-
68
- defn Reduce ( list2 theFn initial) {
69
- def cnt (size list2)
70
- def acc@(weak temp) initial
71
- def i 0
72
- while (i < cnt) {
73
- def myItem (at list2 i)
74
- acc = ( theFn (acc myItem ) )
75
- i = i + 1
76
- }
77
- ret acc
78
- }
79
-
80
- defn Filter ( list f ) {
81
- def cnt (size list)
82
- def res:[?]
83
- def i 0
84
- while(i < cnt) {
85
- def myItem (at list i)
86
- if( f myItem ) {
87
- push res myItem
88
- }
89
- i = i + 1
90
- }
91
- ret res
92
- }
93
-
94
- defn Filter ( list f ) {
95
- def cnt (size list)
96
- def res:[?]
97
- def i 0
98
- while(i < cnt) {
99
- def myItem (at list i)
100
- if( f (myItem ) ) {
101
- push res myItem
102
- }
103
- i = i + 1
104
- }
105
- ret res
106
- }
107
-
108
- defn Revert (list) {
109
- def cnt (size list)
110
- def i 0
111
- def end (cnt - 1)
112
- def res (clone list)
113
- while(i < end) {
114
- def v1 (at list i)
115
- def v2 (at list end)
116
- set res end v1
117
- set res i v2
118
- i = i + 1
119
- end = end - 1
120
- }
121
- ret res
122
- }
123
-
124
-
125
- defn ForEach (list f) {
126
- def cnt (size list)
127
- def i 0
128
- while(i < cnt) {
129
- f ( (at list i) )
130
- i = i + 1
131
- }
132
- }
133
-
134
- defn ForEach (list f) {
135
- def keyList (keys list)
136
- def cnt (size keyList)
137
- def i 0
138
- while(i < cnt) {
139
- def k (at keyList i)
140
- f (unwrap (get list k))
141
- i = i + 1
142
- }
143
- }
144
-
145
- defn ConCat (left right) {
146
- def results:[Any]
147
- forEach left {
148
- def tmp@(temp) item
149
- push results tmp
150
- }
151
- forEach right {
152
- def tmp@(temp) item
153
- push results tmp
154
- }
155
- ret results
156
- }
157
-
158
- defn ShowAny (anyItem) {
159
- case anyItem str:string {
160
- print 'string: ' + str
161
- }
162
- case anyItem i:int {
163
- print " int : " + i
164
- }
165
- case anyItem b:boolean {
166
- print " boolean : " + (? b 'true' 'false')
167
- }
168
- }