trackler 2.0.6.11 → 2.0.6.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (276) hide show
  1. checksums.yaml +4 -4
  2. data/common/CONTRIBUTING.md +6 -1
  3. data/common/exercises/difference-of-squares/metadata.yml +1 -1
  4. data/common/exercises/luhn/canonical-data.json +2 -2
  5. data/common/exercises/rectangles/canonical-data.json +25 -0
  6. data/common/exercises/rectangles/description.md +11 -3
  7. data/lib/trackler/version.rb +1 -1
  8. data/tracks/ceylon/config.json +9 -0
  9. data/tracks/ceylon/exercises/anagram/source/anagram/AnagramTest.ceylon +38 -39
  10. data/tracks/ceylon/exercises/bracket-push/source/bracketpush/BracketsTest.ceylon +28 -29
  11. data/tracks/ceylon/exercises/largest-series-product/example/Series.ceylon +13 -0
  12. data/tracks/ceylon/exercises/largest-series-product/source/largestseriesproduct/Series.ceylon +5 -0
  13. data/tracks/ceylon/exercises/largest-series-product/source/largestseriesproduct/SeriesTest.ceylon +30 -0
  14. data/tracks/ceylon/exercises/largest-series-product/source/largestseriesproduct/module.ceylon +3 -0
  15. data/tracks/csharp/config.json +41 -0
  16. data/tracks/csharp/exercises/alphametics/AlphameticsTest.cs +122 -0
  17. data/tracks/csharp/exercises/alphametics/Example.cs +139 -0
  18. data/tracks/csharp/exercises/dot-dsl/DotDslTest.cs +91 -0
  19. data/tracks/csharp/exercises/dot-dsl/Example.cs +90 -0
  20. data/tracks/csharp/exercises/dot-dsl/HINTS.md +2 -0
  21. data/tracks/csharp/exercises/error-handling/ErrorHandlingTest.cs +65 -0
  22. data/tracks/csharp/exercises/error-handling/Example.cs +34 -0
  23. data/tracks/csharp/exercises/exercises.csproj +1 -1
  24. data/tracks/csharp/exercises/hangman/Example.cs +85 -0
  25. data/tracks/csharp/exercises/hangman/HangmanTest.cs +140 -0
  26. data/tracks/csharp/exercises/ledger/Example.cs +106 -0
  27. data/tracks/csharp/exercises/ledger/Ledger.cs +166 -0
  28. data/tracks/csharp/exercises/ledger/LedgerTest.cs +168 -0
  29. data/tracks/elixir/exercises/allergies/allergies_test.exs +2 -2
  30. data/tracks/elixir/exercises/markdown/example.exs +3 -3
  31. data/tracks/elixir/exercises/phone-number/example.exs +0 -2
  32. data/tracks/elixir/exercises/queen-attack/example.exs +1 -1
  33. data/tracks/elixir/exercises/wordy/example.exs +6 -6
  34. data/tracks/elixir/exercises/zipper/zipper_test.exs +12 -12
  35. data/tracks/elixir/mix.exs +1 -1
  36. data/tracks/fsharp/config.json +8 -8
  37. data/tracks/fsharp/docs/ABOUT.md +4 -0
  38. data/tracks/fsharp/exercises/alphametics/AlphameticsTest.fs +33 -13
  39. data/tracks/fsharp/exercises/alphametics/Example.fs +29 -64
  40. data/tracks/fsharp/exercises/binary-search-tree/BinarySearchTreeTest.fs +14 -14
  41. data/tracks/fsharp/exercises/binary-search-tree/Example.fs +17 -14
  42. data/tracks/fsharp/exercises/triangle/TriangleTest.fs +0 -5
  43. data/tracks/go/README.md +3 -3
  44. data/tracks/go/config.json +10 -3
  45. data/tracks/go/exercises/acronym/acronym.go +5 -0
  46. data/tracks/go/exercises/bob/example_gen.go +1 -1
  47. data/tracks/go/exercises/clock/example_gen.go +1 -1
  48. data/tracks/go/exercises/connect/example_gen.go +1 -1
  49. data/tracks/go/exercises/custom-set/example_gen.go +1 -1
  50. data/tracks/go/exercises/gigasecond/example_gen.go +1 -1
  51. data/tracks/go/exercises/hamming/example_gen.go +1 -1
  52. data/tracks/go/exercises/largest-series-product/example_gen.go +1 -1
  53. data/tracks/go/exercises/leap/cases_test.go +5 -7
  54. data/tracks/go/exercises/leap/example.go +1 -1
  55. data/tracks/go/exercises/leap/example_gen.go +1 -1
  56. data/tracks/go/exercises/leap/leap.go +1 -1
  57. data/tracks/go/exercises/leap/leap_test.go +1 -1
  58. data/tracks/go/exercises/meetup/example_gen.go +1 -1
  59. data/tracks/go/exercises/nucleotide-count/nucleotide_count_test.go +0 -5
  60. data/tracks/go/exercises/pangram/pangram.go +5 -0
  61. data/tracks/go/exercises/raindrops/example_gen.go +1 -1
  62. data/tracks/go/exercises/rna-transcription/example_gen.go +1 -1
  63. data/tracks/go/exercises/roman-numerals/example_gen.go +1 -1
  64. data/tracks/go/exercises/word-count/example_gen.go +1 -1
  65. data/tracks/go/gen/gen.go +3 -2
  66. data/tracks/haskell/exercises/accumulate/src/Accumulate.hs +1 -1
  67. data/tracks/haskell/exercises/all-your-base/src/Base.hs +1 -1
  68. data/tracks/haskell/exercises/allergies/src/Allergies.hs +2 -2
  69. data/tracks/haskell/exercises/alphametics/src/Alphametics.hs +1 -1
  70. data/tracks/haskell/exercises/anagram/src/Anagram.hs +1 -1
  71. data/tracks/haskell/exercises/atbash-cipher/src/Atbash.hs +2 -2
  72. data/tracks/haskell/exercises/bank-account/src/BankAccount.hs +4 -4
  73. data/tracks/haskell/exercises/binary/src/Binary.hs +1 -1
  74. data/tracks/haskell/exercises/binary-search-tree/src/BST.hs +8 -8
  75. data/tracks/haskell/exercises/bob/src/Bob.hs +1 -1
  76. data/tracks/haskell/exercises/bowling/src/Bowling.hs +1 -1
  77. data/tracks/haskell/exercises/change/src/Change.hs +1 -1
  78. data/tracks/haskell/exercises/clock/src/Clock.hs +4 -4
  79. data/tracks/haskell/exercises/connect/src/Connect.hs +1 -1
  80. data/tracks/haskell/exercises/crypto-square/src/CryptoSquare.hs +1 -1
  81. data/tracks/haskell/exercises/custom-set/src/CustomSet.hs +13 -13
  82. data/tracks/haskell/exercises/difference-of-squares/src/Squares.hs +3 -3
  83. data/tracks/haskell/exercises/dominoes/src/Dominoes.hs +1 -1
  84. data/tracks/haskell/exercises/etl/src/ETL.hs +1 -1
  85. data/tracks/haskell/exercises/forth/src/Forth.hs +3 -3
  86. data/tracks/haskell/exercises/gigasecond/src/Gigasecond.hs +1 -1
  87. data/tracks/haskell/exercises/go-counting/src/Counting.hs +2 -2
  88. data/tracks/haskell/exercises/grade-school/src/School.hs +4 -4
  89. data/tracks/haskell/exercises/grains/src/Grains.hs +2 -2
  90. data/tracks/haskell/exercises/hamming/src/Hamming.hs +1 -1
  91. data/tracks/haskell/exercises/hexadecimal/src/Hexadecimal.hs +1 -1
  92. data/tracks/haskell/exercises/kindergarten-garden/src/Garden.hs +3 -3
  93. data/tracks/haskell/exercises/largest-series-product/src/Series.hs +1 -1
  94. data/tracks/haskell/exercises/leap/src/LeapYear.hs +1 -1
  95. data/tracks/haskell/exercises/lens-person/src/Person.hs +4 -4
  96. data/tracks/haskell/exercises/linked-list/src/Deque.hs +5 -5
  97. data/tracks/haskell/exercises/list-ops/src/ListOps.hs +8 -8
  98. data/tracks/haskell/exercises/luhn/src/Luhn.hs +5 -5
  99. data/tracks/haskell/exercises/matrix/src/Matrix.hs +10 -10
  100. data/tracks/haskell/exercises/meetup/src/Meetup.hs +1 -1
  101. data/tracks/haskell/exercises/minesweeper/src/Minesweeper.hs +1 -1
  102. data/tracks/haskell/exercises/nth-prime/src/Prime.hs +1 -1
  103. data/tracks/haskell/exercises/nucleotide-count/src/DNA.hs +2 -2
  104. data/tracks/haskell/exercises/ocr-numbers/src/OCR.hs +1 -1
  105. data/tracks/haskell/exercises/octal/src/Octal.hs +2 -2
  106. data/tracks/haskell/exercises/palindrome-products/src/Palindromes.hs +2 -2
  107. data/tracks/haskell/exercises/parallel-letter-frequency/src/Frequency.hs +1 -1
  108. data/tracks/haskell/exercises/pascals-triangle/src/Triangle.hs +1 -1
  109. data/tracks/haskell/exercises/phone-number/src/Phone.hs +3 -3
  110. data/tracks/haskell/exercises/pig-latin/src/PigLatin.hs +1 -1
  111. data/tracks/haskell/exercises/pov/src/POV.hs +2 -2
  112. data/tracks/haskell/exercises/prime-factors/src/PrimeFactors.hs +1 -1
  113. data/tracks/haskell/exercises/pythagorean-triplet/src/Triplet.hs +3 -3
  114. data/tracks/haskell/exercises/queen-attack/src/Queens.hs +2 -2
  115. data/tracks/haskell/exercises/raindrops/src/Raindrops.hs +1 -1
  116. data/tracks/haskell/exercises/rna-transcription/src/DNA.hs +1 -1
  117. data/tracks/haskell/exercises/robot-name/src/Robot.hs +3 -3
  118. data/tracks/haskell/exercises/robot-simulator/src/Robot.hs +6 -6
  119. data/tracks/haskell/exercises/roman-numerals/src/Roman.hs +1 -1
  120. data/tracks/haskell/exercises/run-length-encoding/src/RunLength.hs +2 -2
  121. data/tracks/haskell/exercises/saddle-points/src/Matrix.hs +1 -1
  122. data/tracks/haskell/exercises/say/src/Say.hs +1 -1
  123. data/tracks/haskell/exercises/scrabble-score/src/Scrabble.hs +2 -2
  124. data/tracks/haskell/exercises/secret-handshake/src/SecretHandshake.hs +1 -1
  125. data/tracks/haskell/exercises/series/src/Series.hs +1 -1
  126. data/tracks/haskell/exercises/sgf-parsing/src/Sgf.hs +1 -1
  127. data/tracks/haskell/exercises/sieve/src/Sieve.hs +1 -1
  128. data/tracks/haskell/exercises/simple-cipher/src/Cipher.hs +3 -3
  129. data/tracks/haskell/exercises/simple-linked-list/src/LinkedList.hs +8 -8
  130. data/tracks/haskell/exercises/space-age/src/SpaceAge.hs +1 -1
  131. data/tracks/haskell/exercises/strain/src/Strain.hs +2 -2
  132. data/tracks/haskell/exercises/sublist/src/Sublist.hs +1 -1
  133. data/tracks/haskell/exercises/sum-of-multiples/src/SumOfMultiples.hs +1 -1
  134. data/tracks/haskell/exercises/triangle/src/Triangle.hs +1 -1
  135. data/tracks/haskell/exercises/trinary/src/Trinary.hs +2 -2
  136. data/tracks/haskell/exercises/word-count/src/WordCount.hs +1 -1
  137. data/tracks/haskell/exercises/wordy/src/WordProblem.hs +1 -1
  138. data/tracks/haskell/exercises/zebra-puzzle/src/ZebraPuzzle.hs +1 -1
  139. data/tracks/haskell/exercises/zipper/src/Zipper.hs +9 -9
  140. data/tracks/java/docs/MAINTAINING.md +48 -0
  141. data/tracks/java/exercises/queen-attack/src/test/java/QueenAttackCalculatorTest.java +51 -51
  142. data/tracks/kotlin/exercises/etl/src/example/kotlin/ETL.kt +1 -1
  143. data/tracks/kotlin/exercises/etl/src/test/kotlin/ETLTest.kt +19 -19
  144. data/tracks/kotlin/exercises/pangram/src/test/kotlin/PangramTest.kt +5 -0
  145. data/tracks/lisp/docs/ABOUT.md +9 -0
  146. data/tracks/lua/exercises/transpose/example.lua +1 -1
  147. data/tracks/lua/exercises/transpose/transpose_spec.lua +16 -0
  148. data/tracks/pascal/config.json +36 -36
  149. data/tracks/pascal/exercises/bob/uBobTests.pas +0 -1
  150. data/tracks/pascal/exercises/hamming/uHammingTests.pas +0 -1
  151. data/tracks/pascal/exercises/leap/uLeapTests.pas +0 -1
  152. data/tracks/pascal/exercises/saddle-points/uSaddlePointsExample.pas +11 -0
  153. data/tracks/pascal/exercises/saddle-points/uSaddlePointsTests.pas +9 -1
  154. data/tracks/perl6/exercises/atbash-cipher/cipher.t +1 -1
  155. data/tracks/php/config.json +7 -0
  156. data/tracks/php/exercises/robot-simulator/example.php +148 -0
  157. data/tracks/php/exercises/robot-simulator/robot-simulator_test.php +168 -0
  158. data/tracks/pony/config.json +16 -7
  159. data/tracks/pony/exercises/roman-numerals/example.pony +35 -0
  160. data/tracks/pony/exercises/roman-numerals/test.pony +45 -0
  161. data/tracks/python/requirements-travis.txt +1 -1
  162. data/tracks/ruby/.rubocop.yml +1 -1
  163. data/tracks/ruby/bin/enable-executable +1 -1
  164. data/tracks/ruby/bin/executable-tests-check +1 -1
  165. data/tracks/ruby/exercises/acronym/example.tt +2 -3
  166. data/tracks/ruby/exercises/all-your-base/example.tt +2 -2
  167. data/tracks/ruby/exercises/alphametics/example.tt +2 -2
  168. data/tracks/ruby/exercises/anagram/example.tt +2 -3
  169. data/tracks/ruby/exercises/binary/example.tt +2 -3
  170. data/tracks/ruby/exercises/bowling/example.tt +2 -3
  171. data/tracks/ruby/exercises/bracket-push/example.tt +2 -3
  172. data/tracks/ruby/exercises/clock/example.tt +2 -3
  173. data/tracks/ruby/exercises/connect/example.rb +1 -1
  174. data/tracks/ruby/exercises/connect/example.tt +1 -1
  175. data/tracks/ruby/exercises/custom-set/example.tt +2 -3
  176. data/tracks/ruby/exercises/diamond/example.rb +1 -1
  177. data/tracks/ruby/exercises/difference-of-squares/example.tt +2 -3
  178. data/tracks/ruby/exercises/dominoes/example.tt +2 -2
  179. data/tracks/ruby/exercises/gigasecond/example.tt +2 -3
  180. data/tracks/ruby/exercises/grains/example.tt +2 -2
  181. data/tracks/ruby/exercises/hamming/example.tt +2 -3
  182. data/tracks/ruby/exercises/hello-world/example.tt +1 -2
  183. data/tracks/ruby/exercises/isogram/example.tt +2 -2
  184. data/tracks/ruby/exercises/largest-series-product/example.tt +2 -4
  185. data/tracks/ruby/exercises/leap/example.tt +2 -3
  186. data/tracks/ruby/exercises/nth-prime/example.tt +2 -4
  187. data/tracks/ruby/exercises/pangram/example.tt +2 -2
  188. data/tracks/ruby/exercises/queen-attack/example.tt +2 -3
  189. data/tracks/ruby/exercises/raindrops/example.tt +2 -3
  190. data/tracks/ruby/exercises/rna-transcription/example.tt +2 -3
  191. data/tracks/ruby/exercises/roman-numerals/example.tt +2 -3
  192. data/tracks/ruby/exercises/run-length-encoding/example.tt +2 -3
  193. data/tracks/ruby/exercises/sieve/example.tt +2 -4
  194. data/tracks/ruby/exercises/simple-linked-list/simple_linked_list_test.rb +6 -6
  195. data/tracks/ruby/exercises/tournament/example.tt +2 -3
  196. data/tracks/ruby/exercises/transpose/example.tt +2 -3
  197. data/tracks/ruby/exercises/triangle/example.tt +2 -3
  198. data/tracks/ruby/exercises/two-bucket/example.tt +2 -3
  199. data/tracks/ruby/exercises/word-count/example.tt +2 -3
  200. data/tracks/ruby/exercises/wordy/example.tt +2 -2
  201. data/tracks/ruby/lib/acronym_cases.rb +2 -0
  202. data/tracks/ruby/lib/all_your_base_cases.rb +3 -1
  203. data/tracks/ruby/lib/alphametics_cases.rb +6 -4
  204. data/tracks/ruby/lib/anagram_cases.rb +2 -0
  205. data/tracks/ruby/lib/binary_cases.rb +2 -0
  206. data/tracks/ruby/lib/bowling_cases.rb +2 -0
  207. data/tracks/ruby/lib/bracket_push_cases.rb +2 -0
  208. data/tracks/ruby/lib/clock_cases.rb +2 -0
  209. data/tracks/ruby/lib/connect_cases.rb +2 -0
  210. data/tracks/ruby/lib/custom_set_cases.rb +2 -0
  211. data/tracks/ruby/lib/difference_of_squares_cases.rb +2 -0
  212. data/tracks/ruby/lib/dominoes_cases.rb +2 -0
  213. data/tracks/ruby/lib/exercise_cases.rb +2 -0
  214. data/tracks/ruby/lib/generator/files/track_files.rb +3 -3
  215. data/tracks/ruby/lib/generator/files.rb +1 -1
  216. data/tracks/ruby/lib/generator/template_values.rb +5 -14
  217. data/tracks/ruby/lib/gigasecond_cases.rb +2 -0
  218. data/tracks/ruby/lib/grains_cases.rb +3 -1
  219. data/tracks/ruby/lib/hamming_cases.rb +2 -0
  220. data/tracks/ruby/lib/hello_world_cases.rb +2 -0
  221. data/tracks/ruby/lib/isogram_cases.rb +3 -1
  222. data/tracks/ruby/lib/largest_series_product_cases.rb +2 -0
  223. data/tracks/ruby/lib/leap_cases.rb +2 -0
  224. data/tracks/ruby/lib/nth_prime_cases.rb +2 -0
  225. data/tracks/ruby/lib/pangram_cases.rb +3 -1
  226. data/tracks/ruby/lib/queen_attack_cases.rb +2 -0
  227. data/tracks/ruby/lib/raindrops_cases.rb +2 -0
  228. data/tracks/ruby/lib/rna_transcription_cases.rb +2 -0
  229. data/tracks/ruby/lib/roman_numerals_cases.rb +2 -0
  230. data/tracks/ruby/lib/run_length_encoding_cases.rb +2 -0
  231. data/tracks/ruby/lib/sieve_cases.rb +2 -0
  232. data/tracks/ruby/lib/tournament_cases.rb +2 -0
  233. data/tracks/ruby/lib/transpose_cases.rb +2 -0
  234. data/tracks/ruby/lib/triangle_cases.rb +2 -0
  235. data/tracks/ruby/lib/two_bucket_cases.rb +2 -0
  236. data/tracks/ruby/lib/word_count_cases.rb +2 -0
  237. data/tracks/ruby/lib/wordy_cases.rb +2 -0
  238. data/tracks/ruby/test/fixtures/xruby/exercises/alpha/example.tt +2 -2
  239. data/tracks/ruby/test/fixtures/xruby/lib/alpha_cases.rb +1 -1
  240. data/tracks/ruby/test/generator/command_line_test.rb +1 -1
  241. data/tracks/ruby/test/generator/template_values_test.rb +7 -7
  242. data/tracks/rust/.travis.yml +4 -0
  243. data/tracks/rust/_test/check-exercises.sh +11 -2
  244. data/tracks/rust/config.json +9 -0
  245. data/tracks/rust/exercises/luhn/.gitignore +7 -0
  246. data/tracks/rust/exercises/luhn/Cargo.toml +3 -0
  247. data/tracks/rust/exercises/luhn/example.rs +13 -0
  248. data/tracks/rust/exercises/luhn/tests/luhn.rs +38 -0
  249. data/tracks/rust/exercises/parallel-letter-frequency/HINTS.md +32 -0
  250. data/tracks/rust/exercises/parallel-letter-frequency/benches/benchmark.rs +99 -0
  251. data/tracks/scala/config.json +57 -1
  252. data/tracks/scala/exercises/allergies/build.sbt +2 -2
  253. data/tracks/scala/exercises/atbash-cipher/build.sbt +2 -2
  254. data/tracks/scala/exercises/bank-account/build.sbt +3 -2
  255. data/tracks/scala/exercises/binary-search-tree/build.sbt +2 -2
  256. data/tracks/scala/exercises/clock/build.sbt +2 -2
  257. data/tracks/scala/exercises/crypto-square/build.sbt +2 -2
  258. data/tracks/scala/exercises/custom-set/build.sbt +3 -2
  259. data/tracks/scala/exercises/food-chain/build.sbt +3 -2
  260. data/tracks/scala/exercises/house/build.sbt +2 -2
  261. data/tracks/scala/exercises/kindergarten-garden/build.sbt +3 -2
  262. data/tracks/scala/exercises/largest-series-product/build.sbt +2 -2
  263. data/tracks/scala/exercises/linked-list/build.sbt +3 -2
  264. data/tracks/scala/exercises/matrix/build.sbt +2 -2
  265. data/tracks/scala/exercises/minesweeper/build.sbt +2 -2
  266. data/tracks/scala/exercises/nth-prime/build.sbt +2 -2
  267. data/tracks/scala/exercises/ocr-numbers/build.sbt +2 -2
  268. data/tracks/scala/exercises/palindrome-products/build.sbt +2 -2
  269. data/tracks/scala/exercises/prime-factors/build.sbt +3 -2
  270. data/tracks/scala/exercises/queen-attack/build.sbt +2 -2
  271. data/tracks/scala/exercises/raindrops/build.sbt +2 -2
  272. data/tracks/scala/exercises/robot-simulator/build.sbt +2 -2
  273. data/tracks/scala/exercises/triangle/build.sbt +2 -2
  274. data/tracks/scala/exercises/trinary/build.sbt +2 -2
  275. data/tracks/scala/exercises/wordy/build.sbt +3 -3
  276. metadata +33 -2
