hamster 0.1.19 → 0.1.20

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 (144) hide show
  1. data/History.rdoc +10 -0
  2. data/README.rdoc +1 -1
  3. data/lib/hamster/list.rb +19 -1
  4. data/lib/hamster/stack.rb +4 -0
  5. data/lib/hamster/version.rb +1 -1
  6. data/spec/hamster/hash/all_spec.rb +5 -5
  7. data/spec/hamster/hash/any_spec.rb +5 -5
  8. data/spec/hamster/hash/eql_spec.rb +2 -2
  9. data/spec/hamster/hash/has_key_spec.rb +2 -2
  10. data/spec/hamster/hash/none_spec.rb +5 -5
  11. data/spec/hamster/list/all_spec.rb +44 -12
  12. data/spec/hamster/list/any_spec.rb +8 -8
  13. data/spec/hamster/list/append_spec.rb +2 -2
  14. data/spec/hamster/list/break_spec.rb +183 -0
  15. data/spec/hamster/list/cadr_spec.rb +7 -2
  16. data/spec/hamster/list/clear_spec.rb +36 -0
  17. data/spec/hamster/list/copying_spec.rb +3 -2
  18. data/spec/hamster/list/cycle_spec.rb +20 -7
  19. data/spec/hamster/list/drop_spec.rb +10 -5
  20. data/spec/hamster/list/drop_while_spec.rb +17 -5
  21. data/spec/hamster/list/each_spec.rb +15 -8
  22. data/spec/hamster/list/empty_spec.rb +2 -2
  23. data/spec/hamster/list/eql_spec.rb +6 -6
  24. data/spec/hamster/list/filter_spec.rb +14 -6
  25. data/spec/hamster/list/find_spec.rb +2 -2
  26. data/spec/hamster/list/grep_spec.rb +10 -5
  27. data/spec/hamster/list/head_spec.rb +16 -12
  28. data/spec/hamster/list/include_spec.rb +2 -2
  29. data/spec/hamster/list/inspect_spec.rb +2 -2
  30. data/spec/hamster/list/map_spec.rb +18 -6
  31. data/spec/hamster/list/maximum_spec.rb +2 -2
  32. data/spec/hamster/list/minimum_spec.rb +2 -2
  33. data/spec/hamster/list/none_spec.rb +8 -8
  34. data/spec/hamster/list/one_spec.rb +9 -9
  35. data/spec/hamster/list/partition_spec.rb +87 -39
  36. data/spec/hamster/list/reduce_spec.rb +2 -2
  37. data/spec/hamster/list/reject_spec.rb +14 -6
  38. data/spec/hamster/list/reverse_spec.rb +9 -4
  39. data/spec/hamster/list/size_spec.rb +2 -2
  40. data/spec/hamster/list/span_spec.rb +183 -0
  41. data/spec/hamster/list/split_at_spec.rb +68 -17
  42. data/spec/hamster/list/tail_spec.rb +2 -2
  43. data/spec/hamster/list/take_spec.rb +10 -5
  44. data/spec/hamster/list/take_while_spec.rb +15 -6
  45. data/spec/hamster/list/to_a_spec.rb +2 -2
  46. data/spec/hamster/list/to_ary_spec.rb +3 -3
  47. data/spec/hamster/list/to_list_spec.rb +3 -2
  48. data/spec/hamster/list/zip_spec.rb +16 -7
  49. data/spec/hamster/set/all_spec.rb +6 -6
  50. data/spec/hamster/set/any_spec.rb +6 -6
  51. data/spec/hamster/set/eql_spec.rb +2 -2
  52. data/spec/hamster/set/include_spec.rb +2 -2
  53. data/spec/hamster/set/none_spec.rb +6 -6
  54. data/spec/hamster/set/to_list.rb +1 -1
  55. data/spec/hamster/stack/clear_spec.rb +36 -0
  56. data/spec/hamster/stack/eql_spec.rb +2 -2
  57. data/spec/hamster/stack/pop_spec.rb +2 -2
  58. data/spec/hamster/trie/remove_spec.rb +3 -3
  59. data/spec/spec_helper.rb +2 -0
  60. metadata +9 -89
  61. data/lib/hamster/core_ext/enumerable.rbc +0 -481
  62. data/lib/hamster/core_ext/io.rbc +0 -604
  63. data/lib/hamster/hash.rbc +0 -3117
  64. data/lib/hamster/list.rbc +0 -7274
  65. data/lib/hamster/set.rbc +0 -3152
  66. data/lib/hamster/stack.rbc +0 -1358
  67. data/lib/hamster/trie.rbc +0 -3416
  68. data/spec/hamster/core_ext/enumerable_spec.rbc +0 -747
  69. data/spec/hamster/core_ext/io_spec.rbc +0 -409
  70. data/spec/hamster/hash/all_spec.rbc +0 -1214
  71. data/spec/hamster/hash/any_spec.rbc +0 -1495
  72. data/spec/hamster/hash/construction_spec.rbc +0 -742
  73. data/spec/hamster/hash/copying_spec.rbc +0 -519
  74. data/spec/hamster/hash/each_spec.rbc +0 -908
  75. data/spec/hamster/hash/empty_spec.rbc +0 -517
  76. data/spec/hamster/hash/eql_spec.rbc +0 -1702
  77. data/spec/hamster/hash/filter_spec.rbc +0 -1433
  78. data/spec/hamster/hash/get_spec.rbc +0 -791
  79. data/spec/hamster/hash/has_key_spec.rbc +0 -719
  80. data/spec/hamster/hash/map_spec.rbc +0 -1454
  81. data/spec/hamster/hash/none_spec.rbc +0 -1399
  82. data/spec/hamster/hash/put_spec.rbc +0 -1334
  83. data/spec/hamster/hash/reduce_spec.rbc +0 -1234
  84. data/spec/hamster/hash/reject_spec.rbc +0 -1445
  85. data/spec/hamster/hash/remove_spec.rbc +0 -1135
  86. data/spec/hamster/hash/size_spec.rbc +0 -596
  87. data/spec/hamster/list/all_spec.rbc +0 -1760
  88. data/spec/hamster/list/any_spec.rbc +0 -1888
  89. data/spec/hamster/list/append_spec.rbc +0 -1555
  90. data/spec/hamster/list/cadr_spec.rbc +0 -855
  91. data/spec/hamster/list/cons_spec.rbc +0 -848
  92. data/spec/hamster/list/construction_spec.rbc +0 -1732
  93. data/spec/hamster/list/copying_spec.rbc +0 -555
  94. data/spec/hamster/list/drop_spec.rbc +0 -1081
  95. data/spec/hamster/list/drop_while_spec.rbc +0 -1286
  96. data/spec/hamster/list/each_spec.rbc +0 -1365
  97. data/spec/hamster/list/empty_spec.rbc +0 -571
  98. data/spec/hamster/list/eql_spec.rbc +0 -1819
  99. data/spec/hamster/list/filter_spec.rbc +0 -1595
  100. data/spec/hamster/list/find_spec.rbc +0 -1456
  101. data/spec/hamster/list/head_spec.rbc +0 -575
  102. data/spec/hamster/list/include_spec.rbc +0 -1173
  103. data/spec/hamster/list/inspect_spec.rbc +0 -995
  104. data/spec/hamster/list/map_spec.rbc +0 -1545
  105. data/spec/hamster/list/none_spec.rbc +0 -1788
  106. data/spec/hamster/list/partition_spec.rbc +0 -2715
  107. data/spec/hamster/list/reduce_spec.rbc +0 -2081
  108. data/spec/hamster/list/reject_spec.rbc +0 -1590
  109. data/spec/hamster/list/reverse_spec.rbc +0 -1061
  110. data/spec/hamster/list/size_spec.rbc +0 -1063
  111. data/spec/hamster/list/tail_spec.rbc +0 -595
  112. data/spec/hamster/list/take_spec.rbc +0 -1075
  113. data/spec/hamster/list/take_while_spec.rbc +0 -1446
  114. data/spec/hamster/list/to_a_spec.rbc +0 -961
  115. data/spec/hamster/list/to_ary_spec.rbc +0 -1080
  116. data/spec/hamster/set/add_spec.rbc +0 -1039
  117. data/spec/hamster/set/all_spec.rbc +0 -1316
  118. data/spec/hamster/set/any_spec.rbc +0 -1444
  119. data/spec/hamster/set/construction_spec.rbc +0 -422
  120. data/spec/hamster/set/copying_spec.rbc +0 -469
  121. data/spec/hamster/set/each_spec.rbc +0 -820
  122. data/spec/hamster/set/empty_spec.rbc +0 -452
  123. data/spec/hamster/set/eql_spec.rbc +0 -1309
  124. data/spec/hamster/set/filter_spec.rbc +0 -1272
  125. data/spec/hamster/set/include_spec.rbc +0 -657
  126. data/spec/hamster/set/map_spec.rbc +0 -1285
  127. data/spec/hamster/set/none_spec.rbc +0 -1344
  128. data/spec/hamster/set/reduce_spec.rbc +0 -1177
  129. data/spec/hamster/set/reject_spec.rbc +0 -1273
  130. data/spec/hamster/set/remove_spec.rbc +0 -947
  131. data/spec/hamster/set/size_spec.rbc +0 -531
  132. data/spec/hamster/set/to_a_spec.rbc +0 -559
  133. data/spec/hamster/stack/construction_spec.rbc +0 -862
  134. data/spec/hamster/stack/copying_spec.rbc +0 -555
  135. data/spec/hamster/stack/empty_spec.rbc +0 -571
  136. data/spec/hamster/stack/eql_spec.rbc +0 -1281
  137. data/spec/hamster/stack/inspect_spec.rbc +0 -586
  138. data/spec/hamster/stack/pop_spec.rbc +0 -1099
  139. data/spec/hamster/stack/push_spec.rbc +0 -848
  140. data/spec/hamster/stack/size_spec.rbc +0 -650
  141. data/spec/hamster/stack/top_spec.rbc +0 -676
  142. data/spec/hamster/trie/remove_spec.rbc +0 -40
  143. data/spec/spec_helper.rbc +0 -163
  144. data/tasks/spec.rbc +0 -201
