hamster 0.3.6 → 0.3.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (381) hide show
  1. data/History.rdoc +10 -0
  2. data/LICENSE +1 -1
  3. data/README.rdoc +4 -1
  4. data/Rakefile +1 -1
  5. data/lib/hamster.rb +1 -0
  6. data/lib/hamster/core_ext/enumerable.rbc +676 -0
  7. data/lib/hamster/core_ext/io.rbc +657 -0
  8. data/lib/hamster/hash.rb +4 -0
  9. data/lib/hamster/hash.rbc +4160 -0
  10. data/lib/hamster/immutable.rbc +1664 -0
  11. data/lib/hamster/list.rbc +15902 -0
  12. data/lib/hamster/queue.rb +93 -0
  13. data/lib/hamster/read_copy_update.rb +36 -0
  14. data/lib/hamster/read_copy_update_hash.rb +8 -26
  15. data/lib/hamster/read_copy_update_list.rb +26 -0
  16. data/lib/hamster/read_copy_update_queue.rb +27 -0
  17. data/lib/hamster/read_copy_update_set.rb +7 -21
  18. data/lib/hamster/read_copy_update_stack.rb +8 -24
  19. data/lib/hamster/set.rbc +7865 -0
  20. data/lib/hamster/sorter.rb +2 -2
  21. data/lib/hamster/sorter.rbc +392 -0
  22. data/lib/hamster/stack.rb +4 -1
  23. data/lib/hamster/stack.rbc +1662 -0
  24. data/lib/hamster/trie.rbc +3563 -0
  25. data/lib/hamster/tuple.rbc +899 -0
  26. data/lib/hamster/undefined.rbc +280 -0
  27. data/lib/hamster/version.rb +1 -1
  28. data/spec/hamster/core_ext/array_spec.rb +1 -1
  29. data/spec/hamster/core_ext/array_spec.rbc +402 -0
  30. data/spec/hamster/core_ext/enumerable_spec.rb +1 -1
  31. data/spec/hamster/core_ext/enumerable_spec.rbc +726 -0
  32. data/spec/hamster/core_ext/io_spec.rb +1 -1
  33. data/spec/hamster/core_ext/io_spec.rbc +398 -0
  34. data/spec/hamster/hash/all_spec.rb +1 -1
  35. data/spec/hamster/hash/all_spec.rbc +1360 -0
  36. data/spec/hamster/hash/any_spec.rb +1 -1
  37. data/spec/hamster/hash/any_spec.rbc +1557 -0
  38. data/spec/hamster/hash/clear_spec.rb +36 -0
  39. data/spec/hamster/hash/construction_spec.rb +1 -1
  40. data/spec/hamster/hash/construction_spec.rbc +756 -0
  41. data/spec/hamster/hash/copying_spec.rb +1 -1
  42. data/spec/hamster/hash/copying_spec.rbc +514 -0
  43. data/spec/hamster/hash/delete_spec.rb +1 -1
  44. data/spec/hamster/hash/delete_spec.rbc +1167 -0
  45. data/spec/hamster/hash/each_spec.rb +1 -1
  46. data/spec/hamster/hash/each_spec.rbc +1016 -0
  47. data/spec/hamster/hash/empty_spec.rb +1 -1
  48. data/spec/hamster/hash/empty_spec.rbc +590 -0
  49. data/spec/hamster/hash/eql_spec.rb +1 -1
  50. data/spec/hamster/hash/eql_spec.rbc +1732 -0
  51. data/spec/hamster/hash/filter_spec.rb +1 -1
  52. data/spec/hamster/hash/filter_spec.rbc +1498 -0
  53. data/spec/hamster/hash/find_spec.rb +1 -1
  54. data/spec/hamster/hash/find_spec.rbc +1478 -0
  55. data/spec/hamster/hash/get_spec.rb +1 -1
  56. data/spec/hamster/hash/get_spec.rbc +796 -0
  57. data/spec/hamster/hash/has_key_spec.rb +1 -1
  58. data/spec/hamster/hash/has_key_spec.rbc +826 -0
  59. data/spec/hamster/hash/hash_spec.rb +6 -6
  60. data/spec/hamster/hash/hash_spec.rbc +975 -0
  61. data/spec/hamster/hash/immutable_spec.rb +1 -1
  62. data/spec/hamster/hash/immutable_spec.rbc +251 -0
  63. data/spec/hamster/hash/inspect_spec.rb +2 -2
  64. data/spec/hamster/hash/inspect_spec.rbc +769 -0
  65. data/spec/hamster/hash/keys_spec.rb +1 -1
  66. data/spec/hamster/hash/keys_spec.rbc +484 -0
  67. data/spec/hamster/hash/map_spec.rb +1 -1
  68. data/spec/hamster/hash/map_spec.rbc +1520 -0
  69. data/spec/hamster/hash/merge_spec.rb +1 -1
  70. data/spec/hamster/hash/merge_spec.rbc +881 -0
  71. data/spec/hamster/hash/none_spec.rb +1 -1
  72. data/spec/hamster/hash/none_spec.rbc +1456 -0
  73. data/spec/hamster/hash/put_spec.rb +1 -1
  74. data/spec/hamster/hash/put_spec.rbc +1799 -0
  75. data/spec/hamster/hash/reduce_spec.rb +1 -1
  76. data/spec/hamster/hash/reduce_spec.rbc +1299 -0
  77. data/spec/hamster/hash/remove_spec.rb +1 -1
  78. data/spec/hamster/hash/remove_spec.rbc +1515 -0
  79. data/spec/hamster/hash/size_spec.rb +1 -1
  80. data/spec/hamster/hash/size_spec.rbc +591 -0
  81. data/spec/hamster/hash/uniq_spec.rb +1 -1
  82. data/spec/hamster/hash/uniq_spec.rbc +519 -0
  83. data/spec/hamster/immutable/copying_spec.rb +1 -1
  84. data/spec/hamster/immutable/copying_spec.rbc +589 -0
  85. data/spec/hamster/immutable/immutable_spec.rb +1 -1
  86. data/spec/hamster/immutable/immutable_spec.rbc +1152 -0
  87. data/spec/hamster/immutable/memoize_spec.rb +1 -1
  88. data/spec/hamster/immutable/memoize_spec.rbc +1256 -0
  89. data/spec/hamster/immutable/new_spec.rb +3 -3
  90. data/spec/hamster/immutable/new_spec.rbc +662 -0
  91. data/spec/hamster/immutable/transform_spec.rb +3 -3
  92. data/spec/hamster/immutable/transform_spec.rbc +796 -0
  93. data/spec/hamster/immutable/transform_unless_spec.rb +3 -3
  94. data/spec/hamster/immutable/transform_unless_spec.rbc +1302 -0
  95. data/spec/hamster/list/all_spec.rb +1 -1
  96. data/spec/hamster/list/all_spec.rbc +2275 -0
  97. data/spec/hamster/list/any_spec.rb +1 -1
  98. data/spec/hamster/list/any_spec.rbc +1833 -0
  99. data/spec/hamster/list/append_spec.rb +1 -1
  100. data/spec/hamster/list/append_spec.rbc +1226 -0
  101. data/spec/hamster/list/at_spec.rb +1 -1
  102. data/spec/hamster/list/at_spec.rbc +1008 -0
  103. data/spec/hamster/list/break_spec.rb +1 -1
  104. data/spec/hamster/list/break_spec.rbc +1876 -0
  105. data/spec/hamster/list/cadr_spec.rb +1 -1
  106. data/spec/hamster/list/cadr_spec.rbc +1074 -0
  107. data/spec/hamster/list/chunk_spec.rb +1 -1
  108. data/spec/hamster/list/chunk_spec.rbc +939 -0
  109. data/spec/hamster/list/clear_spec.rb +2 -2
  110. data/spec/hamster/list/clear_spec.rbc +644 -0
  111. data/spec/hamster/list/combinations_spec.rb +1 -1
  112. data/spec/hamster/list/combinations_spec.rbc +1335 -0
  113. data/spec/hamster/list/compact_spec.rb +1 -1
  114. data/spec/hamster/list/compact_spec.rbc +1006 -0
  115. data/spec/hamster/list/cons_spec.rb +1 -1
  116. data/spec/hamster/list/cons_spec.rbc +861 -0
  117. data/spec/hamster/list/construction_spec.rb +1 -1
  118. data/spec/hamster/list/construction_spec.rbc +3098 -0
  119. data/spec/hamster/list/copying_spec.rb +1 -1
  120. data/spec/hamster/list/copying_spec.rbc +574 -0
  121. data/spec/hamster/list/count_spec.rb +1 -1
  122. data/spec/hamster/list/count_spec.rbc +1260 -0
  123. data/spec/hamster/list/cycle_spec.rb +1 -1
  124. data/spec/hamster/list/cycle_spec.rbc +1029 -0
  125. data/spec/hamster/list/drop_spec.rb +1 -1
  126. data/spec/hamster/list/drop_spec.rbc +968 -0
  127. data/spec/hamster/list/drop_while_spec.rb +1 -1
  128. data/spec/hamster/list/drop_while_spec.rbc +1342 -0
  129. data/spec/hamster/list/each_slice_spec.rb +1 -1
  130. data/spec/hamster/list/each_slice_spec.rbc +1730 -0
  131. data/spec/hamster/list/each_spec.rb +1 -1
  132. data/spec/hamster/list/each_spec.rbc +1464 -0
  133. data/spec/hamster/list/elem_index_spec.rb +1 -1
  134. data/spec/hamster/list/elem_index_spec.rbc +1137 -0
  135. data/spec/hamster/list/elem_indices_spec.rb +1 -1
  136. data/spec/hamster/list/elem_indices_spec.rbc +1006 -0
  137. data/spec/hamster/list/empty_spec.rb +1 -1
  138. data/spec/hamster/list/empty_spec.rbc +970 -0
  139. data/spec/hamster/list/eql_spec.rb +1 -1
  140. data/spec/hamster/list/eql_spec.rbc +1722 -0
  141. data/spec/hamster/list/filter_spec.rb +1 -1
  142. data/spec/hamster/list/filter_spec.rbc +1430 -0
  143. data/spec/hamster/list/find_index_spec.rb +1 -1
  144. data/spec/hamster/list/find_index_spec.rbc +1240 -0
  145. data/spec/hamster/list/find_indices_spec.rb +1 -1
  146. data/spec/hamster/list/find_indices_spec.rbc +1109 -0
  147. data/spec/hamster/list/find_spec.rb +1 -1
  148. data/spec/hamster/list/find_spec.rbc +1369 -0
  149. data/spec/hamster/list/flatten_spec.rb +1 -1
  150. data/spec/hamster/list/flatten_spec.rbc +973 -0
  151. data/spec/hamster/list/grep_spec.rb +1 -1
  152. data/spec/hamster/list/grep_spec.rbc +1577 -0
  153. data/spec/hamster/list/group_by_spec.rb +1 -1
  154. data/spec/hamster/list/group_by_spec.rbc +1588 -0
  155. data/spec/hamster/list/hash_spec.rb +6 -6
  156. data/spec/hamster/list/hash_spec.rbc +935 -0
  157. data/spec/hamster/list/head_spec.rb +1 -1
  158. data/spec/hamster/list/head_spec.rbc +971 -0
  159. data/spec/hamster/list/include_spec.rb +1 -1
  160. data/spec/hamster/list/include_spec.rbc +1123 -0
  161. data/spec/hamster/list/init_spec.rb +1 -1
  162. data/spec/hamster/list/init_spec.rbc +896 -0
  163. data/spec/hamster/list/inits_spec.rb +1 -1
  164. data/spec/hamster/list/inits_spec.rbc +1011 -0
  165. data/spec/hamster/list/inspect_spec.rb +1 -1
  166. data/spec/hamster/list/inspect_spec.rbc +874 -0
  167. data/spec/hamster/list/intersperse_spec.rb +1 -1
  168. data/spec/hamster/list/intersperse_spec.rbc +931 -0
  169. data/spec/hamster/list/join_spec.rb +1 -1
  170. data/spec/hamster/list/join_spec.rbc +1599 -0
  171. data/spec/hamster/list/last_spec.rb +1 -1
  172. data/spec/hamster/list/last_spec.rbc +875 -0
  173. data/spec/hamster/list/map_spec.rb +1 -1
  174. data/spec/hamster/list/map_spec.rbc +1613 -0
  175. data/spec/hamster/list/maximum_spec.rb +1 -1
  176. data/spec/hamster/list/maximum_spec.rbc +1558 -0
  177. data/spec/hamster/list/minimum_spec.rb +1 -1
  178. data/spec/hamster/list/minimum_spec.rbc +1558 -0
  179. data/spec/hamster/list/none_spec.rb +1 -1
  180. data/spec/hamster/list/none_spec.rbc +1725 -0
  181. data/spec/hamster/list/one_spec.rb +1 -1
  182. data/spec/hamster/list/one_spec.rbc +1747 -0
  183. data/spec/hamster/list/partition_spec.rb +1 -1
  184. data/spec/hamster/list/partition_spec.rbc +1582 -0
  185. data/spec/hamster/list/product_spec.rb +1 -1
  186. data/spec/hamster/list/product_spec.rbc +863 -0
  187. data/spec/hamster/list/reduce_spec.rb +1 -1
  188. data/spec/hamster/list/reduce_spec.rbc +2032 -0
  189. data/spec/hamster/list/remove_spec.rb +1 -1
  190. data/spec/hamster/list/remove_spec.rbc +1578 -0
  191. data/spec/hamster/list/reverse_spec.rb +1 -1
  192. data/spec/hamster/list/reverse_spec.rbc +1247 -0
  193. data/spec/hamster/list/size_spec.rb +1 -1
  194. data/spec/hamster/list/size_spec.rbc +943 -0
  195. data/spec/hamster/list/slice_spec.rb +1 -1
  196. data/spec/hamster/list/slice_spec.rbc +1133 -0
  197. data/spec/hamster/list/sorting_spec.rb +1 -1
  198. data/spec/hamster/list/sorting_spec.rbc +1677 -0
  199. data/spec/hamster/list/span_spec.rb +1 -1
  200. data/spec/hamster/list/span_spec.rbc +1788 -0
  201. data/spec/hamster/list/split_at_spec.rb +1 -1
  202. data/spec/hamster/list/split_at_spec.rbc +1168 -0
  203. data/spec/hamster/list/sum_spec.rb +1 -1
  204. data/spec/hamster/list/sum_spec.rbc +861 -0
  205. data/spec/hamster/list/tail_spec.rb +1 -1
  206. data/spec/hamster/list/tail_spec.rbc +1018 -0
  207. data/spec/hamster/list/tails_spec.rb +1 -1
  208. data/spec/hamster/list/tails_spec.rbc +1011 -0
  209. data/spec/hamster/list/take_spec.rb +1 -1
  210. data/spec/hamster/list/take_spec.rbc +962 -0
  211. data/spec/hamster/list/take_while_spec.rb +1 -1
  212. data/spec/hamster/list/take_while_spec.rbc +1456 -0
  213. data/spec/hamster/list/to_a_spec.rb +1 -1
  214. data/spec/hamster/list/to_a_spec.rbc +1058 -0
  215. data/spec/hamster/list/to_ary_spec.rb +1 -1
  216. data/spec/hamster/list/to_ary_spec.rbc +1270 -0
  217. data/spec/hamster/list/to_list_spec.rb +1 -1
  218. data/spec/hamster/list/to_list_spec.rbc +560 -0
  219. data/spec/hamster/list/to_set_spec.rb +1 -1
  220. data/spec/hamster/list/to_set_spec.rbc +585 -0
  221. data/spec/hamster/list/union_spec.rb +1 -1
  222. data/spec/hamster/list/union_spec.rbc +1189 -0
  223. data/spec/hamster/list/uniq_spec.rb +1 -1
  224. data/spec/hamster/list/uniq_spec.rbc +1030 -0
  225. data/spec/hamster/list/zip_spec.rb +1 -1
  226. data/spec/hamster/list/zip_spec.rbc +1039 -0
  227. data/spec/hamster/queue/clear_spec.rb +36 -0
  228. data/spec/hamster/queue/construction_spec.rb +43 -0
  229. data/spec/hamster/queue/dequeue_spec.rb +40 -0
  230. data/spec/hamster/queue/empty_spec.rb +47 -0
  231. data/spec/hamster/queue/enqueue_spec.rb +41 -0
  232. data/spec/hamster/queue/head_spec.rb +35 -0
  233. data/spec/hamster/queue/inspect_spec.rb +31 -0
  234. data/spec/hamster/queue/size_spec.rb +35 -0
  235. data/spec/hamster/queue/to_a_spec.rb +42 -0
  236. data/spec/hamster/queue/to_ary_spec.rb +44 -0
  237. data/spec/hamster/queue/to_list_spec.rb +44 -0
  238. data/spec/hamster/set/add_spec.rb +1 -1
  239. data/spec/hamster/set/add_spec.rbc +1076 -0
  240. data/spec/hamster/set/all_spec.rb +1 -1
  241. data/spec/hamster/set/all_spec.rbc +1475 -0
  242. data/spec/hamster/set/any_spec.rb +1 -1
  243. data/spec/hamster/set/any_spec.rbc +1506 -0
  244. data/spec/hamster/set/clear_spec.rb +2 -2
  245. data/spec/hamster/set/clear_spec.rbc +644 -0
  246. data/spec/hamster/set/compact_spec.rb +1 -1
  247. data/spec/hamster/set/compact_spec.rbc +811 -0
  248. data/spec/hamster/set/construction_spec.rb +1 -1
  249. data/spec/hamster/set/construction_spec.rbc +412 -0
  250. data/spec/hamster/set/copying_spec.rb +1 -1
  251. data/spec/hamster/set/copying_spec.rbc +464 -0
  252. data/spec/hamster/set/count_spec.rb +1 -1
  253. data/spec/hamster/set/count_spec.rbc +977 -0
  254. data/spec/hamster/set/delete_spec.rb +1 -1
  255. data/spec/hamster/set/delete_spec.rbc +979 -0
  256. data/spec/hamster/set/difference_spec.rb +1 -1
  257. data/spec/hamster/set/difference_spec.rbc +784 -0
  258. data/spec/hamster/set/each_spec.rb +1 -1
  259. data/spec/hamster/set/each_spec.rbc +928 -0
  260. data/spec/hamster/set/empty_spec.rb +1 -1
  261. data/spec/hamster/set/empty_spec.rbc +659 -0
  262. data/spec/hamster/set/eql_spec.rb +1 -1
  263. data/spec/hamster/set/eql_spec.rbc +1339 -0
  264. data/spec/hamster/set/exclusion_spec.rb +1 -1
  265. data/spec/hamster/set/exclusion_spec.rbc +837 -0
  266. data/spec/hamster/set/filter_spec.rb +1 -1
  267. data/spec/hamster/set/filter_spec.rbc +1337 -0
  268. data/spec/hamster/set/find_spec.rb +1 -1
  269. data/spec/hamster/set/find_spec.rbc +1039 -0
  270. data/spec/hamster/set/flatten_spec.rb +1 -1
  271. data/spec/hamster/set/flatten_spec.rbc +778 -0
  272. data/spec/hamster/set/grep_spec.rb +1 -1
  273. data/spec/hamster/set/grep_spec.rbc +1217 -0
  274. data/spec/hamster/set/group_by_spec.rb +1 -1
  275. data/spec/hamster/set/group_by_spec.rbc +1308 -0
  276. data/spec/hamster/set/hash_spec.rb +6 -6
  277. data/spec/hamster/set/hash_spec.rbc +655 -0
  278. data/spec/hamster/set/head_spec.rb +17 -14
  279. data/spec/hamster/set/head_spec.rbc +767 -0
  280. data/spec/hamster/set/immutable_spec.rb +1 -1
  281. data/spec/hamster/set/immutable_spec.rbc +251 -0
  282. data/spec/hamster/set/include_spec.rb +1 -1
  283. data/spec/hamster/set/include_spec.rbc +763 -0
  284. data/spec/hamster/set/inspect_spec.rb +2 -2
  285. data/spec/hamster/set/inspect_spec.rbc +704 -0
  286. data/spec/hamster/set/intersection_spec.rb +1 -1
  287. data/spec/hamster/set/intersection_spec.rbc +966 -0
  288. data/spec/hamster/set/join_spec.rb +3 -3
  289. data/spec/hamster/set/join_spec.rbc +1521 -0
  290. data/spec/hamster/set/map_spec.rb +1 -1
  291. data/spec/hamster/set/map_spec.rbc +1351 -0
  292. data/spec/hamster/set/maximum_spec.rb +1 -1
  293. data/spec/hamster/set/maximum_spec.rbc +1274 -0
  294. data/spec/hamster/set/minimum_spec.rb +1 -1
  295. data/spec/hamster/set/minimum_spec.rbc +1274 -0
  296. data/spec/hamster/set/none_spec.rb +1 -1
  297. data/spec/hamster/set/none_spec.rbc +1401 -0
  298. data/spec/hamster/set/one_spec.rb +1 -1
  299. data/spec/hamster/set/one_spec.rbc +1423 -0
  300. data/spec/hamster/set/partition_spec.rb +1 -1
  301. data/spec/hamster/set/partition_spec.rbc +1387 -0
  302. data/spec/hamster/set/product_spec.rb +1 -1
  303. data/spec/hamster/set/product_spec.rbc +580 -0
  304. data/spec/hamster/set/reduce_spec.rb +3 -3
  305. data/spec/hamster/set/reduce_spec.rbc +1724 -0
  306. data/spec/hamster/set/remove_spec.rb +1 -1
  307. data/spec/hamster/set/remove_spec.rbc +1343 -0
  308. data/spec/hamster/set/size_spec.rb +1 -1
  309. data/spec/hamster/set/size_spec.rbc +526 -0
  310. data/spec/hamster/set/sorting_spec.rb +1 -1
  311. data/spec/hamster/set/sorting_spec.rbc +1268 -0
  312. data/spec/hamster/set/subset_spec.rb +1 -1
  313. data/spec/hamster/set/subset_spec.rbc +814 -0
  314. data/spec/hamster/set/sum_spec.rb +1 -1
  315. data/spec/hamster/set/sum_spec.rbc +578 -0
  316. data/spec/hamster/set/superset_spec.rb +1 -1
  317. data/spec/hamster/set/superset_spec.rbc +814 -0
  318. data/spec/hamster/set/to_a_spec.rb +1 -1
  319. data/spec/hamster/set/to_a_spec.rbc +782 -0
  320. data/spec/hamster/set/to_list_spec.rb +1 -1
  321. data/spec/hamster/set/to_list_spec.rbc +880 -0
  322. data/spec/hamster/set/to_set_spec.rb +1 -1
  323. data/spec/hamster/set/to_set_spec.rbc +560 -0
  324. data/spec/hamster/set/union_spec.rb +1 -1
  325. data/spec/hamster/set/union_spec.rbc +944 -0
  326. data/spec/hamster/set/uniq_spec.rb +1 -1
  327. data/spec/hamster/set/uniq_spec.rbc +469 -0
  328. data/spec/hamster/sorter/immutable_spec.rb +1 -1
  329. data/spec/hamster/sorter/immutable_spec.rbc +251 -0
  330. data/spec/hamster/stack/clear_spec.rb +2 -2
  331. data/spec/hamster/stack/clear_spec.rbc +644 -0
  332. data/spec/hamster/stack/construction_spec.rb +1 -1
  333. data/spec/hamster/stack/construction_spec.rbc +888 -0
  334. data/spec/hamster/stack/copying_spec.rb +1 -1
  335. data/spec/hamster/stack/copying_spec.rbc +559 -0
  336. data/spec/hamster/stack/empty_spec.rb +1 -1
  337. data/spec/hamster/stack/empty_spec.rbc +576 -0
  338. data/spec/hamster/stack/eql_spec.rb +1 -1
  339. data/spec/hamster/stack/eql_spec.rbc +1311 -0
  340. data/spec/hamster/stack/immutable_spec.rb +1 -1
  341. data/spec/hamster/stack/immutable_spec.rbc +251 -0
  342. data/spec/hamster/stack/inspect_spec.rb +1 -1
  343. data/spec/hamster/stack/inspect_spec.rbc +591 -0
  344. data/spec/hamster/stack/peek_spec.rb +40 -0
  345. data/spec/hamster/stack/peek_spec.rbc +770 -0
  346. data/spec/hamster/stack/pop_spec.rb +35 -31
  347. data/spec/hamster/stack/pop_spec.rbc +1217 -0
  348. data/spec/hamster/stack/push_spec.rb +2 -2
  349. data/spec/hamster/stack/push_spec.rbc +866 -0
  350. data/spec/hamster/stack/size_spec.rb +1 -1
  351. data/spec/hamster/stack/size_spec.rbc +660 -0
  352. data/spec/hamster/stack/to_a_spec.rb +1 -1
  353. data/spec/hamster/stack/to_a_spec.rbc +809 -0
  354. data/spec/hamster/stack/to_ary.rb +1 -1
  355. data/spec/hamster/stack/to_list_spec.rb +1 -1
  356. data/spec/hamster/stack/to_list_spec.rbc +634 -0
  357. data/spec/hamster/trie/remove_spec.rb +1 -1
  358. data/spec/hamster/trie/remove_spec.rbc +40 -0
  359. data/spec/hamster/tuple/copying_spec.rb +1 -1
  360. data/spec/hamster/tuple/copying_spec.rbc +502 -0
  361. data/spec/hamster/tuple/eql_spec.rb +1 -1
  362. data/spec/hamster/tuple/eql_spec.rbc +1356 -0
  363. data/spec/hamster/tuple/first_spec.rb +1 -1
  364. data/spec/hamster/tuple/first_spec.rbc +409 -0
  365. data/spec/hamster/tuple/immutable_spec.rb +1 -1
  366. data/spec/hamster/tuple/immutable_spec.rbc +251 -0
  367. data/spec/hamster/tuple/inspect_spec.rb +1 -1
  368. data/spec/hamster/tuple/inspect_spec.rbc +409 -0
  369. data/spec/hamster/tuple/last_spec.rb +1 -1
  370. data/spec/hamster/tuple/last_spec.rbc +409 -0
  371. data/spec/hamster/tuple/to_a_spec.rb +1 -1
  372. data/spec/hamster/tuple/to_a_spec.rbc +697 -0
  373. data/spec/hamster/tuple/to_ary_spec.rb +1 -1
  374. data/spec/hamster/tuple/to_ary_spec.rbc +1030 -0
  375. data/spec/hamster/undefined/erase_spec.rb +1 -1
  376. data/spec/hamster/undefined/erase_spec.rbc +880 -0
  377. data/spec/spec_helper.rb +24 -1
  378. data/spec/spec_helper.rbc +639 -0
  379. data/tasks/spec.rbc +206 -0
  380. metadata +201 -4
  381. data/spec/hamster/stack/top_spec.rb +0 -36