@@ -0,0 +1,99 @@
1
+ #![feature(test)]
2
+ extern crate parallel_letter_frequency;
3
+ extern crate test;
4
+
5
+ use std::collections::HashMap;
6
+ use test::Bencher;
7
+
8
+ #[bench]
9
+ fn bench_tiny_parallel(b: &mut Bencher) {
10
+ let tiny = &["a"];
11
+ b.iter(|| parallel_letter_frequency::frequency(tiny, 3));
12
+ }
13
+
14
+ #[bench]
15
+ fn bench_tiny_sequential(b: &mut Bencher) {
16
+ let tiny = &["a"];
17
+ b.iter(|| frequency(tiny));
18
+ }
19
+
20
+ #[bench]
21
+ fn bench_small_parallel(b: &mut Bencher) {
22
+ let texts = all_texts(1);
23
+ b.iter(|| parallel_letter_frequency::frequency(&texts, 3));
24
+ }
25
+
26
+ #[bench]
27
+ fn bench_small_sequential(b: &mut Bencher) {
28
+ let texts = all_texts(1);
29
+ b.iter(|| frequency(&texts));
30
+ }
31
+
32
+ #[bench]
33
+ fn bench_large_parallel(b: &mut Bencher) {
34
+ let texts = all_texts(30);
35
+ b.iter(|| parallel_letter_frequency::frequency(&texts, 3));
36
+ }
37
+
38
+ #[bench]
39
+ fn bench_large_sequential(b: &mut Bencher) {
40
+ let texts = all_texts(30);
41
+ b.iter(|| frequency(&texts));
42
+ }
43
+
44
+ /// Simple sequential char frequency. Can it be beat?
45
+ pub fn frequency(texts: &[&str]) -> HashMap<char, usize> {
46
+ let mut map = HashMap::new();
47
+
48
+ for line in texts {
49
+ for chr in line.chars().filter(|c| c.is_alphabetic()) {
50
+ if let Some(c) = chr.to_lowercase().next() {
51
+ (*map.entry(c).or_insert(0)) += 1;
52
+ }
53
+ }
54
+ }
55
+
56
+ map
57
+ }
58
+
59
+ fn all_texts(repeat: usize) -> Vec<&'static str> {
60
+ [ODE_AN_DIE_FREUDE, WILHELMUS, STAR_SPANGLED_BANNER]
61
+ .iter()
62
+ .cycle()
63
+ .take(3 * repeat)
64
+ .flat_map(|anthem| anthem.iter().cloned())
65
+ .collect()
66
+ }
67
+
68
+ // Poem by Friedrich Schiller. The corresponding music is the European Anthem.
69
+ pub const ODE_AN_DIE_FREUDE: [&'static str; 8] = [
70
+ "Freude schöner Götterfunken",
71
+ "Tochter aus Elysium,",
72
+ "Wir betreten feuertrunken,",
73
+ "Himmlische, dein Heiligtum!",
74
+ "Deine Zauber binden wieder",
75
+ "Was die Mode streng geteilt;",
76
+ "Alle Menschen werden Brüder,",
77
+ "Wo dein sanfter Flügel weilt."];
78
+
79
+ // Dutch national anthem
80
+ pub const WILHELMUS: [&'static str; 8] = [
81
+ "Wilhelmus van Nassouwe",
82
+ "ben ik, van Duitsen bloed,",
83
+ "den vaderland getrouwe",
84
+ "blijf ik tot in den dood.",
85
+ "Een Prinse van Oranje",
86
+ "ben ik, vrij, onverveerd,",
87
+ "den Koning van Hispanje",
88
+ "heb ik altijd geëerd."];
89
+
90
+ // American national anthem
91
+ pub const STAR_SPANGLED_BANNER: [&'static str; 8] = [
92
+ "O say can you see by the dawn's early light,",
93
+ "What so proudly we hailed at the twilight's last gleaming,",
94
+ "Whose broad stripes and bright stars through the perilous fight,",
95
+ "O'er the ramparts we watched, were so gallantly streaming?",
96
+ "And the rockets' red glare, the bombs bursting in air,",
97
+ "Gave proof through the night that our flag was still there;",
98
+ "O say does that star-spangled banner yet wave,",
99
+ "O'er the land of the free and the home of the brave?"];
@@ -161,6 +161,8 @@
161
161
  "slug": "triangle",