@@ -11,11 +11,11 @@ describe Hamster::List do
11
11
  describe "doesn't run out of stack space on a really big" do
12
12
 
13
13
  it "stream" do
14
- @list = Hamster.interval(0, 10000)
14
+ @list = Hamster.interval(0, STACK_OVERFLOW_DEPTH)
15
15
  end
16
16
 
17
17
  it "list" do
18
- @list = (0..10000).reduce(Hamster.list) { |list, i| list.cons(i) }
18
+ @list = (0...STACK_OVERFLOW_DEPTH).reduce(Hamster.list) { |list, i| list.cons(i) }
19
19
  end
20
20
 
21
21
  after do
@@ -9,11 +9,11 @@ describe Hamster::List do
9
9
  describe "doesn't run out of stack space on a really big" do
10
10
 
11
11
  it "stream" do
12
- @list = Hamster.interval(0, 10000)
12
+ @list = Hamster.interval(0, STACK_OVERFLOW_DEPTH)
13
13
  end
14
14
 
15
15
  it "list" do
16
- @list = (0..10000).reduce(Hamster.list) { |list, i| list.cons(i) }
16
+ @list = (0...STACK_OVERFLOW_DEPTH).reduce(Hamster.list) { |list, i| list.cons(i) }
17
17
  end