@@ -1,4 +1,4 @@
1
- require File.expand_path('../../../spec_helper', __FILE__)
1
+ require 'spec_helper'
2
2
 
3
3
  require 'hamster/list'
4
4
 
@@ -0,0 +1,1788 @@
1
+ !RBIX
2
+ 0
3
+ x
4
+ M
5
+ 1
6
+ n
7
+ n
8
+ x
9
+ 10
10
+ __script__
11
+ i
12
+ 31
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
+ 5
32
+ 7
33
+ 3
34
+ 64
35
+ 56
36
+ 4
37
+ 47
38
+ 50
39
+ 5
40
+ 1
41
+ 15
42
+ 2
43
+ 11
44
+ I
45
+ 3
46
+ I
47
+ 0
48
+ I
49
+ 0
50
+ I
51
+ 0
52
+ n
53
+ p
54
+ 6
55
+ s
56
+ 11
57
+ spec_helper
58
+ x
59
+ 7
60
+ require
61
+ s
62
+ 12
63
+ hamster/list
64
+ s
65
+ 17
66
+ Hamster.list#span
67
+ M
68
+ 1
69
+ p
70
+ 2
71
+ x
72
+ 9
73
+ for_block
74
+ t
75
+ n
76
+ x
77
+ 9
78
+ __block__
79
+ i
80
+ 22
81
+ 5
82
+ 7
83
+ 0
84
+ 64
85
+ 56
86
+ 1
87
+ 47
88
+ 50
89
+ 2
90
+ 1
91
+ 15
92
+ 5
93
+ 7
94
+ 3
95
+ 64
96
+ 56
97
+ 4
98
+ 47
99
+ 50
100
+ 5
101
+ 1
102
+ 11
103
+ I
104
+ 4
105
+ I
106
+ 0
107
+ I
108
+ 0
109
+ I
110
+ 0
111
+ I
112
+ -2
113
+ p
114
+ 6
115
+ s
116
+ 7
117
+ is lazy
118
+ M
119
+ 1
120
+ p
121
+ 2
122
+ x
123
+ 9
124
+ for_block
125
+ t
126
+ n
127
+ x
128
+ 9
129
+ __block__
130
+ i
131
+ 15
132
+ 5
133
+ 56
134
+ 0
135
+ 47
136
+ 50
137
+ 1
138
+ 0
139
+ 5
140
+ 47
141
+ 48
142
+ 2
143
+ 49
144
+ 3
145
+ 1
146
+ 11
147
+ I
148
+ 3
149
+ I
150
+ 0
151
+ I
152
+ 0
153
+ I
154
+ 0
155
+ I
156
+ -2
157
+ p
158
+ 4
159
+ M
160
+ 1
161
+ p
162
+ 2
163
+ x
164
+ 9
165
+ for_block
166
+ t
167
+ n
168
+ x
169
+ 9
170
+ __block__
171
+ i
172
+ 14
173
+ 45
174
+ 0
175
+ 1
176
+ 56
177
+ 2
178
+ 50
179
+ 3
180
+ 0
181
+ 56
182
+ 4
183
+ 50
184
+ 5
185
+ 0
186
+ 11
187
+ I
188
+ 3
189
+ I
190
+ 0
191
+ I
192
+ 0
193
+ I
194
+ 0
195
+ I
196
+ -2
197
+ p
198
+ 6
199
+ x
200
+ 7
201
+ Hamster
202
+ n
203
+ M
204
+ 1
205
+ p
206
+ 2
207
+ x
208
+ 9
209
+ for_block
210
+ t
211
+ n
212
+ x
213
+ 9
214
+ __block__
215
+ i
216
+ 9
217
+ 57
218
+ 19
219
+ 0
220
+ 15
221
+ 5
222
+ 47
223
+ 48
224
+ 0
225
+ 11
226
+ I
227
+ 3
228
+ I
229
+ 1
230
+ I
231
+ 1
232
+ I
233
+ 1
234
+ n
235
+ p
236
+ 1
237
+ x
238
+ 4
239
+ fail
240
+ p
241
+ 3
242
+ I
243
+ 0
244
+ I
245
+ 8
246
+ I
247
+ 9
248
+ x
249
+ 68
250
+ /Users/haruki_zaemon/Projects/hamster/spec/hamster/list/span_spec.rb
251
+ p
252
+ 1
253
+ x
254
+ 4
255
+ item
256
+ x
257
+ 6
258
+ stream
259
+ M
260
+ 1
261
+ p
262
+ 2
263
+ x
264
+ 9
265
+ for_block
266
+ t
267
+ n
268
+ x
269
+ 9
270
+ __block__
271
+ i
272
+ 2
273
+ 2
274
+ 11
275
+ I
276
+ 2
277
+ I
278
+ 0
279
+ I
280
+ 0
281
+ I
282
+ 0
283
+ I
284
+ -2
285
+ p
286
+ 0
287
+ p
288
+ 3
289
+ I
290
+ 0
291
+ I
292
+ 8
293
+ I
294
+ 2
295
+ x
296
+ 68
297
+ /Users/haruki_zaemon/Projects/hamster/spec/hamster/list/span_spec.rb
298
+ p
299
+ 0
300
+ x
301
+ 4
302
+ span
303
+ p
304
+ 3
305
+ I
306
+ 0
307
+ I
308
+ 8
309
+ I
310
+ e
311
+ x
312
+ 68
313
+ /Users/haruki_zaemon/Projects/hamster/spec/hamster/list/span_spec.rb
314
+ p
315
+ 0
316
+ x
317
+ 6
318
+ lambda
319
+ x
320
+ 11
321
+ raise_error
322
+ x
323
+ 10
324
+ should_not
325
+ p
326
+ 5
327
+ I
328
+ 0
329
+ I
330
+ 7
331
+ I
332
+ 0
333
+ I
334
+ 8
335
+ I
336
+ f
337
+ x
338
+ 68
339
+ /Users/haruki_zaemon/Projects/hamster/spec/hamster/list/span_spec.rb
340
+ p
341
+ 0
342
+ x
343
+ 2
344
+ it
345
+ s
346
+ 364
347
+ given a predicate (in the form of a block), splits the list into two lists
348
+ (returned as a tuple) such that elements in the first list (the prefix) are
349
+ taken from the head of the list while the predicate is satisfied, and elements
350
+ in the second list (the remainder) are the remaining elements from the list
351
+ once the predicate is not satisfied. For example:
352
+
353
+ M
354
+ 1
355
+ p
356
+ 2
357
+ x
358
+ 9
359
+ for_block
360
+ t
361
+ n
362
+ x
363
+ 9
364
+ __block__
365
+ i
366
+ 120
367
+ 35
368
+ 0
369
+ 35
370
+ 0
371
+ 35
372
+ 0
373
+ 35
374
+ 3
375
+ 79
376
+ 35
377
+ 1
378
+ 79
379
+ 35
380
+ 1
381
+ 35
382
+ 0
383
+ 35
384
+ 3
385
+ 79
386
+ 80
387
+ 35
388
+ 2
389
+ 79
390
+ 80
391
+ 35
392
+ 2
393
+ 35
394
+ 0
395
+ 35
396
+ 3
397
+ 79
398
+ 80
399
+ 4
400
+ 3
401
+ 35
402
+ 3
403
+ 79
404
+ 80
405
+ 35
406
+ 2
407
+ 4
408
+ 3
409
+ 35
410
+ 1
411
+ 35
412
+ 3
413
+ 79
414
+ 80
415
+ 4
416
+ 3
417
+ 4
418
+ 4
419
+ 35
420
+ 4
421
+ 79
422
+ 80
423
+ 35
424
+ 2
425
+ 4
426
+ 3
427
+ 4
428
+ 4
429
+ 35
430
+ 2
431
+ 35
432
+ 3
433
+ 80
434
+ 4
435
+ 3
436
+ 4
437
+ 4
438
+ 35
439
+ 3
440
+ 80
441
+ 35
442
+ 1
443
+ 4
444
+ 3
445
+ 4
446
+ 4
447
+ 35
448
+ 2
449
+ 35
450
+ 3
451
+ 4
452
+ 3
453
+ 4
454
+ 4
455
+ 35
456
+ 2
457
+ 35
458
+ 0
459
+ 4
460
+ 3
461
+ 4
462
+ 4
463
+ 35
464
+ 2
465
+ 35
466
+ 3
467
+ 4
468
+ 4
469
+ 35
470
+ 1
471
+ 35
472
+ 0
473
+ 4
474
+ 4
475
+ 35
476
+ 1
477
+ 35
478
+ 3
479
+ 35
480
+ 8
481
+ 56
482
+ 0
483
+ 50
484
+ 1
485
+ 0
486
+ 11
487
+ I
488
+ b
489
+ I
490
+ 0
491
+ I
492
+ 0
493
+ I
494
+ 0
495
+ I
496
+ -2
497
+ p
498
+ 2
499
+ M
500
+ 1
501
+ p
502
+ 2
503
+ x
504
+ 9
505
+ for_block
506
+ t
507
+ n
508
+ x
509
+ 9
510
+ __block__
511
+ i
512
+ 34
513
+ 58
514
+ 36
515
+ 37
516
+ 19
517
+ 0
518
+ 15
519
+ 37
520
+ 19
521
+ 1
522
+ 15
523
+ 37
524
+ 19
525
+ 2
526
+ 15
527
+ 15
528
+ 5
529
+ 7
530
+ 0
531
+ 20
532
+ 0
533
+ 48
534
+ 1
535
+ 47
536
+ 48
537
+ 2
538
+ 63
539
+ 2
540
+ 56
541
+ 3
542
+ 47
543
+ 50
544
+ 4
545
+ 1
546
+ 11
547
+ I
548
+ 7
549
+ I
550
+ 3
551
+ I
552
+ 3
553
+ I
554
+ 3
555
+ n
556
+ p
557
+ 5
558
+ s
559
+ 15
560
+ given the list
561
+ x
562
+ 7
563
+ inspect
564
+ x
565
+ 4
566
+ to_s
567
+ M
568
+ 1
569
+ p
570
+ 2
571
+ x
572
+ 9
573
+ for_block
574
+ t
575
+ n
576
+ x
577
+ 9
578
+ __block__
579
+ i
580
+ 30
581
+ 5
582
+ 56
583
+ 0
584
+ 47
585
+ 50
586
+ 1
587
+ 0
588
+ 15
589
+ 5
590
+ 7
591
+ 2
592
+ 64
593
+ 56
594
+ 3
595
+ 47
596
+ 50
597
+ 4
598
+ 1
599
+ 15
600
+ 5
601
+ 7
602
+ 5
603
+ 64
604
+ 56
605
+ 6
606
+ 47
607
+ 50
608
+ 4
609
+ 1
610
+ 11
611
+ I
612
+ 4
613
+ I
614
+ 0
615
+ I
616
+ 0
617
+ I
618
+ 0
619
+ I
620
+ -2
621
+ p
622
+ 7
623
+ M
624
+ 1
625
+ p
626
+ 2
627
+ x
628
+ 9
629
+ for_block
630
+ t
631
+ n
632
+ x
633
+ 9
634
+ __block__
635
+ i
636
+ 14
637
+ 45
638
+ 0
639
+ 1
640
+ 21
641
+ 2
642
+ 0
643
+ 36
644
+ 1
645
+ 51
646
+ 2
647
+ 0
648
+ 38
649
+ 3
650
+ 11
651
+ I
652
+ 4
653
+ I
654
+ 0
655
+ I
656
+ 0
657
+ I
658
+ 0
659
+ I
660
+ -2
661
+ p
662
+ 4
663
+ x
664
+ 7
665
+ Hamster
666
+ n
667
+ x
668
+ 4
669
+ list
670
+ x
671
+ 9
672
+ @original
673
+ p
674
+ 5
675
+ I
676
+ 0
677
+ I
678
+ 20
679
+ I
680
+ 0
681
+ I
682
+ 21
683
+ I
684
+ e
685
+ x
686
+ 68
687
+ /Users/haruki_zaemon/Projects/hamster/spec/hamster/list/span_spec.rb
688
+ p
689
+ 0
690
+ x
691
+ 6
692
+ before
693
+ s
694
+ 49
695
+ and a predicate that returns true for values <= 2
696
+ M
697
+ 1
698
+ p
699
+ 2
700
+ x
701
+ 9
702
+ for_block
703
+ t
704
+ n
705
+ x
706
+ 9
707
+ __block__
708
+ i
709
+ 59
710
+ 5
711
+ 56
712
+ 0
713
+ 47
714
+ 50
715
+ 1
716
+ 0
717
+ 15
718
+ 5
719
+ 7
720
+ 2
721
+ 64
722
+ 56
723
+ 3
724
+ 47
725
+ 50
726
+ 4
727
+ 1
728
+ 15
729
+ 5
730
+ 7
731
+ 5
732
+ 21
733
+ 2
734
+ 1
735
+ 48
736
+ 6
737
+ 47
738
+ 48
739
+ 7
740
+ 63
741
+ 2
742
+ 56
743
+ 8
744
+ 47
745
+ 50
746
+ 4
747
+ 1
748
+ 15
749
+ 5
750
+ 7
751
+ 9
752
+ 21
753
+ 2
754
+ 2
755
+ 48
756
+ 6
757
+ 47
758
+ 48
759
+ 7
760
+ 63
761
+ 2
762
+ 56
763
+ 10
764
+ 47
765
+ 50
766
+ 4
767
+ 1
768
+ 11
769
+ I
770
+ 4
771
+ I
772
+ 0
773
+ I
774
+ 0
775
+ I
776
+ 0
777
+ I
778
+ -2
779
+ p
780
+ 11
781
+ M
782
+ 1
783
+ p
784
+ 2
785
+ x
786
+ 9
787
+ for_block
788
+ t
789
+ n
790
+ x
791
+ 9
792
+ __block__
793
+ i
794
+ 24
795
+ 39
796
+ 0
797
+ 56
798
+ 1
799
+ 50
800
+ 2
801
+ 0
802
+ 38
803
+ 3
804
+ 15
805
+ 39
806
+ 3
807
+ 48
808
+ 4
809
+ 38
810
+ 5
811
+ 15
812
+ 39
813
+ 3
814
+ 48
815
+ 6
816
+ 38
817
+ 7
818
+ 11
819
+ I
820
+ 3
821
+ I
822
+ 0
823
+ I
824
+ 0
825
+ I
826
+ 0
827
+ I
828
+ -2
829
+ p
830
+ 8
831
+ x
832
+ 9
833
+ @original
834
+ M
835
+ 1
836
+ p
837
+ 2
838
+ x
839
+ 9
840
+ for_block
841
+ t
842
+ n
843
+ x
844
+ 9
845
+ __block__
846
+ i
847
+ 11
848
+ 57
849
+ 19
850
+ 0
851
+ 15
852
+ 20
853
+ 0
854
+ 80
855
+ 49
856
+ 0
857
+ 1
858
+ 11
859
+ I
860
+ 4
861
+ I
862
+ 1
863
+ I
864
+ 1
865
+ I
866
+ 1
867
+ n
868
+ p
869
+ 1
870
+ x
871
+ 2
872
+ <=
873
+ p
874
+ 3
875
+ I
876
+ 0
877
+ I
878
+ 27
879
+ I
880
+ b
881
+ x
882
+ 68
883
+ /Users/haruki_zaemon/Projects/hamster/spec/hamster/list/span_spec.rb
884
+ p
885
+ 1
886
+ x
887
+ 4
888
+ item
889
+ x
890
+ 4
891
+ span
892
+ x
893
+ 7
894
+ @result
895
+ x
896
+ 5
897
+ first
898
+ x
899
+ 7
900
+ @prefix
901
+ x
902
+ 4
903
+ last
904
+ x
905
+ 10
906
+ @remainder
907
+ p
908
+ 9
909
+ I
910
+ 0
911
+ I
912
+ 26
913
+ I
914
+ 0
915
+ I
916
+ 27
917
+ I
918
+ a
919
+ I
920
+ 28
921
+ I
922
+ 11
923
+ I
924
+ 29
925
+ I
926
+ 18
927
+ x
928
+ 68
929
+ /Users/haruki_zaemon/Projects/hamster/spec/hamster/list/span_spec.rb
930
+ p
931
+ 0
932
+ x
933
+ 6
934
+ before
935
+ s
936
+ 22
937
+ preserves the original
938
+ M
939
+ 1
940
+ p
941
+ 2
942
+ x
943
+ 9
944
+ for_block
945
+ t
946
+ n
947
+ x
948
+ 9
949
+ __block__
950
+ i
951
+ 18
952
+ 39
953
+ 0
954
+ 48
955
+ 1
956
+ 45
957
+ 2
958
+ 3
959
+ 21
960
+ 3
961
+ 0
962
+ 36
963
+ 1
964
+ 51
965
+ 4
966
+ 0
967
+ 83
968
+ 5
969
+ 11
970
+ I
971
+ 5
972
+ I
973
+ 0
974
+ I
975
+ 0
976
+ I
977
+ 0
978
+ I
979
+ -2
980
+ p
981
+ 6
982
+ x
983
+ 9
984
+ @original
985
+ x
986
+ 6
987
+ should
988
+ x
989
+ 7
990
+ Hamster
991
+ n
992
+ x
993
+ 4
994
+ list
995
+ x
996
+ 2
997
+ ==
998
+ p
999
+ 5
1000
+ I
1001
+ 0
1002
+ I
1003
+ 2c
1004
+ I
1005
+ 0
1006
+ I
1007
+ 2d
1008
+ I
1009
+ 12
1010
+ x
1011
+ 68
1012
+ /Users/haruki_zaemon/Projects/hamster/spec/hamster/list/span_spec.rb
1013
+ p
1014
+ 0
1015
+ x
1016
+ 2
1017
+ it
1018
+ s
1019
+ 22
1020
+ returns the prefix as
1021
+ x
1022
+ 7
1023
+ inspect
1024
+ x
1025
+ 4
1026
+ to_s
1027
+ M
1028
+ 1
1029
+ p
1030
+ 2
1031
+ x
1032
+ 9
1033
+ for_block
1034
+ t
1035
+ n
1036
+ x
1037
+ 9
1038
+ __block__
1039
+ i
1040
+ 18
1041
+ 39
1042
+ 0
1043
+ 48
1044
+ 1
1045
+ 45
1046
+ 2
1047
+ 3
1048
+ 21
1049
+ 3
1050
+ 1
1051
+ 36
1052
+ 1
1053
+ 51
1054
+ 4
1055
+ 0
1056
+ 83
1057
+ 5
1058
+ 11
1059
+ I
1060
+ 5
1061
+ I
1062
+ 0
1063
+ I
1064
+ 0
1065
+ I
1066
+ 0
1067
+ I
1068
+ -2
1069
+ p
1070
+ 6
1071
+ x
1072
+ 7
1073
+ @prefix
1074
+ x
1075
+ 6
1076
+ should
1077
+ x
1078
+ 7
1079
+ Hamster
1080
+ n
1081
+ x
1082
+ 4
1083
+ list
1084
+ x
1085
+ 2
1086
+ ==
1087
+ p
1088
+ 5
1089
+ I
1090
+ 0
1091
+ I
1092
+ 30
1093
+ I
1094
+ 0
1095
+ I
1096
+ 31
1097
+ I
1098
+ 12
1099
+ x
1100
+ 68
1101
+ /Users/haruki_zaemon/Projects/hamster/spec/hamster/list/span_spec.rb
1102
+ p
1103
+ 0
1104
+ s
1105
+ 25
1106
+ returns the remainder as
1107
+ M
1108
+ 1
1109
+ p
1110
+ 2
1111
+ x
1112
+ 9
1113
+ for_block
1114
+ t
1115
+ n
1116
+ x
1117
+ 9
1118
+ __block__
1119
+ i
1120
+ 18
1121
+ 39
1122
+ 0
1123
+ 48
1124
+ 1
1125
+ 45
1126
+ 2
1127
+ 3
1128
+ 21
1129
+ 3
1130
+ 2
1131
+ 36
1132
+ 1
1133
+ 51
1134
+ 4
1135
+ 0
1136
+ 83
1137
+ 5
1138
+ 11
1139
+ I
1140
+ 5
1141
+ I
1142
+ 0
1143
+ I
1144
+ 0
1145
+ I
1146
+ 0
1147
+ I
1148
+ -2
1149
+ p
1150
+ 6
1151
+ x
1152
+ 10
1153
+ @remainder
1154
+ x
1155
+ 6
1156
+ should
1157
+ x
1158
+ 7
1159
+ Hamster
1160
+ n
1161
+ x
1162
+ 4
1163
+ list
1164
+ x
1165
+ 2
1166
+ ==
1167
+ p
1168
+ 5
1169
+ I
1170
+ 0
1171
+ I
1172
+ 34
1173
+ I
1174
+ 0
1175
+ I
1176
+ 35
1177
+ I
1178
+ 12
1179
+ x
1180
+ 68
1181
+ /Users/haruki_zaemon/Projects/hamster/spec/hamster/list/span_spec.rb
1182
+ p
1183
+ 0
1184
+ p
1185
+ 11
1186
+ I
1187
+ 0
1188
+ I
1189
+ 24
1190
+ I
1191
+ 0
1192
+ I
1193
+ 26
1194
+ I
1195
+ 8
1196
+ I
1197
+ 2c
1198
+ I
1199
+ 13
1200
+ I
1201
+ 30
1202
+ I
1203
+ 27
1204
+ I
1205
+ 34
1206
+ I
1207
+ 3b
1208
+ x
1209
+ 68
1210
+ /Users/haruki_zaemon/Projects/hamster/spec/hamster/list/span_spec.rb
1211
+ p
1212
+ 0
1213
+ x
1214
+ 8
1215
+ describe
1216
+ s
1217
+ 19
1218
+ without a predicate
1219
+ M
1220
+ 1
1221
+ p
1222
+ 2
1223
+ x
1224
+ 9
1225
+ for_block
1226
+ t
1227
+ n
1228
+ x
1229
+ 9
1230
+ __block__
1231
+ i
1232
+ 41
1233
+ 5
1234
+ 56
1235
+ 0
1236
+ 47
1237
+ 50
1238
+ 1
1239
+ 0
1240
+ 15
1241
+ 5
1242
+ 7
1243
+ 2
1244
+ 64
1245
+ 56
1246
+ 3
1247
+ 47
1248
+ 50
1249
+ 4
1250
+ 1
1251
+ 15
1252
+ 5
1253
+ 7
1254
+ 5
1255
+ 64
1256
+ 56
1257
+ 6
1258
+ 47
1259
+ 50
1260
+ 4
1261
+ 1
1262
+ 15
1263
+ 5
1264
+ 7
1265
+ 7
1266
+ 64
1267
+ 56
1268
+ 8
1269
+ 47
1270
+ 50
1271
+ 4
1272
+ 1
1273
+ 11
1274
+ I
1275
+ 4
1276
+ I
1277
+ 0
1278
+ I
1279
+ 0
1280
+ I
1281
+ 0
1282
+ I
1283
+ -2
1284
+ p
1285
+ 9
1286
+ M
1287
+ 1
1288
+ p
1289
+ 2
1290
+ x
1291
+ 9
1292
+ for_block
1293
+ t
1294
+ n
1295
+ x
1296
+ 9
1297
+ __block__
1298
+ i
1299
+ 21
1300
+ 39
1301
+ 0
1302
+ 48
1303
+ 1
1304
+ 38
1305
+ 2
1306
+ 15
1307
+ 39
1308
+ 2
1309
+ 48
1310
+ 3
1311
+ 38
1312
+ 4
1313
+ 15
1314
+ 39
1315
+ 2
1316
+ 48
1317
+ 5
1318
+ 38
1319
+ 6
1320
+ 11
1321
+ I
1322
+ 2
1323
+ I
1324
+ 0
1325
+ I
1326
+ 0
1327
+ I
1328
+ 0
1329
+ I
1330
+ -2
1331
+ p
1332
+ 7
1333
+ x
1334
+ 9
1335
+ @original
1336
+ x
1337
+ 4
1338
+ span
1339
+ x
1340
+ 7
1341
+ @result
1342
+ x
1343
+ 5
1344
+ first
1345
+ x
1346
+ 7
1347
+ @prefix
1348
+ x
1349
+ 4
1350
+ last
1351
+ x
1352
+ 10
1353
+ @remainder
1354
+ p
1355
+ 9
1356
+ I
1357
+ 0
1358
+ I
1359
+ 3c
1360
+ I
1361
+ 0
1362
+ I
1363
+ 3d
1364
+ I
1365
+ 7
1366
+ I
1367
+ 3e
1368
+ I
1369
+ e
1370
+ I
1371
+ 3f
1372
+ I
1373
+ 15
1374
+ x
1375
+ 68
1376
+ /Users/haruki_zaemon/Projects/hamster/spec/hamster/list/span_spec.rb
1377
+ p
1378
+ 0
1379
+ x
1380
+ 6
1381
+ before
1382
+ s
1383
+ 15
1384
+ returns a tuple
1385
+ M
1386
+ 1
1387
+ p
1388
+ 2
1389
+ x
1390
+ 9
1391
+ for_block
1392
+ t
1393
+ n
1394
+ x
1395
+ 9
1396
+ __block__
1397
+ i
1398
+ 16
1399
+ 39
1400
+ 0
1401
+ 45
1402
+ 1
1403
+ 2
1404
+ 43
1405
+ 3
1406
+ 49
1407
+ 4
1408
+ 1
1409
+ 48
1410
+ 5
1411
+ 2
1412
+ 83
1413
+ 6
1414
+ 11
1415
+ I
1416
+ 3
1417
+ I
1418
+ 0
1419
+ I
1420
+ 0
1421
+ I
1422
+ 0
1423
+ I
1424
+ -2
1425
+ p
1426
+ 7
1427
+ x
1428
+ 7
1429
+ @result
1430
+ x
1431
+ 7
1432
+ Hamster
1433
+ n
1434
+ x
1435
+ 5
1436
+ Tuple
1437
+ x
1438
+ 5
1439
+ is_a?
1440
+ x
1441
+ 6
1442
+ should
1443
+ x
1444
+ 2
1445
+ ==
1446
+ p
1447
+ 5
1448
+ I
1449
+ 0
1450
+ I
1451
+ 42
1452
+ I
1453
+ 0
1454
+ I
1455
+ 43
1456
+ I
1457
+ 10
1458
+ x
1459
+ 68
1460
+ /Users/haruki_zaemon/Projects/hamster/spec/hamster/list/span_spec.rb
1461
+ p
1462
+ 0
1463
+ x
1464
+ 2
1465
+ it
1466
+ s
1467
+ 26
1468
+ returns self as the prefix
1469
+ M
1470
+ 1
1471
+ p
1472
+ 2
1473
+ x
1474
+ 9
1475
+ for_block
1476
+ t
1477
+ n
1478
+ x
1479
+ 9
1480
+ __block__
1481
+ i
1482
+ 13
1483
+ 39
1484
+ 0
1485
+ 5
1486
+ 39
1487
+ 1
1488
+ 47
1489
+ 49
1490
+ 2
1491
+ 1
1492
+ 49
1493
+ 3
1494
+ 1
1495
+ 11
1496
+ I
1497
+ 4
1498
+ I
1499
+ 0
1500
+ I
1501
+ 0
1502
+ I
1503
+ 0
1504
+ I
1505
+ -2
1506
+ p
1507
+ 4
1508
+ x
1509
+ 7
1510
+ @prefix
1511
+ x
1512
+ 9
1513
+ @original
1514
+ x
1515
+ 5
1516
+ equal
1517
+ x
1518
+ 6
1519
+ should
1520
+ p
1521
+ 5
1522
+ I
1523
+ 0
1524
+ I
1525
+ 46
1526
+ I
1527
+ 0
1528
+ I
1529
+ 47
1530
+ I
1531
+ d
1532
+ x
1533
+ 68
1534
+ /Users/haruki_zaemon/Projects/hamster/spec/hamster/list/span_spec.rb
1535
+ p
1536
+ 0
1537
+ s
1538
+ 38
1539
+ returns an empty list as the remainder
1540
+ M
1541
+ 1
1542
+ p
1543
+ 2
1544
+ x
1545
+ 9
1546
+ for_block
1547
+ t
1548
+ n
1549
+ x
1550
+ 9
1551
+ __block__
1552
+ i
1553
+ 10
1554
+ 39
1555
+ 0
1556
+ 5
1557
+ 47
1558
+ 48
1559
+ 1
1560
+ 49
1561
+ 2
1562
+ 1
1563
+ 11
1564
+ I
1565
+ 3
1566
+ I
1567
+ 0
1568
+ I
1569
+ 0
1570
+ I
1571
+ 0
1572
+ I
1573
+ -2
1574
+ p
1575
+ 3
1576
+ x
1577
+ 10
1578
+ @remainder
1579
+ x
1580
+ 8
1581
+ be_empty
1582
+ x
1583
+ 6
1584
+ should
1585
+ p
1586
+ 5
1587
+ I
1588
+ 0
1589
+ I
1590
+ 4a
1591
+ I
1592
+ 0
1593
+ I
1594
+ 4b
1595
+ I
1596
+ a
1597
+ x
1598
+ 68
1599
+ /Users/haruki_zaemon/Projects/hamster/spec/hamster/list/span_spec.rb
1600
+ p
1601
+ 0
1602
+ p
1603
+ 11
1604
+ I
1605
+ 0
1606
+ I
1607
+ 3a
1608
+ I
1609
+ 0
1610
+ I
1611
+ 3c
1612
+ I
1613
+ 8
1614
+ I
1615
+ 42
1616
+ I
1617
+ 13
1618
+ I
1619
+ 46
1620
+ I
1621
+ 1e
1622
+ I
1623
+ 4a
1624
+ I
1625
+ 29
1626
+ x
1627
+ 68
1628
+ /Users/haruki_zaemon/Projects/hamster/spec/hamster/list/span_spec.rb
1629
+ p
1630
+ 0
1631
+ p
1632
+ 9
1633
+ I
1634
+ 0
1635
+ I
1636
+ 1e
1637
+ I
1638
+ 0
1639
+ I
1640
+ 20
1641
+ I
1642
+ 8
1643
+ I
1644
+ 24
1645
+ I
1646
+ 13
1647
+ I
1648
+ 3a
1649
+ I
1650
+ 1e
1651
+ x
1652
+ 68
1653
+ /Users/haruki_zaemon/Projects/hamster/spec/hamster/list/span_spec.rb
1654
+ p
1655
+ 0
1656
+ x
1657
+ 8
1658
+ describe
1659
+ p
1660
+ 7
1661
+ I
1662
+ 0
1663
+ I
1664
+ 14
1665
+ I
1666
+ 3
1667
+ I
1668
+ 1c
1669
+ I
1670
+ f
1671
+ I
1672
+ 1e
1673
+ I
1674
+ 22
1675
+ x
1676
+ 68
1677
+ /Users/haruki_zaemon/Projects/hamster/spec/hamster/list/span_spec.rb
1678
+ p
1679
+ 3
1680
+ x
1681
+ 6
1682
+ values
1683
+ x
1684
+ 15
1685
+ expected_prefix
1686
+ x
1687
+ 18
1688
+ expected_remainder
1689
+ x
1690
+ 4
1691
+ each
1692
+ p
1693
+ 21
1694
+ I
1695
+ 0
1696
+ I
1697
+ b
1698
+ I
1699
+ 0
1700
+ I
1701
+ 14
1702
+ I
1703
+ 8
1704
+ I
1705
+ 15
1706
+ I
1707
+ 12
1708
+ I
1709
+ 16
1710
+ I
1711
+ 1e
1712
+ I
1713
+ 17
1714
+ I
1715
+ 2e
1716
+ I
1717
+ 18
1718
+ I
1719
+ 42
1720
+ I
1721
+ 19
1722
+ I
1723
+ 54
1724
+ I
1725
+ 1a
1726
+ I
1727
+ 64
1728
+ I
1729
+ 1b
1730
+ I
1731
+ 72
1732
+ I
1733
+ 14
1734
+ I
1735
+ 78
1736
+ x
1737
+ 68
1738
+ /Users/haruki_zaemon/Projects/hamster/spec/hamster/list/span_spec.rb
1739
+ p
1740
+ 0
1741
+ x
1742
+ 8
1743
+ describe
1744
+ p
1745
+ 7
1746
+ I
1747
+ 0
1748
+ I
1749
+ 5
1750
+ I
1751
+ 0
1752
+ I
1753
+ 7
1754
+ I
1755
+ b
1756
+ I
1757
+ b
1758
+ I
1759
+ 16
1760
+ x
1761
+ 68
1762
+ /Users/haruki_zaemon/Projects/hamster/spec/hamster/list/span_spec.rb
1763
+ p
1764
+ 0
1765
+ x
1766
+ 8
1767
+ describe
1768
+ p
1769
+ 7
1770
+ I
1771
+ 0
1772
+ I
1773
+ 1
1774
+ I
1775
+ 9
1776
+ I
1777
+ 3
1778
+ I
1779
+ 12
1780
+ I
1781
+ 5
1782
+ I
1783
+ 1f
1784
+ x
1785
+ 68
1786
+ /Users/haruki_zaemon/Projects/hamster/spec/hamster/list/span_spec.rb
1787
+ p
1788
+ 0