hamster 0.3.10 → 0.4.0

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.
Files changed (73) hide show
  1. data/History.rdoc +10 -0
  2. data/README.rdoc +13 -10
  3. data/lib/hamster.rb +2 -1
  4. data/lib/hamster.rbc +165 -0
  5. data/lib/hamster/core_ext.rbc +69 -0
  6. data/lib/hamster/core_ext/enumerable.rbc +636 -0
  7. data/lib/hamster/core_ext/io.rbc +616 -0
  8. data/lib/hamster/enumerable.rb +141 -0
  9. data/lib/hamster/experimental/mutable_hash.rb +34 -0
  10. data/lib/hamster/experimental/mutable_queue.rb +34 -0
  11. data/lib/hamster/experimental/mutable_set.rb +46 -0
  12. data/lib/hamster/experimental/mutable_stack.rb +35 -0
  13. data/lib/hamster/{read_copy_update.rb → experimental/read_copy_update.rb} +4 -5
  14. data/lib/hamster/hash.rb +1 -0
  15. data/lib/hamster/hash.rbc +4429 -0
  16. data/lib/hamster/immutable.rbc +1609 -0
  17. data/lib/hamster/list.rb +4 -109
  18. data/lib/hamster/list.rbc +15710 -0
  19. data/lib/hamster/queue.rbc +1842 -0
  20. data/lib/hamster/set.rb +6 -111
  21. data/lib/hamster/set.rbc +7780 -0
  22. data/lib/hamster/sorter.rb +2 -2
  23. data/lib/hamster/sorter.rbc +371 -0
  24. data/lib/hamster/stack.rbc +1627 -0
  25. data/lib/hamster/trie.rbc +3527 -0
  26. data/lib/hamster/tuple.rbc +873 -0
  27. data/lib/hamster/undefined.rbc +258 -0
  28. data/lib/hamster/vector.rb +157 -0
  29. data/lib/hamster/version.rb +1 -1
  30. data/lib/hamster/version.rbc +136 -0
  31. data/spec/hamster/core_ext/io_spec.rb +2 -2
  32. data/spec/hamster/experimental/mutable_set/add?_spec.rb +47 -0
  33. data/spec/hamster/experimental/mutable_set/add_spec.rb +51 -0
  34. data/spec/hamster/experimental/mutable_set/delete?_spec.rb +47 -0
  35. data/spec/hamster/experimental/mutable_set/delete_spec.rb +47 -0
  36. data/spec/hamster/experimental/mutable_stack/pop_spec.rb +41 -0
  37. data/spec/hamster/experimental/mutable_stack/push_spec.rb +41 -0
  38. data/spec/hamster/hash/put_spec.rb +2 -2
  39. data/spec/hamster/list/each_with_index_spec.rb +42 -0
  40. data/spec/hamster/list/head_spec.rb +0 -12
  41. data/spec/hamster/set/construction_spec.rb +16 -4
  42. data/spec/hamster/set/filter_spec.rb +16 -0
  43. data/spec/hamster/set/flatten_spec.rb +13 -2
  44. data/spec/hamster/stack/pop_spec.rb +2 -24
  45. data/spec/hamster/vector/add_spec.rb +41 -0
  46. data/spec/hamster/vector/any_spec.rb +67 -0
  47. data/spec/hamster/vector/clear_spec.rb +36 -0
  48. data/spec/hamster/vector/copying_spec.rb +32 -0
  49. data/spec/hamster/vector/each_spec.rb +46 -0
  50. data/spec/hamster/vector/each_with_index_spec.rb +42 -0
  51. data/spec/hamster/vector/empty_spec.rb +35 -0
  52. data/spec/hamster/vector/eql_spec.rb +65 -0
  53. data/spec/hamster/vector/filter_spec.rb +63 -0
  54. data/spec/hamster/vector/first_spec.rb +35 -0
  55. data/spec/hamster/vector/get_spec.rb +81 -0
  56. data/spec/hamster/vector/include_spec.rb +45 -0
  57. data/spec/hamster/vector/inspect_spec.rb +31 -0
  58. data/spec/hamster/vector/last_spec.rb +32 -0
  59. data/spec/hamster/vector/reduce_spec.rb +87 -0
  60. data/spec/hamster/vector/set_spec.rb +153 -0
  61. data/spec/hamster/vector/size_spec.rb +27 -0
  62. data/spec/hamster/vector/to_a_spec.rb +42 -0
  63. data/spec/hamster/vector/to_ary_spec.rb +44 -0
  64. data/spec/spec_helper.rb +2 -2
  65. data/tasks/bundler.rb +2 -0
  66. data/tasks/publish.rb +1 -1
  67. data/tasks/rspec.rb +1 -2
  68. metadata +56 -14
  69. data/lib/hamster/read_copy_update_hash.rb +0 -28
  70. data/lib/hamster/read_copy_update_list.rb +0 -26
  71. data/lib/hamster/read_copy_update_queue.rb +0 -27
  72. data/lib/hamster/read_copy_update_set.rb +0 -26
  73. data/lib/hamster/read_copy_update_stack.rb +0 -27
