-
Notifications
You must be signed in to change notification settings - Fork 0
/
thumbs_test.txt
332 lines (251 loc) · 4.43 KB
/
thumbs_test.txt
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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
$
If
. Is x 3
. Say yay
. Is x 4
. Say nay
x . print y
In 100 *
Say $ 100 miliseconds passed
singer #
singer.name $ javiera mena
singer.country $ chile
Eq singer.name $ javiera mena
prop $country
Eq singer:prop $chile
singer.sing * song
$ singing $song
singing Singer.sing $ moon rock light
Eq singing $ singing moon rock light
makeguess * numb
Is numb 7 *
$ you win
Else *
$ you loose
status Makeguess 7
status2 MakeGuess 8
Eq status $ you win
Eq status2 $ you loose
fac * n
Is n 0 *
1
Else *
nLess1 Sub n 1
facNLess1 Fac nLess1
Mult n facNLess1
ans Fac 3
Eq ans 6
determineAnimal * travel
animal $ none
Is travel $legs *
animal $ bear
ElseIs travel $bicycle *
animal $ human
ElseIs travel $flight *
animal $bird
Else *
animal $unknown
animal
flyingAnimal DetermineAnimal $flight
Eq flyingAnimal $bird
all4sAnimal DetermineAnimal $legs
cyclingAnimal DetermineAnimal $bicycle
unknownAnimal DetermineAnimal $ ???
Eq all4sAnimal $bear
Eq cyclingAnimal $human
Eq unknownAnimal $unknown
sport $ none
ball $white
Is ball $white *
sport $ volleyball
Is ball $orange *
sport $ basketball
Eq sport $ volleyball
argTest * a b c d e
a $ $a $b $c $d $e
t ArgTest $h $e $l $l $o
Eq t $ h e l l o
myFn * a b
B 1 2
three MyFn
0
* x y
Add x y
Eq three 3
myFn * a b c d
C a b d
three MyFn
0
1
* x y z
Add x y z
4 5 6
Eq three 5
$ --------
$ defining a function
adding * x y
Add x y
$ setting a variable to the result of a function call
added Adding 1 5
Eq added 6
$ showing calling functions in a row
negative Neg Add 5 6
Eq negative -11
$ a closure
incmaker *
x 0
inc *
x Add 1 x
inc Incmaker
a Inc
b Inc
c Inc
Eq a 1
Eq b 2
Eq c 3
$ closure without stars for functions
incmaker2
x 10
inc
x Add 2 x
$ coffeescript version
incMaker = ->
x = 10
inc = ->
x = x + 2
inc2 Incmaker2
a Inc2
b Inc2
c Inc2
Eq a 12
Eq b 14
Eq c 16
$ multiline strings
multiliner $
My name is Drew!
This should be multi line
Say multiliner
$ interpolation of strings
name $ Drew LeSueur
age 27
info $ $name is $age years old.
realInfo $ Drew LeSueur is 27 years old.
Eq info realInfo
$ assigning one variable to another
answer 2001
theAnswer answer
Eq theAnswer 2001
Eq answer 2001
$ maps (hashes)
nose $notCarrots
snowman #
name $ Mr. Snowman
nose $carrots
numberofcoals Add 2 4
snowmanName $ Mr. Snowman
Eq snowman.name snowmanName
Eq nose $notCarrots
Eq snowman.nose $carrots
Eq snowman.numberOfCoals 6
myProp $nose
Eq snowman:myProp $carrots
band #
name $Aterciopelados
members #
first $ Andrea Echeverri
second $ Hector Buitrago
cds #
caribe #
name $ caribe atomico
art $ shark
andrea $ Andrea Echeverri
Eq band.members.first andrea
prop $cds
Eq band:prop.caribe.art $shark
prop2 $name
caribe $ caribe atomico
Eq band:prop.caribe:prop2 caribe
$ todo: do this
person #
person.name $ Drew LeSueur
Eq person.name $ Drew LeSueur
$ todo: do this to
MyCoolFunc a b
c d e
$ TODO: something like this (look at nestedArgs when you are compiling a func)
SomeFuncCall
#
fun $times
* success
DO the success
* error
DO the error
$
the string stuff
anotherArg andAnotherArg
andAnother
AndAFunctionCall forArg
Loop collection * x
print x
Loop collection
* x
do something
$ assigning a function to another and calling it
action adding
result Action 11 12
Eq 23 result
$ passing a function as a parameter to another function
doThisThing * fn b c
Fn b c
dalmations DoThisThing adding 100 1
Eq dalmations 101
doThisThing2 * a b fn
Fn a b
sheep DoThisThing2 90 9 * c d
Adding c d
Eq sheep 99
sendText * text
ret $ a text was sent to $text.to from $text.from
$ todo: non interpolating strings
status SendText #
from $drew
to $aimee
Eq status $ a text was sent to aimee from drew
$ TODO: tail call optimization
saying * message
Say message
adding2 * a b c d e f
Add a b c d e f
ret Adding2
1 2
3 4
5 6
Eq ret 21
ret Add
1 2
3 4
5 6
Eq ret 21
ret Add
Add 1 2
3
Add 4 5
Eq ret 15
argTest2 * a b c d e
a $ $a $b $c $d $e
a
t ArgTest2 $h $e $l $l $o
Eq t $ h e l l o
$ todo: these
argTest3 * a b c d e
$ $a $b $c $d $e
t ArgTest3 $h $e $l $l $o
Eq t $ h e l l o
argTest4 * a b c d e
$ $a $b $c $d $e
t ArgTest4
$h $e $l
$l $o
Eq t $ h e l l o
Saying $ almost done
Say $ all done