18
18
 
19
19
  after do
@@ -22,7 +22,7 @@ describe Hamster::List do
22
22
 
23
23
  end
24
24
 
25
- describe "enables explicit conversion to" do
25
+ describe "enables implicit conversion to" do
26
26
 
27
27
  before do
28
28
  @list = Hamster.list("A", "B", "C")
@@ -15,11 +15,12 @@ describe Hamster::List do
15
15
  describe "on #{values.inspect}" do
16
16
 
17
17
  before do
18
- @list = Hamster.list(*values)
18
+ @original = Hamster.list(*values)
19
+ @result = @original.to_list
19
20
  end
20
21
 
21
22
  it "returns self" do
22
- @list.to_list.should equal(@list)
23
+ @result.should equal(@original)
23
24
  end
24
25
 
25
26
  end
@@ -9,11 +9,11 @@ describe Hamster::List do
9
9
  describe "doesn't run out of stack space on a really big" do
10
10
 
11
11
  it "stream" do
12
- @a = @b = Hamster.interval(0, 10000)
12
+ @a = @b = Hamster.interval(0, STACK_OVERFLOW_DEPTH)
13
13
  end
14
14
 
15
15
  it "list" do
16
- @a = @b = (0..10000).reduce(Hamster.list) { |list, i| list.cons(i) }
16
+ @a = @b = (0...STACK_OVERFLOW_DEPTH).reduce(Hamster.list) { |list, i| list.cons(i) }
17
17
  end
18
18
 
19
19
  after do
@@ -22,23 +22,32 @@ describe Hamster::List do
22
22
 
23
23
  end
24
24
 