@@ -0,0 +1,616 @@
1
+ !RBIX
2
+ 0
3
+ x
4
+ M
5
+ 1
6
+ n
7
+ n
8
+ x
9
+ 10
10
+ __script__
11
+ i
12
+ 64
13
+ 5
14
+ 7
15
+ 0
16
+ 64
17
+ 47
18
+ 49
19
+ 1
20
+ 1
21
+ 15
22
+ 99
23
+ 7
24
+ 2
25
+ 65
26
+ 49
27
+ 3
28
+ 2
29
+ 13
30
+ 99
31
+ 12
32
+ 7
33
+ 4
34
+ 12
35
+ 7
36
+ 5
37
+ 12
38
+ 65
39
+ 12
40
+ 49
41
+ 6
42
+ 4
43
+ 15
44
+ 49
45
+ 4
46
+ 0
47
+ 15
48
+ 99
49
+ 7
50
+ 7
51
+ 1
52
+ 65
53
+ 49
54
+ 8
55
+ 3
56
+ 13
57
+ 99
58
+ 12
59
+ 7
60
+ 9
61
+ 12
62
+ 7
63
+ 10
64
+ 12
65
+ 65
66
+ 12
67
+ 49
68
+ 6
69
+ 4
70
+ 15
71
+ 49
72
+ 9
73
+ 0
74
+ 15
75
+ 2
76
+ 11
77
+ I
78
+ 6
79
+ I
80
+ 0
81
+ I
82
+ 0
83
+ I
84
+ 0
85
+ n
86
+ p
87
+ 11
88
+ s
89
+ 12
90
+ hamster/list
91
+ x
92
+ 7
93
+ require
94
+ x
95
+ 7
96
+ Hamster
97
+ x
98
+ 11
99
+ open_module
100
+ x
101
+ 15
102
+ __module_init__
103
+ M
104
+ 1
105
+ n
106
+ n
107
+ x
108
+ 7
109
+ Hamster
110
+ i
111
+ 28
112
+ 5
113
+ 66
114
+ 99
115
+ 7
116
+ 0
117
+ 65
118
+ 49
119
+ 1
120
+ 2
121
+ 13
122
+ 99
123
+ 12
124
+ 7
125
+ 2
126
+ 12
127
+ 7
128
+ 3
129
+ 12
130
+ 65
131
+ 12
132
+ 49
133
+ 4
134
+ 4
135
+ 15
136
+ 49
137
+ 2
138
+ 0
139
+ 11
140
+ I
141
+ 6
142
+ I
143
+ 0
144
+ I
145
+ 0
146
+ I
147
+ 0
148
+ n
149
+ p
150
+ 5
151
+ x
152
+ 7
153
+ CoreExt
154
+ x
155
+ 11
156
+ open_module
157
+ x
158
+ 15
159
+ __module_init__
160
+ M
161
+ 1
162
+ n
163
+ n
164
+ x
165
+ 7
166
+ CoreExt
167
+ i
168
+ 28
169
+ 5
170
+ 66
171
+ 99
172
+ 7
173
+ 0
174
+ 65
175
+ 49
176
+ 1
177
+ 2
178
+ 13
179
+ 99
180
+ 12
181
+ 7
182
+ 2
183
+ 12
184
+ 7
185
+ 3
186
+ 12
187
+ 65
188
+ 12
189
+ 49
190
+ 4
191
+ 4
192
+ 15
193
+ 49
194
+ 2
195
+ 0
196
+ 11
197
+ I
198
+ 6
199
+ I
200
+ 0
201
+ I
202
+ 0
203
+ I
204
+ 0
205
+ n
206
+ p
207
+ 5
208
+ x
209
+ 2
210
+ IO
211
+ x
212
+ 11
213
+ open_module
214
+ x
215
+ 15
216
+ __module_init__
217
+ M
218
+ 1
219
+ n
220
+ n
221
+ x
222
+ 2
223
+ IO
224
+ i
225
+ 16
226
+ 5
227
+ 66
228
+ 99
229
+ 7
230
+ 0
231
+ 7
232
+ 1
233
+ 65
234
+ 67
235
+ 49
236
+ 2
237
+ 0
238
+ 49
239
+ 3
240
+ 4
241
+ 11
242
+ I
243
+ 5
244
+ I
245
+ 0
246
+ I
247
+ 0
248
+ I
249
+ 0
250
+ n
251
+ p
252
+ 4
253
+ x
254
+ 7
255
+ to_list
256
+ M
257
+ 1
258
+ n
259
+ n
260
+ x
261
+ 7
262
+ to_list
263
+ i
264
+ 24
265
+ 23
266
+ 0
267
+ 10
268
+ 15
269
+ 99
270
+ 43
271
+ 0
272
+ 7
273
+ 1
274
+ 49
275
+ 2
276
+ 1
277
+ 19
278
+ 0
279
+ 15
280
+ 45
281
+ 3
282
+ 4
283
+ 56
284
+ 5
285
+ 50
286
+ 6
287
+ 0
288
+ 11
289
+ I
290
+ 3
291
+ I
292
+ 1
293
+ I
294
+ 0
295
+ I
296
+ 1
297
+ n
298
+ p
299
+ 7
300
+ x
301
+ 7
302
+ Globals
303
+ x
304
+ 2
305
+ $/
306
+ x
307
+ 2
308
+ []
309
+ x
310
+ 6
311
+ Stream
312
+ n
313
+ M
314
+ 1
315
+ p
316
+ 2
317
+ x
318
+ 9
319
+ for_block
320
+ t
321
+ n
322
+ x
323
+ 7
324
+ to_list
325
+ i
326
+ 55
327
+ 5
328
+ 21
329
+ 1
330
+ 0
331
+ 47
332
+ 49
333
+ 0
334
+ 1
335
+ 19
336
+ 0
337
+ 15
338
+ 20
339
+ 0
340
+ 9
341
+ 51
342
+ 45
343
+ 1
344
+ 2
345
+ 13
346
+ 71
347
+ 3
348
+ 47
349
+ 9
350
+ 41
351
+ 47
352
+ 49
353
+ 4
354
+ 0
355
+ 13
356
+ 20
357
+ 0
358
+ 5
359
+ 48
360
+ 5
361
+ 47
362
+ 49
363
+ 6
364
+ 2
365
+ 15
366
+ 8
367
+ 49
368
+ 20
369
+ 0
370
+ 5
371
+ 48
372
+ 5
373
+ 49
374
+ 3
375
+ 2
376
+ 8
377
+ 54
378
+ 45
379
+ 7
380
+ 8
381
+ 11
382
+ I
383
+ 6
384
+ I
385
+ 1
386
+ I
387
+ 0
388
+ I
389
+ 0
390
+ I
391
+ -2
392
+ p
393
+ 9
394
+ x
395
+ 4
396
+ gets
397
+ x
398
+ 8
399
+ Sequence
400
+ n
401
+ x
402
+ 3
403
+ new
404
+ x
405
+ 8
406
+ allocate
407
+ x
408
+ 7
409
+ to_list
410
+ x
411
+ 10
412
+ initialize
413
+ x
414
+ 9
415
+ EmptyList
416
+ n
417
+ p
418
+ 11
419
+ I
420
+ 0
421
+ I
422
+ a
423
+ I
424
+ 0
425
+ I
426
+ b
427
+ I
428
+ b
429
+ I
430
+ c
431
+ I
432
+ f
433
+ I
434
+ d
435
+ I
436
+ 33
437
+ I
438
+ f
439
+ I
440
+ 37
441
+ x
442
+ 64
443
+ /Users/haruki_zaemon/Projects/hamster/lib/hamster/core_ext/io.rb
444
+ p
445
+ 1
446
+ x
447
+ 4
448
+ line
449
+ x
450
+ 3
451
+ new
452
+ p
453
+ 5
454
+ I
455
+ 0
456
+ I
457
+ 9
458
+ I
459
+ f
460
+ I
461
+ a
462
+ I
463
+ 18
464
+ x
465
+ 64
466
+ /Users/haruki_zaemon/Projects/hamster/lib/hamster/core_ext/io.rb
467
+ p
468
+ 1
469
+ x
470
+ 3
471
+ sep
472
+ x
473
+ 17
474
+ method_visibility
475
+ x
476
+ 15
477
+ add_defn_method
478
+ p
479
+ 3
480
+ I
481
+ 2
482
+ I
483
+ 9
484
+ I
485
+ 10
486
+ x
487
+ 64
488
+ /Users/haruki_zaemon/Projects/hamster/lib/hamster/core_ext/io.rb
489
+ p
490
+ 0
491
+ x
492
+ 13
493
+ attach_method
494
+ p
495
+ 3
496
+ I
497
+ 2
498
+ I
499
+ 7
500
+ I
501
+ 1c
502
+ x
503
+ 64
504
+ /Users/haruki_zaemon/Projects/hamster/lib/hamster/core_ext/io.rb
505
+ p
506
+ 0
507
+ x
508
+ 13
509
+ attach_method
510
+ p
511
+ 3
512
+ I
513
+ 2
514
+ I
515
+ 5
516
+ I
517
+ 1c
518
+ x
519
+ 64
520
+ /Users/haruki_zaemon/Projects/hamster/lib/hamster/core_ext/io.rb
521
+ p
522
+ 0
523
+ x
524
+ 13
525
+ attach_method
526
+ x
527
+ 2
528
+ IO
529
+ x
530
+ 10
531
+ open_class
532
+ x
533
+ 14
534
+ __class_init__
535
+ M
536
+ 1
537
+ n
538
+ n
539
+ x
540
+ 2
541
+ IO
542
+ i
543
+ 15
544
+ 5
545
+ 66
546
+ 5
547
+ 45
548
+ 0
549
+ 1
550
+ 43
551
+ 2
552
+ 43
553
+ 3
554
+ 47
555
+ 49
556
+ 4
557
+ 1
558
+ 11
559
+ I
560
+ 2
561
+ I
562
+ 0
563
+ I
564
+ 0
565
+ I
566
+ 0
567
+ n
568
+ p
569
+ 5
570
+ x
571
+ 7
572
+ Hamster
573
+ n
574
+ x
575
+ 7
576
+ CoreExt
577
+ x
578
+ 2
579
+ IO
580
+ x
581
+ 7
582
+ include
583
+ p
584
+ 3
585
+ I
586
+ 2
587
+ I
588
+ 1c
589
+ I
590
+ f
591
+ x
592
+ 64
593
+ /Users/haruki_zaemon/Projects/hamster/lib/hamster/core_ext/io.rb
594
+ p
595
+ 0
596
+ p
597
+ 7
598
+ I
599
+ 0
600
+ I
601
+ 1
602
+ I
603
+ 9
604
+ I
605
+ 3
606
+ I
607
+ 23
608
+ I
609
+ 1a
610
+ I
611
+ 40
612
+ x
613
+ 64
614
+ /Users/haruki_zaemon/Projects/hamster/lib/hamster/core_ext/io.rb
615
+ p
616
+ 0