hamster 0.3.10 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
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,873 @@
1
+ !RBIX
2
+ 0
3
+ x
4
+ M
5
+ 1
6
+ n
7
+ n
8
+ x
9
+ 10
10
+ __script__
11
+ i
12
+ 46
13
+ 5
14
+ 7
15
+ 0
16
+ 64
17
+ 47
18
+ 49
19
+ 1
20
+ 1
21
+ 15
22
+ 5
23
+ 7
24
+ 2
25
+ 64
26
+ 47
27
+ 49
28
+ 1
29
+ 1
30
+ 15
31
+ 99
32
+ 7
33
+ 3
34
+ 65
35
+ 49
36
+ 4
37
+ 2
38
+ 13
39
+ 99
40
+ 12
41
+ 7
42
+ 5
43
+ 12
44
+ 7
45
+ 6
46
+ 12
47
+ 65
48
+ 12
49
+ 49
50
+ 7
51
+ 4
52
+ 15
53
+ 49
54
+ 5
55
+ 0
56
+ 15
57
+ 2
58
+ 11
59
+ I
60
+ 6
61
+ I
62
+ 0
63
+ I
64
+ 0
65
+ I
66
+ 0
67
+ n
68
+ p
69
+ 8
70
+ s
71
+ 11
72
+ forwardable
73
+ x
74
+ 7
75
+ require
76
+ s
77
+ 17
78
+ hamster/immutable
79
+ x
80
+ 7
81
+ Hamster
82
+ x
83
+ 11
84
+ open_module
85
+ x
86
+ 15
87
+ __module_init__
88
+ M
89
+ 1
90
+ n
91
+ n
92
+ x
93
+ 7
94
+ Hamster
95
+ i
96
+ 29
97
+ 5
98
+ 66
99
+ 99
100
+ 7
101
+ 0
102
+ 1
103
+ 65
104
+ 49
105
+ 1
106
+ 3
107
+ 13
108
+ 99
109
+ 12
110
+ 7
111
+ 2
112
+ 12
113
+ 7
114
+ 3
115
+ 12
116
+ 65
117
+ 12
118
+ 49
119
+ 4
120
+ 4
121
+ 15
122
+ 49
123
+ 2
124
+ 0
125
+ 11
126
+ I
127
+ 6
128
+ I
129
+ 0
130
+ I
131
+ 0
132
+ I
133
+ 0
134
+ n
135
+ p
136
+ 5
137
+ x
138
+ 5
139
+ Tuple
140
+ x
141
+ 10
142
+ open_class
143
+ x
144
+ 14
145
+ __class_init__
146
+ M
147
+ 1
148
+ n
149
+ n
150
+ x
151
+ 5
152
+ Tuple
153
+ i
154
+ 130
155
+ 5
156
+ 66
157
+ 5
158
+ 45
159
+ 0
160
+ 1
161
+ 47
162
+ 49
163
+ 2
164
+ 1
165
+ 15
166
+ 5
167
+ 45
168
+ 3
169
+ 4
170
+ 47
171
+ 49
172
+ 5
173
+ 1
174
+ 15
175
+ 99
176
+ 7
177
+ 6
178
+ 7
179
+ 7
180
+ 65
181
+ 67
182
+ 49
183
+ 8
184
+ 0
185
+ 49
186
+ 9
187
+ 4
188
+ 15
189
+ 99
190
+ 7
191
+ 10
192
+ 7
193
+ 11
194
+ 65
195
+ 67
196
+ 49
197
+ 8
198
+ 0
199
+ 49
200
+ 9
201
+ 4
202
+ 15
203
+ 99
204
+ 7
205
+ 12
206
+ 7
207
+ 13
208
+ 65
209
+ 67
210
+ 49
211
+ 8
212
+ 0
213
+ 49
214
+ 9
215
+ 4
216
+ 15
217
+ 99
218
+ 7
219
+ 14
220
+ 7
221
+ 15
222
+ 65
223
+ 67
224
+ 49
225
+ 8
226
+ 0
227
+ 49
228
+ 9
229
+ 4
230
+ 15
231
+ 5
232
+ 7
233
+ 16
234
+ 7
235
+ 14
236
+ 7
237
+ 17
238
+ 47
239
+ 49
240
+ 18
241
+ 3
242
+ 15
243
+ 99
244
+ 7
245
+ 19
246
+ 7
247
+ 20
248
+ 65
249
+ 67
250
+ 49
251
+ 8
252
+ 0
253
+ 49
254
+ 9
255
+ 4
256
+ 15
257
+ 99
258
+ 7
259
+ 21
260
+ 7
261
+ 22
262
+ 65
263
+ 67
264
+ 49
265
+ 8
266
+ 0
267
+ 49
268
+ 9
269
+ 4
270
+ 15
271
+ 99
272
+ 7
273
+ 23
274
+ 7
275
+ 24
276
+ 65
277
+ 67
278
+ 49
279
+ 8
280
+ 0
281
+ 49
282
+ 9
283
+ 4
284
+ 11
285
+ I
286
+ 5
287
+ I
288
+ 0
289
+ I
290
+ 0
291
+ I
292
+ 0
293
+ n
294
+ p
295
+ 25
296
+ x
297
+ 11
298
+ Forwardable
299
+ n
300
+ x
301
+ 6
302
+ extend
303
+ x
304
+ 9
305
+ Immutable
306
+ n
307
+ x
308
+ 7
309
+ include
310
+ x
311
+ 10
312
+ initialize
313
+ M
314
+ 1
315
+ n
316
+ n
317
+ x
318
+ 10
319
+ initialize
320
+ i
321
+ 8
322
+ 20
323
+ 0
324
+ 49
325
+ 0
326
+ 0
327
+ 38
328
+ 1
329
+ 11
330
+ I
331
+ 2
332
+ I
333
+ 1
334
+ I
335
+ 0
336
+ I
337
+ 0
338
+ I
339
+ 0
340
+ p
341
+ 2
342
+ x
343
+ 6
344
+ freeze
345
+ x
346
+ 6
347
+ @items
348
+ p
349
+ 5
350
+ I
351
+ 0
352
+ I
353
+ d
354
+ I
355
+ 0
356
+ I
357
+ e
358
+ I
359
+ 8
360
+ x
361
+ 58
362
+ /Users/haruki_zaemon/Projects/hamster/lib/hamster/tuple.rb
363
+ p
364
+ 1
365
+ x
366
+ 5
367
+ items
368
+ x
369
+ 17
370
+ method_visibility
371
+ x
372
+ 15
373
+ add_defn_method
374
+ x
375
+ 5
376
+ first
377
+ M
378
+ 1
379
+ n
380
+ n
381
+ x
382
+ 5
383
+ first
384
+ i
385
+ 6
386
+ 39
387
+ 0
388
+ 49
389
+ 1
390
+ 0
391
+ 11
392
+ I
393
+ 1
394
+ I
395
+ 0
396
+ I
397
+ 0
398
+ I
399
+ 0
400
+ n
401
+ p
402
+ 2
403
+ x
404
+ 6
405
+ @items
406
+ x
407
+ 5
408
+ first
409
+ p
410
+ 5
411
+ I
412
+ 0
413
+ I
414
+ 11
415
+ I
416
+ 0
417
+ I
418
+ 12
419
+ I
420
+ 6
421
+ x
422
+ 58
423
+ /Users/haruki_zaemon/Projects/hamster/lib/hamster/tuple.rb
424
+ p
425
+ 0
426
+ x
427
+ 4
428
+ last
429
+ M
430
+ 1
431
+ n
432
+ n
433
+ x
434
+ 4
435
+ last
436
+ i
437
+ 6
438
+ 39
439
+ 0
440
+ 49
441
+ 1
442
+ 0
443
+ 11
444
+ I
445
+ 1
446
+ I
447
+ 0
448
+ I
449
+ 0
450
+ I
451
+ 0
452
+ n
453
+ p
454
+ 2
455
+ x
456
+ 6
457
+ @items
458
+ x
459
+ 4
460
+ last
461
+ p
462
+ 5
463
+ I
464
+ 0
465
+ I
466
+ 15
467
+ I
468
+ 0
469
+ I
470
+ 16
471
+ I
472
+ 6
473
+ x
474
+ 58
475
+ /Users/haruki_zaemon/Projects/hamster/lib/hamster/tuple.rb
476
+ p
477
+ 0
478
+ x
479
+ 4
480
+ eql?
481
+ M
482
+ 1
483
+ n
484
+ n
485
+ x
486
+ 4
487
+ eql?
488
+ i
489
+ 41
490
+ 20
491
+ 0
492
+ 5
493
+ 49
494
+ 0
495
+ 1
496
+ 9
497
+ 12
498
+ 2
499
+ 11
500
+ 8
501
+ 13
502
+ 1
503
+ 15
504
+ 5
505
+ 20
506
+ 0
507
+ 49
508
+ 1
509
+ 0
510
+ 47
511
+ 49
512
+ 2
513
+ 1
514
+ 13
515
+ 9
516
+ 40
517
+ 15
518
+ 39
519
+ 3
520
+ 20
521
+ 0
522
+ 7
523
+ 3
524
+ 49
525
+ 4
526
+ 1
527
+ 49
528
+ 5
529
+ 1
530
+ 11
531
+ I
532
+ 4
533
+ I
534
+ 1
535
+ I
536
+ 1
537
+ I
538
+ 1
539
+ n
540
+ p
541
+ 6
542
+ x
543
+ 6
544
+ equal?
545
+ x
546
+ 5
547
+ class
548
+ x
549
+ 12
550
+ instance_of?
551
+ x
552
+ 6
553
+ @items
554
+ x
555
+ 21
556
+ instance_variable_get
557
+ x
558
+ 4
559
+ eql?
560
+ p
561
+ 7
562
+ I
563
+ 0
564
+ I
565
+ 19
566
+ I
567
+ 0
568
+ I
569
+ 1a
570
+ I
571
+ e
572
+ I
573
+ 1b
574
+ I
575
+ 29
576
+ x
577
+ 58
578
+ /Users/haruki_zaemon/Projects/hamster/lib/hamster/tuple.rb
579
+ p
580
+ 1
581
+ x
582
+ 5
583
+ other
584
+ x
585
+ 4
586
+ self
587
+ x
588
+ 2
589
+ ==
590
+ x
591
+ 13
592
+ def_delegator
593
+ x
594
+ 6
595
+ to_ary
596
+ M
597
+ 1
598
+ n
599
+ n
600
+ x
601
+ 6
602
+ to_ary
603
+ i
604
+ 3
605
+ 39
606
+ 0
607
+ 11
608
+ I
609
+ 1
610
+ I
611
+ 0
612
+ I
613
+ 0
614
+ I
615
+ 0
616
+ n
617
+ p
618
+ 1
619
+ x
620
+ 6
621
+ @items
622
+ p
623
+ 5
624
+ I
625
+ 0
626
+ I
627
+ 1f
628
+ I
629
+ 0
630
+ I
631
+ 20
632
+ I
633
+ 3
634
+ x
635
+ 58
636
+ /Users/haruki_zaemon/Projects/hamster/lib/hamster/tuple.rb
637
+ p
638
+ 0
639
+ x
640
+ 4
641
+ to_a
642
+ M
643
+ 1
644
+ n
645
+ n
646
+ x
647
+ 4
648
+ to_a
649
+ i
650
+ 6
651
+ 39
652
+ 0
653
+ 49
654
+ 1
655
+ 0
656
+ 11
657
+ I
658
+ 1
659
+ I
660
+ 0
661
+ I
662
+ 0
663
+ I
664
+ 0
665
+ n
666
+ p
667
+ 2
668
+ x
669
+ 6
670
+ @items
671
+ x
672
+ 3
673
+ dup
674
+ p
675
+ 5
676
+ I
677
+ 0
678
+ I
679
+ 23
680
+ I
681
+ 0
682
+ I
683
+ 24
684
+ I
685
+ 6
686
+ x
687
+ 58
688
+ /Users/haruki_zaemon/Projects/hamster/lib/hamster/tuple.rb
689
+ p
690
+ 0
691
+ x
692
+ 7
693
+ inspect
694
+ M
695
+ 1
696
+ n
697
+ n
698
+ x
699
+ 7
700
+ inspect
701
+ i
702
+ 28
703
+ 7
704
+ 0
705
+ 39
706
+ 1
707
+ 49
708
+ 2
709
+ 0
710
+ 44
711
+ 43
712
+ 3
713
+ 79
714
+ 7
715
+ 4
716
+ 49
717
+ 5
718
+ 2
719
+ 49
720
+ 6
721
+ 1
722
+ 47
723
+ 49
724
+ 7
725
+ 0
726
+ 7
727
+ 8
728
+ 63
729
+ 3
730
+ 11
731
+ I
732
+ 5
733
+ I
734
+ 0
735
+ I
736
+ 0
737
+ I
738
+ 0
739
+ n
740
+ p
741
+ 9
742
+ s
743
+ 1
744
+ (
745
+ x
746
+ 6
747
+ @items
748
+ x
749
+ 7
750
+ inspect
751
+ x
752
+ 5
753
+ Range
754
+ I
755
+ -2
756
+ x
757
+ 3
758
+ new
759
+ x
760
+ 2
761
+ []
762
+ x
763
+ 4
764
+ to_s
765
+ s
766
+ 1
767
+ )
768
+ p
769
+ 5
770
+ I
771
+ 0
772
+ I
773
+ 27
774
+ I
775
+ 0
776
+ I
777
+ 28
778
+ I
779
+ 1c
780
+ x
781
+ 58
782
+ /Users/haruki_zaemon/Projects/hamster/lib/hamster/tuple.rb
783
+ p
784
+ 0
785
+ p
786
+ 21
787
+ I
788
+ 2
789
+ I
790
+ 9
791
+ I
792
+ b
793
+ I
794
+ b
795
+ I
796
+ 14
797
+ I
798
+ d
799
+ I
800
+ 22
801
+ I
802
+ 11
803
+ I
804
+ 30
805
+ I
806
+ 15
807
+ I
808
+ 3e
809
+ I
810
+ 19
811
+ I
812
+ 4c
813
+ I
814
+ 1d
815
+ I
816
+ 58
817
+ I
818
+ 1f
819
+ I
820
+ 66
821
+ I
822
+ 23
823
+ I
824
+ 74
825
+ I
826
+ 27
827
+ I
828
+ 82
829
+ x
830
+ 58
831
+ /Users/haruki_zaemon/Projects/hamster/lib/hamster/tuple.rb
832
+ p
833
+ 0
834
+ x
835
+ 13
836
+ attach_method
837
+ p
838
+ 3
839
+ I
840
+ 2
841
+ I
842
+ 7
843
+ I
844
+ 1d
845
+ x
846
+ 58
847
+ /Users/haruki_zaemon/Projects/hamster/lib/hamster/tuple.rb
848
+ p
849
+ 0
850
+ x
851
+ 13
852
+ attach_method
853
+ p
854
+ 7
855
+ I
856
+ 0
857
+ I
858
+ 1
859
+ I
860
+ 9
861
+ I
862
+ 3
863
+ I
864
+ 12
865
+ I
866
+ 5
867
+ I
868
+ 2e
869
+ x
870
+ 58
871
+ /Users/haruki_zaemon/Projects/hamster/lib/hamster/tuple.rb
872
+ p
873
+ 0