25
+ it "is lazy" do
26
+ count = 0
27
+ left = Hamster.stream { count += 1 }
28
+ right = Hamster.stream { count += 1 }
29
+ result = left.zip(right)
30
+ count.should <= 2
31
+ end
32
+
25
33
  [
26
34
  [[], [], []],
27
35
  [["A"], ["aye"], [Hamster.list("A", "aye")]],
28
36
  [["A"], [], [Hamster.list("A", nil)]],
29
37
  [[], ["A"], [Hamster.list(nil, "A")]],
30
38
  [["A", "B", "C"], ["aye", "bee", "see"], [Hamster.list("A", "aye"), Hamster.list("B", "bee"), Hamster.list("C", "see")]],
31
- ].each do |a, b, expected|
39
+ ].each do |left, right, expected|
32
40
 
33
- describe "on #{a.inspect} and #{b.inspect}" do
41
+ describe "on #{left.inspect} and #{right.inspect}" do
34
42
 
35
43
  before do
36
- @a = Hamster.list(*a)
37
- @b = Hamster.list(*b)
44
+ @left = Hamster.list(*left)
45
+ @right = Hamster.list(*right)
46
+ @result = @left.zip(@right)
38
47
  end
39
48
 
40
49
  it "returns #{expected.inspect}" do
41
- @a.zip(@b).should == Hamster.list(*expected)
50
+ @result.should == Hamster.list(*expected)
42
51
  end
43
52
 
44
53
  end
@@ -13,11 +13,11 @@ describe Hamster::Set do
13
13
  end
14
14
 
15
15
  it "with a block returns true" do
16
- @set.all? {}.should be_true
16
+ @set.all? {}.should == true
17
17
  end
18
18
 
19
19
  it "with no block returns true" do
20
- @set.all?.should be_true
20
+ @set.all?.should == true
21
21
  end
22
22
 
23
23
  end
@@ -31,11 +31,11 @@ describe Hamster::Set do
31
31
  end
32
32
 
33
33
  it "returns true if the block always returns true" do
34
- @set.all? { |item| true }.should be_true
34
+ @set.all? { |item| true }.should == true
35
35
  end
36
36
 
37
37
  it "returns false if the block ever returns false" do
38
- @set.all? { |item| item == "D" }.should be_false
38
+ @set.all? { |item| item == "D" }.should == false
39
39
  end
40
40
 
41
41
  end
@@ -43,13 +43,13 @@ describe Hamster::Set do
43
43
  describe "with no block" do
44
44
 
45
45
  it "returns true if all values are truthy" do
46
- Hamster.set(true, "A").all?.should be_true
46
+ Hamster.set(true, "A").all?.should == true
47
47
  end
48
48
 
49
49
  [nil, false].each do |value|
50
50
 
51
51
  it "returns false if any value is #{value.inspect}" do
52
- Hamster.set(value, true, "A").all?.should be_false
52
+ Hamster.set(value, true, "A").all?.should == false
53
53
  end
54
54
 
55
55
  end
@@ -15,11 +15,11 @@ describe Hamster::Set do
15
15
  end
16
16
 
17
17
  it "with a block returns false" do
18
- @set.send(method) {}.should be_false
18
+ @set.send(method) {}.should == false
19
19
  end
20
20
 
21
21
  it "with no block returns false" do
22
- @set.send(method).should be_false
22
+ @set.send(method).should == false
23
23
  end
24
24
 
25
25
  end
@@ -35,13 +35,13 @@ describe Hamster::Set do
35
35
  ["A", "B", "C", nil].each do |value|
36
36
 
37
37
  it "returns true if the block ever returns true (#{value.inspect})" do
38
- @set.send(method) { |item| item == value }.should be_true
38
+ @set.send(method) { |item| item == value }.should == true
39
39
  end
40
40
 
41
41
  end
42
42
 
43
43
  it "returns false if the block always returns false" do
44
- @set.send(method) { |item| item == "D" }.should be_false
44
+ @set.send(method) { |item| item == "D" }.should == false
45
45
  end
46
46
 
47
47
  end
@@ -49,11 +49,11 @@ describe Hamster::Set do
49
49
  describe "with no block" do
50
50
 
51
51
  it "returns true if any value is truthy" do
52
- Hamster.set(nil, false, true, "A").send(method).should be_true
52
+ Hamster.set(nil, false, true, "A").send(method).should == true
53
53
  end
54
54
 
55
55
  it "returns false if all values are falsey" do
56
- Hamster.set(nil, false).send(method).should be_false
56
+ Hamster.set(nil, false).send(method).should == false
57
57
  end
58
58
 
59
59
  end
@@ -16,11 +16,11 @@ describe Hamster::Set do
16
16
  end
17
17
 
18
18
  it "a standard set" do