162
162
  "difficulty": 1,
163
163
  "topics": [
164
+ "Enumerations",
165
+ "Mathematics"
164
166
  ]
165
167
  },
166
168
  {
@@ -176,6 +178,10 @@
176
178
  "slug": "prime-factors",
177
179
  "difficulty": 1,
178
180
  "topics": [
181
+ "Lists",
182
+ "Integers",
183
+ "Algorithms",
184
+ "Mathematics"
179
185
  ]
180
186
  },
181
187
  {
@@ -215,6 +221,7 @@
215
221
  "slug": "bank-account",
216
222
  "difficulty": 1,
217
223
  "topics": [
224
+ "Parallellism"
218
225
  ]
219
226
  },
220
227
  {
@@ -231,13 +238,18 @@
231
238
  "slug": "kindergarten-garden",
232
239
  "difficulty": 1,
233
240
  "topics": [
241
+ "Enumerations",
242
+ "Transforming",
243
+ "Lists"
234
244
  ]
235
245
  },
236
246
  {
237
247
  "slug": "robot-simulator",
238
248
  "difficulty": 1,
239
249
  "topics": [
240
- ]
250
+ "Enumerations",
251
+ "Tuples"
252
+ ]
241
253
  },
242
254
  {
243
255
  "slug": "bracket-push",
@@ -259,12 +271,21 @@
259
271
  "slug": "binary-search-tree",
260
272
  "difficulty": 1,
261
273
  "topics": [
274
+ "Searching",
275
+ "Lists",
276
+ "Trees",
277
+ "Generics"
262
278
  ]
263
279
  },