19
- @set.send(method, Set["A", "B", "C"]).should be_false
19
+ @set.send(method, Set["A", "B", "C"]).should == false
20
20
  end
21
21
 
22
22
  it "an aribtrary object" do
23
- @set.send(method, Object.new).should be_false
23
+ @set.send(method, Object.new).should == false
24
24
  end
25
25
 
26
26
  end
@@ -15,13 +15,13 @@ describe Hamster::Set do
15
15
  ["A", "B", "C", nil].each do |value|
16
16
 
17
17
  it "returns true for an existing value (#{value.inspect})" do
18
- @set.send(method, value).should be_true
18
+ @set.send(method, value).should == true
19
19
  end
20
20
 
21
21
  end
22
22
 
23
23
  it "returns false for a non-existing value" do
24
- @set.send(method, "D").should be_false
24
+ @set.send(method, "D").should == false
25
25
  end
26
26
 
27
27
  end
@@ -13,11 +13,11 @@ describe Hamster::Set do
13
13
  end
14
14
 
15
15
  it "with a block returns true" do
16
- @set.none? {}.should be_true
16
+ @set.none? {}.should == true
17
17
  end
18
18
 
19
19
  it "with no block returns true" do
20
- @set.none?.should be_true
20
+ @set.none?.should == true
21
21
  end
22
22
 
23
23
  end
@@ -33,13 +33,13 @@ describe Hamster::Set do
33
33
  ["A", "B", "C", nil].each do |value|
34
34
 
35
35
  it "returns false if the block ever returns true (#{value.inspect})" do
36
- @set.none? { |item| item == value }.should be_false
36
+ @set.none? { |item| item == value }.should == false
37
37
  end
38
38
 
39
39
  end
40
40
 
41
41
  it "returns true if the block always returns false" do
42
- @set.none? { |item| item == "D" }.should be_true
42
+ @set.none? { |item| item == "D" }.should == true
43
43
  end
44
44
 
45
45
  end
@@ -47,11 +47,11 @@ describe Hamster::Set do
47
47
  describe "with no block" do
48
48
 
49
49
  it "returns false if any value is truthy" do
50
- Hamster.set(nil, false, true, "A").none?.should be_false
50
+ Hamster.set(nil, false, true, "A").none?.should == false
51
51
  end
52
52
 
53
53
  it "returns true if all values are falsey" do
54
- Hamster.set(nil, false).none?.should be_true
54
+ Hamster.set(nil, false).none?.should == true
55
55
  end
56
56
 
57
57
  end
@@ -20,7 +20,7 @@ describe Hamster::Set do
20
20
  end
21
21
 
22
22
  it "returns a list" do
23
- @list.is_a?(Hamster::List).should be_true
23
+ @list.is_a?(Hamster::List).should == true
24
24
  end
25
25
 
26
26
  describe "the returned list" do
@@ -0,0 +1,36 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
+
3
+ require 'hamster/stack'
4
+
5
+ describe Hamster do
6
+
7
+ describe "#stack" do
8
+
9
+ [
10
+ [],
11
+ ["A"],
12
+ ["A", "B", "C"],
13
+ ].each do |values|
14
+
15
+ describe "on #{values}" do
16
+
17
+ before do
18
+ @original = Hamster.stack(*values)
19
+ @result = @original.clear
20
+ end
21
+
22
+ it "preserves the original" do
23
+ @original.should == Hamster.stack(*values)
24
+ end
25
+
26
+ it "returns an empty list" do
27
+ @result.should be_empty
28
+ end
29
+
30
+ end
31
+
32
+ end
33
+
34
+ end
35
+
36
+ end
@@ -15,11 +15,11 @@ describe Hamster::Stack do
15
15
  end
16
16
 
17
17
  it "a list" do
18
- @stack.send(method, Hamster.list("C", "B", "A")).should be_false
18
+ @stack.send(method, Hamster.list("C", "B", "A")).should == false
19
19
  end
20
20
 
21
21
  it "an aribtrary object" do
22
- @stack.send(method, Object.new).should be_false
22
+ @stack.send(method, Object.new).should == false
23
23
  end
24
24
 
25
25
  end
@@ -46,8 +46,8 @@ describe Hamster::Stack do
46
46
  @original.should == Hamster.stack(*values)
47
47
  end
48
48
 
49
- it "returns the empty stack" do
50
- @result.should equal(Hamster.stack)
49
+ it "returns an empty stack" do
50
+ @result.should be_empty
51
51
  end
52
52
 
53
53
  end
@@ -11,7 +11,7 @@
11
11
  # end
12
12
  #
13
13
  # it "no longer provides access to the removed key" do
14
- # @hash.has_key?("A").should be_false
14
+ # @hash.has_key?("A").should == false
15
15
  # end
16
16
  #
17
17
  # end
@@ -47,7 +47,7 @@
47
47
  # end
48
48
  #
49
49
  # it "doesn't have the removed key" do
50
- # @copy.has_key?("A").should be_false
50
+ # @copy.has_key?("A").should == false
51
51
  # end
52
52
  #
53
53
  # it "has a size one less than the original" do
@@ -102,7 +102,7 @@
102
102
  #
103
103
  # it "no longer provides access to the removed key" do
104
104
  # copy = @original.remove(@b)
105
- # copy.has_key?(@b).should be_false
105
+ # copy.has_key?(@b).should == false
106
106
  # end
107
107
  #
108
108
  # it "provides access to the remaining keys" do
data/spec/spec_helper.rb CHANGED
@@ -3,3 +3,5 @@ require 'rubygems'
3
3
  # Support running specs with "rake spec" and "spec"
4
4
  lib = File.expand_path(File.dirname(__FILE__) + '/../lib')
5
5
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
6
+
7
+ STACK_OVERFLOW_DEPTH = 10000
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hamster
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.19
4
+ version: 0.1.20
5
5
  platform: ruby
6
6
  authors:
7
7
  - Simon Harris
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2010-01-03 00:00:00 +11:00
12
+ date: 2010-01-07 00:00:00 +11:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -20,9 +20,9 @@ dependencies:
20
20
  requirements:
21
21
  - - ">="
22
22
  - !ruby/object:Gem::Version
23
- version: "0"
23
+ version: 1.2.9
24
24
  version:
25
- description: Persistent Data Structures for Ruby
25
+ description: Efficient, Immutable, Thread-Safe Collection classes for Ruby
26
26
  email: haruki.zaemon@gmail.com
27
27
  executables: []
28
28
 
@@ -34,189 +34,109 @@ extra_rdoc_files:
34
34
  - LICENSE
35
35
  files:
36
36
  - lib/hamster/core_ext/enumerable.rb
37
- - lib/hamster/core_ext/enumerable.rbc
38
37
  - lib/hamster/core_ext/io.rb
39
- - lib/hamster/core_ext/io.rbc
40
38
  - lib/hamster/core_ext.rb
41
39
  - lib/hamster/hash.rb
42
- - lib/hamster/hash.rbc
43
40
  - lib/hamster/list.rb
44
- - lib/hamster/list.rbc
45
41
  - lib/hamster/set.rb
46
- - lib/hamster/set.rbc
47
42
  - lib/hamster/stack.rb
48
- - lib/hamster/stack.rbc
49
43
  - lib/hamster/trie.rb
50
- - lib/hamster/trie.rbc
51
44
  - lib/hamster/version.rb
52
45
  - lib/hamster.rb
53
46
  - spec/hamster/core_ext/enumerable_spec.rb
54
- - spec/hamster/core_ext/enumerable_spec.rbc
55
47
  - spec/hamster/core_ext/io_spec.rb
56
- - spec/hamster/core_ext/io_spec.rbc
57
48
  - spec/hamster/core_ext/io_spec.txt
58
49
  - spec/hamster/hash/all_spec.rb
59
- - spec/hamster/hash/all_spec.rbc
60
50
  - spec/hamster/hash/any_spec.rb
61
- - spec/hamster/hash/any_spec.rbc
62
51
  - spec/hamster/hash/construction_spec.rb
63
- - spec/hamster/hash/construction_spec.rbc
64
52
  - spec/hamster/hash/copying_spec.rb
65
- - spec/hamster/hash/copying_spec.rbc
66
53
  - spec/hamster/hash/each_spec.rb
67
- - spec/hamster/hash/each_spec.rbc
68
54
  - spec/hamster/hash/empty_spec.rb
69
- - spec/hamster/hash/empty_spec.rbc
70
55
  - spec/hamster/hash/eql_spec.rb
71
- - spec/hamster/hash/eql_spec.rbc
72
56
  - spec/hamster/hash/filter_spec.rb
73
- - spec/hamster/hash/filter_spec.rbc
74
57
  - spec/hamster/hash/get_spec.rb
75
- - spec/hamster/hash/get_spec.rbc
76
58
  - spec/hamster/hash/has_key_spec.rb
77
- - spec/hamster/hash/has_key_spec.rbc
78
59
  - spec/hamster/hash/map_spec.rb