264
280
  {
265
281
  "slug": "largest-series-product",
266
282
  "difficulty": 1,
267
283
  "topics": [
284
+ "Strings",
285
+ "Integers",
286
+ "Optional values",
287
+ "Transforming",
288
+ "Mathematics"
268
289
  ]
269
290
  },
270
291
  {
@@ -280,18 +301,27 @@
280
301
  "slug": "clock",
281
302
  "difficulty": 1,
282
303
  "topics": [
304
+ "Time",
305
+ "Structural equality"
283
306
  ]
284
307
  },
285
308
  {
286
309
  "slug": "matrix",
287
310
  "difficulty": 1,
288
311
  "topics": [
312
+ "Strings",
313
+ "Matrices",
314
+ "Parsing",
315
+ "Vectors"
289
316
  ]
290
317
  },
291
318
  {
292
319
  "slug": "house",
293
320
  "difficulty": 1,
294
321
  "topics": [
322
+ "Strings",
323
+ "Text formatting",
324
+ "Algorithms"
295
325
  ]
296
326
  },
297
327
  {
@@ -304,36 +334,58 @@
304
334
  "slug": "minesweeper",
305
335
  "difficulty": 1,
306
336
  "topics": [
337
+ "Lists",
338
+ "Strings",
339
+ "Parsing",
340
+ "Transforming"
307
341
  ]
308
342
  },