79
- - spec/hamster/hash/map_spec.rbc
80
60
  - spec/hamster/hash/none_spec.rb
81
- - spec/hamster/hash/none_spec.rbc
82
61
  - spec/hamster/hash/put_spec.rb
83
- - spec/hamster/hash/put_spec.rbc
84
62
  - spec/hamster/hash/reduce_spec.rb
85
- - spec/hamster/hash/reduce_spec.rbc
86
63
  - spec/hamster/hash/reject_spec.rb
87
- - spec/hamster/hash/reject_spec.rbc
88
64
  - spec/hamster/hash/remove_spec.rb
89
- - spec/hamster/hash/remove_spec.rbc
90
65
  - spec/hamster/hash/size_spec.rb
91
- - spec/hamster/hash/size_spec.rbc
92
66
  - spec/hamster/list/all_spec.rb
93
- - spec/hamster/list/all_spec.rbc
94
67
  - spec/hamster/list/any_spec.rb
95
- - spec/hamster/list/any_spec.rbc
96
68
  - spec/hamster/list/append_spec.rb
97
- - spec/hamster/list/append_spec.rbc
69
+ - spec/hamster/list/break_spec.rb
98
70
  - spec/hamster/list/cadr_spec.rb
99
- - spec/hamster/list/cadr_spec.rbc
71
+ - spec/hamster/list/clear_spec.rb
100
72
  - spec/hamster/list/cons_spec.rb
101
- - spec/hamster/list/cons_spec.rbc
102
73
  - spec/hamster/list/construction_spec.rb
103
- - spec/hamster/list/construction_spec.rbc
104
74
  - spec/hamster/list/copying_spec.rb
105
- - spec/hamster/list/copying_spec.rbc
106
75
  - spec/hamster/list/cycle_spec.rb
107
76
  - spec/hamster/list/drop_spec.rb
108
- - spec/hamster/list/drop_spec.rbc
109
77
  - spec/hamster/list/drop_while_spec.rb
110
- - spec/hamster/list/drop_while_spec.rbc
111
78
  - spec/hamster/list/each_spec.rb
112
- - spec/hamster/list/each_spec.rbc
113
79
  - spec/hamster/list/empty_spec.rb
114
- - spec/hamster/list/empty_spec.rbc
115
80
  - spec/hamster/list/eql_spec.rb
116
- - spec/hamster/list/eql_spec.rbc
117
81
  - spec/hamster/list/filter_spec.rb
118
- - spec/hamster/list/filter_spec.rbc
119
82
  - spec/hamster/list/find_spec.rb
120
- - spec/hamster/list/find_spec.rbc
121
83
  - spec/hamster/list/grep_spec.rb
122
84
  - spec/hamster/list/head_spec.rb
123
- - spec/hamster/list/head_spec.rbc
124
85
  - spec/hamster/list/include_spec.rb
125
- - spec/hamster/list/include_spec.rbc
126
86
  - spec/hamster/list/inspect_spec.rb
127
- - spec/hamster/list/inspect_spec.rbc
128
87
  - spec/hamster/list/map_spec.rb
129
- - spec/hamster/list/map_spec.rbc
130
88
  - spec/hamster/list/maximum_spec.rb
131
89
  - spec/hamster/list/minimum_spec.rb
132
90
  - spec/hamster/list/none_spec.rb
133
- - spec/hamster/list/none_spec.rbc
134
91
  - spec/hamster/list/one_spec.rb
135
92
  - spec/hamster/list/partition_spec.rb
136
- - spec/hamster/list/partition_spec.rbc
137
93
  - spec/hamster/list/reduce_spec.rb
138
- - spec/hamster/list/reduce_spec.rbc
139
94
  - spec/hamster/list/reject_spec.rb
140
- - spec/hamster/list/reject_spec.rbc
141
95
  - spec/hamster/list/reverse_spec.rb
142
- - spec/hamster/list/reverse_spec.rbc
143
96
  - spec/hamster/list/size_spec.rb
144
- - spec/hamster/list/size_spec.rbc
97
+ - spec/hamster/list/span_spec.rb
145
98
  - spec/hamster/list/split_at_spec.rb
146
99
  - spec/hamster/list/tail_spec.rb
147
- - spec/hamster/list/tail_spec.rbc
148
100
  - spec/hamster/list/take_spec.rb
149
- - spec/hamster/list/take_spec.rbc
150
101
  - spec/hamster/list/take_while_spec.rb
151
- - spec/hamster/list/take_while_spec.rbc
152
102
  - spec/hamster/list/to_a_spec.rb
153
- - spec/hamster/list/to_a_spec.rbc
154
103
  - spec/hamster/list/to_ary_spec.rb
155
- - spec/hamster/list/to_ary_spec.rbc
156
104
  - spec/hamster/list/to_list_spec.rb
157
105
  - spec/hamster/list/zip_spec.rb
158
106
  - spec/hamster/set/add_spec.rb
159
- - spec/hamster/set/add_spec.rbc
160
107
  - spec/hamster/set/all_spec.rb
161
- - spec/hamster/set/all_spec.rbc
162
108
  - spec/hamster/set/any_spec.rb
163
- - spec/hamster/set/any_spec.rbc
164
109
  - spec/hamster/set/construction_spec.rb
165
- - spec/hamster/set/construction_spec.rbc
166
110
  - spec/hamster/set/copying_spec.rb
167
- - spec/hamster/set/copying_spec.rbc
168
111
  - spec/hamster/set/each_spec.rb
169
- - spec/hamster/set/each_spec.rbc
170
112
  - spec/hamster/set/empty_spec.rb
171
- - spec/hamster/set/empty_spec.rbc
172
113
  - spec/hamster/set/eql_spec.rb
173
- - spec/hamster/set/eql_spec.rbc
174
114
  - spec/hamster/set/filter_spec.rb
175
- - spec/hamster/set/filter_spec.rbc
176
115
  - spec/hamster/set/grep_spec.rb
177
116
  - spec/hamster/set/include_spec.rb
178
- - spec/hamster/set/include_spec.rbc
179
117
  - spec/hamster/set/map_spec.rb
180
- - spec/hamster/set/map_spec.rbc
181
118
  - spec/hamster/set/none_spec.rb
182
- - spec/hamster/set/none_spec.rbc
183
119
  - spec/hamster/set/reduce_spec.rb
184
- - spec/hamster/set/reduce_spec.rbc
185
120
  - spec/hamster/set/reject_spec.rb
186
- - spec/hamster/set/reject_spec.rbc
187
121
  - spec/hamster/set/remove_spec.rb
188
- - spec/hamster/set/remove_spec.rbc
189
122
  - spec/hamster/set/size_spec.rb
190
- - spec/hamster/set/size_spec.rbc
191
123
  - spec/hamster/set/to_a_spec.rb
192
- - spec/hamster/set/to_a_spec.rbc
193
124
  - spec/hamster/set/to_list.rb
194
125
  - spec/hamster/set/uniq_spec.rb
126
+ - spec/hamster/stack/clear_spec.rb
195
127
  - spec/hamster/stack/construction_spec.rb
196
- - spec/hamster/stack/construction_spec.rbc
197
128
  - spec/hamster/stack/copying_spec.rb
198
- - spec/hamster/stack/copying_spec.rbc
199
129
  - spec/hamster/stack/empty_spec.rb
200
- - spec/hamster/stack/empty_spec.rbc
201
130
  - spec/hamster/stack/eql_spec.rb
202
- - spec/hamster/stack/eql_spec.rbc
203
131
  - spec/hamster/stack/inspect_spec.rb
204
- - spec/hamster/stack/inspect_spec.rbc
205
132
  - spec/hamster/stack/pop_spec.rb
206
- - spec/hamster/stack/pop_spec.rbc
207
133
  - spec/hamster/stack/push_spec.rb
208
- - spec/hamster/stack/push_spec.rbc
209
134
  - spec/hamster/stack/size_spec.rb
210
- - spec/hamster/stack/size_spec.rbc
211
135
  - spec/hamster/stack/top_spec.rb
212
- - spec/hamster/stack/top_spec.rbc
213
136
  - spec/hamster/trie/remove_spec.rb
214
- - spec/hamster/trie/remove_spec.rbc
215
137
  - spec/spec.opts
216
138
  - spec/spec_helper.rb
217
- - spec/spec_helper.rbc
218
139
  - tasks/spec.rb
219
- - tasks/spec.rbc
220
140
  - Rakefile
221
141
  - README.rdoc
222
142
  - History.rdoc
@@ -248,6 +168,6 @@ rubyforge_project:
248
168
  rubygems_version: 1.3.5
249
169
  signing_key:
250
170
  specification_version: 3
251
- summary: Persistent Data Structures for Ruby
171
+ summary: Efficient, Immutable, Thread-Safe Collection classes for Ruby
252
172
  test_files: []
253
173