309
343
  {
310
344
  "slug": "ocr-numbers",
311
345
  "difficulty": 1,
312
346
  "topics": [
347
+ "Lists",
348
+ "Strings",
349
+ "Parsing",
350
+ "Pattern recognition",
351
+ "Transforming"
313
352
  ]
314
353
  },
315
354
  {
316
355
  "slug": "wordy",
317
356
  "difficulty": 1,
318
357
  "topics": [
358
+ "Mathematics",
359
+ "Optional values",
360
+ "Parsing",
361
+ "Strings",
362
+ "Transforming"
319
363
  ]
320
364
  },
321
365
  {
322
366
  "slug": "food-chain",
323
367
  "difficulty": 1,
324
368
  "topics": [
369
+ "Text formatting",
370
+ "Algorithms"
325
371
  ]
326
372
  },
327
373
  {
328
374
  "slug": "linked-list",
329
375
  "difficulty": 1,
330
376
  "topics": [
377
+ "Lists",
378
+ "Generics",
379
+ "Optional values"
331
380
  ]
332
381
  },
333
382
  {
334
383
  "slug": "custom-set",
335
384
  "difficulty": 1,
336
385
  "topics": [
386
+ "Sets",
387
+ "Lists",
388
+ "Generics"
337
389
  ]
338
390
  },
339
391
  {
@@ -346,6 +398,10 @@
346
398
  "slug": "palindrome-products",
347
399
  "difficulty": 1,
348
400
  "topics": [
401
+ "Sets",
402
+ "Strings",
403
+ "Tuples",
404
+ "Algorithms"
349
405
  ]
350
406
  },
351
407
  {
@@ -1,3 +1,3 @@
1
- scalaVersion := "2.11.7"
1
+ scalaVersion := "2.12.1"
2
2
 
3
- libraryDependencies += "org.scalatest" % "scalatest_2.11" % "2.2.5" % "test"
3
+ libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.1" % "test"
@@ -1,3 +1,3 @@
1
- scalaVersion := "2.11.7"
1
+ scalaVersion := "2.12.1"
2
2
 
3
- libraryDependencies += "org.scalatest" % "scalatest_2.11" % "2.2.5" % "test"
3
+ libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.1" % "test"
@@ -1,3 +1,4 @@
1
- scalaVersion := "2.11.7"
1
+ scalaVersion := "2.12.1"
2
+
3
+ libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.1" % "test"
2
4
 
3
- libraryDependencies += "org.scalatest" % "scalatest_2.11" % "2.2.5" % "test"
@@ -1,3 +1,3 @@
1
- scalaVersion := "2.11.7"
1
+ scalaVersion := "2.12.1"
2
2
 
3
- libraryDependencies += "org.scalatest" % "scalatest_2.11" % "2.2.5" % "test"
3
+ libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.1" % "test"
@@ -1,3 +1,3 @@
1
- scalaVersion := "2.11.7"
1
+ scalaVersion := "2.12.1"
2
2
 
3
- libraryDependencies += "org.scalatest" % "scalatest_2.11" % "2.2.5" % "test"
3
+ libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.1" % "test"
@@ -1,3 +1,3 @@
1
- scalaVersion := "2.11.7"
1
+ scalaVersion := "2.12.1"
2
2
 
3
- libraryDependencies += "org.scalatest" % "scalatest_2.11" % "2.2.5" % "test"
3
+ libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.1" % "test"
@@ -1,3 +1,4 @@
1
- scalaVersion := "2.11.7"
1
+ scalaVersion := "2.12.1"
2
+
3
+ libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.1" % "test"
2
4
 
3
- libraryDependencies += "org.scalatest" % "scalatest_2.11" % "2.2.5" % "test"
@@ -1,3 +1,4 @@
1
- scalaVersion := "2.11.7"
1
+ scalaVersion := "2.12.1"
2
+
3
+ libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.1" % "test"
2
4
 
3
- libraryDependencies += "org.scalatest" % "scalatest_2.11" % "2.2.5" % "test"
@@ -1,3 +1,3 @@
1
- scalaVersion := "2.11.7"
1
+ scalaVersion := "2.12.1"
2
2
 
3
- libraryDependencies += "org.scalatest" % "scalatest_2.11" % "2.2.5" % "test"
3
+ libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.1" % "test"
@@ -1,3 +1,4 @@
1
- scalaVersion := "2.11.7"
1
+ scalaVersion := "2.12.1"
2
+
3
+ libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.1" % "test"
2
4
 
3
- libraryDependencies += "org.scalatest" % "scalatest_2.11" % "2.2.5" % "test"
@@ -1,3 +1,3 @@
1
- scalaVersion := "2.11.7"
1
+ scalaVersion := "2.12.1"
2
2
 
3
- libraryDependencies += "org.scalatest" % "scalatest_2.11" % "2.2.5" % "test"
3
+ libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.1" % "test"
@@ -1,3 +1,4 @@
1
- scalaVersion := "2.11.7"
1
+ scalaVersion := "2.12.1"
2
+
3
+ libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.1" % "test"
2
4
 
3
- libraryDependencies += "org.scalatest" % "scalatest_2.11" % "2.2.5" % "test"
@@ -1,3 +1,3 @@
1
- scalaVersion := "2.11.7"
1
+ scalaVersion := "2.12.1"
2
2
 
3
- libraryDependencies += "org.scalatest" % "scalatest_2.11" % "2.2.5" % "test"
3
+ libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.1" % "test"
@@ -1,3 +1,3 @@
1
- scalaVersion := "2.11.7"
1
+ scalaVersion := "2.12.1"
2
2
 
3
- libraryDependencies += "org.scalatest" % "scalatest_2.11" % "2.2.5" % "test"
3
+ libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.1" % "test"
@@ -1,3 +1,3 @@
1
- scalaVersion := "2.11.7"
1
+ scalaVersion := "2.12.1"
2
2
 
3
- libraryDependencies += "org.scalatest" % "scalatest_2.11" % "2.2.5" % "test"
3
+ libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.1" % "test"
@@ -1,3 +1,3 @@
1
- scalaVersion := "2.11.7"
1
+ scalaVersion := "2.12.1"
2
2
 
3
- libraryDependencies += "org.scalatest" % "scalatest_2.11" % "2.2.5" % "test"
3
+ libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.1" % "test"
@@ -1,3 +1,3 @@
1
- scalaVersion := "2.11.7"
1
+ scalaVersion := "2.12.1"
2
2
 
3
- libraryDependencies += "org.scalatest" % "scalatest_2.11" % "2.2.5" % "test"
3
+ libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.1" % "test"
@@ -1,3 +1,4 @@
1
- scalaVersion := "2.11.7"
1
+ scalaVersion := "2.12.1"
2
+
3
+ libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.1" % "test"
2
4
 
3
- libraryDependencies += "org.scalatest" % "scalatest_2.11" % "2.2.5" % "test"
@@ -1,3 +1,3 @@
1
- scalaVersion := "2.11.7"
1
+ scalaVersion := "2.12.1"
2
2
 
3
- libraryDependencies += "org.scalatest" % "scalatest_2.11" % "2.2.5" % "test"
3
+ libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.1" % "test"
@@ -1,3 +1,3 @@
1
- scalaVersion := "2.11.7"
1
+ scalaVersion := "2.12.1"
2
2
 
3
- libraryDependencies += "org.scalatest" % "scalatest_2.11" % "2.2.5" % "test"
3
+ libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.1" % "test"
@@ -1,3 +1,3 @@
1
- scalaVersion := "2.11.7"
1
+ scalaVersion := "2.12.1"
2
2
 
3
- libraryDependencies += "org.scalatest" % "scalatest_2.11" % "2.2.5" % "test"
3
+ libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.1" % "test"
@@ -1,3 +1,3 @@
1
- scalaVersion := "2.11.7"
1
+ scalaVersion := "2.12.1"
2
2
 
3
- libraryDependencies += "org.scalatest" % "scalatest_2.11" % "2.2.5" % "test"
3
+ libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.1" % "test"
@@ -1,3 +1,3 @@
1
- scalaVersion := "2.11.7"
1
+ scalaVersion := "2.12.1"
2
2
 
3
- libraryDependencies += "org.scalatest" % "scalatest_2.11" % "2.2.5" % "test"
3
+ libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.1" % "test"
@@ -1,4 +1,4 @@
1
- scalaVersion := "2.11.7"
1
+ scalaVersion := "2.12.1"
2
2
 
3
- libraryDependencies += "org.scalatest" % "scalatest_2.11" % "2.2.5" % "test"
4
- libraryDependencies += "org.scala-lang.modules" %% "scala-parser-combinators" % "1.0.4"
3
+ libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.1" % "test"
4
+ libraryDependencies += "org.scala-lang.modules" %% "scala-parser-combinators" % "1.0.5"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trackler
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.6.11
4
+ version: 2.0.6.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Katrina Owen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-01-15 00:00:00.000000000 Z
11
+ date: 2017-01-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubyzip
@@ -751,6 +751,10 @@ files:
751
751
  - tracks/ceylon/exercises/bracket-push/source/bracketpush/Brackets.ceylon
752
752
  - tracks/ceylon/exercises/bracket-push/source/bracketpush/BracketsTest.ceylon
753
753
  - tracks/ceylon/exercises/bracket-push/source/bracketpush/module.ceylon
754
+ - tracks/ceylon/exercises/largest-series-product/example/Series.ceylon
755
+ - tracks/ceylon/exercises/largest-series-product/source/largestseriesproduct/Series.ceylon
756
+ - tracks/ceylon/exercises/largest-series-product/source/largestseriesproduct/SeriesTest.ceylon
757
+ - tracks/ceylon/exercises/largest-series-product/source/largestseriesproduct/module.ceylon
754
758
  - tracks/ceylon/exercises/leap/example/Leap.ceylon
755
759
  - tracks/ceylon/exercises/leap/source/leap/Leap.ceylon
756
760
  - tracks/ceylon/exercises/leap/source/leap/LeapTest.ceylon
@@ -1315,6 +1319,8 @@ files:
1315
1319
  - tracks/csharp/exercises/all-your-base/Example.cs
1316
1320
  - tracks/csharp/exercises/allergies/AllergiesTest.cs
1317
1321
  - tracks/csharp/exercises/allergies/Example.cs
1322
+ - tracks/csharp/exercises/alphametics/AlphameticsTest.cs
1323
+ - tracks/csharp/exercises/alphametics/Example.cs
1318
1324
  - tracks/csharp/exercises/anagram/AnagramTest.cs
1319
1325
  - tracks/csharp/exercises/anagram/Example.cs
1320
1326
  - tracks/csharp/exercises/atbash-cipher/AtbashTest.cs
@@ -1355,6 +1361,11 @@ files:
1355
1361
  - tracks/csharp/exercises/diffie-hellman/Example.cs
1356
1362
  - tracks/csharp/exercises/dominoes/DominoesTest.cs
1357
1363
  - tracks/csharp/exercises/dominoes/Example.cs
1364
+ - tracks/csharp/exercises/dot-dsl/DotDslTest.cs
1365
+ - tracks/csharp/exercises/dot-dsl/Example.cs
1366
+ - tracks/csharp/exercises/dot-dsl/HINTS.md
1367
+ - tracks/csharp/exercises/error-handling/ErrorHandlingTest.cs
1368
+ - tracks/csharp/exercises/error-handling/Example.cs
1358
1369
  - tracks/csharp/exercises/etl/ETLTest.cs
1359
1370
  - tracks/csharp/exercises/etl/Example.cs
1360
1371
  - tracks/csharp/exercises/exercises.csproj
@@ -1374,6 +1385,8 @@ files:
1374
1385
  - tracks/csharp/exercises/grep/GrepTest.cs
1375
1386
  - tracks/csharp/exercises/hamming/Example.cs
1376
1387
  - tracks/csharp/exercises/hamming/HammingTest.cs
1388
+ - tracks/csharp/exercises/hangman/Example.cs
1389
+ - tracks/csharp/exercises/hangman/HangmanTest.cs
1377
1390
  - tracks/csharp/exercises/hello-world/Example.cs
1378
1391
  - tracks/csharp/exercises/hello-world/HelloWorldTest.cs
1379
1392
  - tracks/csharp/exercises/house/Example.cs
@@ -1386,6 +1399,9 @@ files:
1386
1399
  - tracks/csharp/exercises/largest-series-product/LargestSeriesProductTest.cs
1387
1400
  - tracks/csharp/exercises/leap/Example.cs
1388
1401
  - tracks/csharp/exercises/leap/LeapTest.cs
1402
+ - tracks/csharp/exercises/ledger/Example.cs
1403
+ - tracks/csharp/exercises/ledger/Ledger.cs
1404
+ - tracks/csharp/exercises/ledger/LedgerTest.cs
1389
1405
  - tracks/csharp/exercises/linked-list/Example.cs
1390
1406
  - tracks/csharp/exercises/linked-list/LinkedListTest.cs
1391
1407
  - tracks/csharp/exercises/list-ops/Example.cs
@@ -2686,6 +2702,7 @@ files:
2686
2702
  - tracks/go/exercises/TRACK_HINTS.md
2687
2703
  - tracks/go/exercises/accumulate/accumulate_test.go
2688
2704
  - tracks/go/exercises/accumulate/example.go
2705
+ - tracks/go/exercises/acronym/acronym.go
2689
2706
  - tracks/go/exercises/acronym/acronym_test.go
2690
2707
  - tracks/go/exercises/acronym/example.go
2691
2708
  - tracks/go/exercises/all-your-base/all_your_base_test.go
@@ -2814,6 +2831,7 @@ files:
2814
2831
  - tracks/go/exercises/palindrome-products/example.go
2815
2832
  - tracks/go/exercises/palindrome-products/palindrome_products_test.go
2816
2833
  - tracks/go/exercises/pangram/example.go
2834
+ - tracks/go/exercises/pangram/pangram.go
2817
2835
  - tracks/go/exercises/pangram/pangram_test.go
2818
2836
  - tracks/go/exercises/parallel-letter-frequency/example.go
2819
2837
  - tracks/go/exercises/parallel-letter-frequency/frequency.go
@@ -3532,6 +3550,7 @@ files:
3532
3550
  - tracks/java/docs/ABOUT.md
3533
3551
  - tracks/java/docs/INSTALLATION.md
3534
3552
  - tracks/java/docs/LEARNING.md
3553
+ - tracks/java/docs/MAINTAINING.md
3535
3554
  - tracks/java/docs/TESTS.md
3536
3555
  - tracks/java/docs/img/eclipse-help-dropdown.png
3537
3556
  - tracks/java/docs/img/eclipse-mp-search-buildship-gradle.png
@@ -4414,6 +4433,7 @@ files:
4414
4433
  - tracks/lisp/bin/fetch-configlet
4415
4434
  - tracks/lisp/bin/xlisp-test.lisp
4416
4435
  - tracks/lisp/config.json
4436
+ - tracks/lisp/docs/ABOUT.md
4417
4437
  - tracks/lisp/docs/INSTALLATION.md
4418
4438
  - tracks/lisp/docs/LEARNING.md
4419
4439
  - tracks/lisp/docs/RESOURCES.md
@@ -5471,6 +5491,8 @@ files:
5471
5491
  - tracks/php/exercises/rna-transcription/rna-transcription_test.php
5472
5492
  - tracks/php/exercises/robot-name/example.php
5473
5493
  - tracks/php/exercises/robot-name/robot-name_test.php
5494
+ - tracks/php/exercises/robot-simulator/example.php
5495
+ - tracks/php/exercises/robot-simulator/robot-simulator_test.php
5474
5496
  - tracks/php/exercises/roman-numerals/example.php
5475
5497
  - tracks/php/exercises/roman-numerals/roman-numerals_test.php
5476
5498
  - tracks/php/exercises/sieve/example.php
@@ -5554,6 +5576,8 @@ files:
5554
5576
  - tracks/pony/exercises/leap/test.pony
5555
5577
  - tracks/pony/exercises/rna-transcription/example.pony
5556
5578
  - tracks/pony/exercises/rna-transcription/test.pony
5579
+ - tracks/pony/exercises/roman-numerals/example.pony
5580
+ - tracks/pony/exercises/roman-numerals/test.pony
5557
5581
  - tracks/pony/img/icon.png
5558
5582
  - tracks/powershell/.git
5559
5583
  - tracks/powershell/.gitignore
@@ -6239,6 +6263,7 @@ files:
6239
6263
  - tracks/ruby/lib/difference_of_squares_cases.rb
6240
6264
  - tracks/ruby/lib/disable_skip.rb
6241
6265
  - tracks/ruby/lib/dominoes_cases.rb
6266
+ - tracks/ruby/lib/exercise_cases.rb
6242
6267
  - tracks/ruby/lib/generator.rb
6243
6268
  - tracks/ruby/lib/generator/command_line.rb
6244
6269
  - tracks/ruby/lib/generator/files.rb
@@ -6427,6 +6452,10 @@ files:
6427
6452
  - tracks/rust/exercises/leap/Cargo.toml
6428
6453
  - tracks/rust/exercises/leap/example.rs
6429
6454
  - tracks/rust/exercises/leap/tests/leap.rs
6455
+ - tracks/rust/exercises/luhn/.gitignore
6456
+ - tracks/rust/exercises/luhn/Cargo.toml
6457
+ - tracks/rust/exercises/luhn/example.rs
6458
+ - tracks/rust/exercises/luhn/tests/luhn.rs
6430
6459
  - tracks/rust/exercises/minesweeper/.gitignore
6431
6460
  - tracks/rust/exercises/minesweeper/Cargo.lock
6432
6461
  - tracks/rust/exercises/minesweeper/Cargo.toml
@@ -6456,6 +6485,8 @@ files:
6456
6485
  - tracks/rust/exercises/parallel-letter-frequency/.gitignore
6457
6486
  - tracks/rust/exercises/parallel-letter-frequency/Cargo.lock
6458
6487
  - tracks/rust/exercises/parallel-letter-frequency/Cargo.toml
6488
+ - tracks/rust/exercises/parallel-letter-frequency/HINTS.md
6489
+ - tracks/rust/exercises/parallel-letter-frequency/benches/benchmark.rs
6459
6490
  - tracks/rust/exercises/parallel-letter-frequency/example.rs
6460
6491
  - tracks/rust/exercises/parallel-letter-frequency/tests/parallel-letter-frequency.rs
6461
6492
  - tracks/rust/exercises/pascals-triangle/.gitignore