trackler 2.2.0.0 → 2.2.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (206) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/problem-specifications/CONTRIBUTING.md +1 -1
  4. data/tracks/bash/.travis.yml +1 -1
  5. data/tracks/bash/config.json +30 -3
  6. data/tracks/c/README.md +1 -1
  7. data/tracks/c/config.json +131 -39
  8. data/tracks/ceylon/README.md +6 -6
  9. data/tracks/ceylon/config.json +21 -3
  10. data/tracks/chapel/.travis.yml +1 -1
  11. data/tracks/clojurescript/.travis.yml +1 -1
  12. data/tracks/clojurescript/README.md +6 -6
  13. data/tracks/clojurescript/exercises/.keep +0 -0
  14. data/tracks/coffeescript/.travis.yml +1 -1
  15. data/tracks/coldfusion/.travis.yml +1 -1
  16. data/tracks/coq/.travis.yml +1 -1
  17. data/tracks/cpp/CMakeLists.txt +1 -0
  18. data/tracks/cpp/README.md +1 -1
  19. data/tracks/cpp/config.json +8 -0
  20. data/tracks/cpp/exercises/atbash-cipher/CMakeLists.txt +52 -0
  21. data/tracks/cpp/exercises/atbash-cipher/atbash_cipher_test.cpp +68 -0
  22. data/tracks/cpp/exercises/atbash-cipher/example.cpp +54 -0
  23. data/tracks/cpp/exercises/atbash-cipher/example.h +13 -0
  24. data/tracks/csharp/config.json +315 -6
  25. data/tracks/d/.travis.yml +1 -1
  26. data/tracks/dart/README.md +2 -2
  27. data/tracks/dart/config.json +21 -3
  28. data/tracks/delphi/README.md +1 -1
  29. data/tracks/delphi/config.json +83 -1
  30. data/tracks/ecmascript/config.json +10 -0
  31. data/tracks/ecmascript/exercises/accumulate/accumulate.spec.js +3 -9
  32. data/tracks/ecmascript/exercises/acronym/acronym.spec.js +2 -2
  33. data/tracks/ecmascript/exercises/all-your-base/all-your-base.spec.js +131 -133
  34. data/tracks/ecmascript/exercises/all-your-base/example.js +1 -3
  35. data/tracks/ecmascript/exercises/allergies/allergies.spec.js +8 -10
  36. data/tracks/ecmascript/exercises/allergies/example.js +3 -5
  37. data/tracks/ecmascript/exercises/alphametics/alphametics.spec.js +61 -63
  38. data/tracks/ecmascript/exercises/alphametics/example.js +99 -99
  39. data/tracks/ecmascript/exercises/anagram/anagram.spec.js +35 -37
  40. data/tracks/ecmascript/exercises/anagram/example.js +1 -3
  41. data/tracks/ecmascript/exercises/atbash-cipher/atbash-cipher.spec.js +1 -3
  42. data/tracks/ecmascript/exercises/atbash-cipher/example.js +3 -3
  43. data/tracks/ecmascript/exercises/beer-song/beer-song.spec.js +0 -2
  44. data/tracks/ecmascript/exercises/beer-song/example.js +9 -9
  45. data/tracks/ecmascript/exercises/binary/binary.spec.js +1 -2
  46. data/tracks/ecmascript/exercises/binary/example.js +3 -3
  47. data/tracks/ecmascript/exercises/binary-search/binary-search.spec.js +1 -3
  48. data/tracks/ecmascript/exercises/binary-search-tree/binary-search-tree.spec.js +13 -15
  49. data/tracks/ecmascript/exercises/binary-search-tree/example.js +2 -2
  50. data/tracks/ecmascript/exercises/bob/bob.spec.js +1 -3
  51. data/tracks/ecmascript/exercises/bob/example.js +3 -3
  52. data/tracks/ecmascript/exercises/bracket-push/example.js +2 -2
  53. data/tracks/ecmascript/exercises/circular-buffer/circular-buffer.spec.js +10 -12
  54. data/tracks/ecmascript/exercises/circular-buffer/example.js +12 -11
  55. data/tracks/ecmascript/exercises/clock/clock.spec.js +0 -8
  56. data/tracks/ecmascript/exercises/clock/example.js +11 -11
  57. data/tracks/ecmascript/exercises/connect/connect.spec.js +75 -77
  58. data/tracks/ecmascript/exercises/connect/example.js +27 -29
  59. data/tracks/ecmascript/exercises/crypto-square/crypto-square.spec.js +11 -11
  60. data/tracks/ecmascript/exercises/crypto-square/example.js +11 -10
  61. data/tracks/ecmascript/exercises/custom-set/custom-set.spec.js +2 -4
  62. data/tracks/ecmascript/exercises/custom-set/example.js +1 -1
  63. data/tracks/ecmascript/exercises/diamond/diamond.spec.js +20 -21
  64. data/tracks/ecmascript/exercises/diamond/example.js +12 -13
  65. data/tracks/ecmascript/exercises/difference-of-squares/difference-of-squares.spec.js +0 -5
  66. data/tracks/ecmascript/exercises/diffie-hellman/diffie-hellman.spec.js +7 -28
  67. data/tracks/ecmascript/exercises/etl/etl.spec.js +36 -18
  68. data/tracks/ecmascript/exercises/etl/example.js +3 -3
  69. data/tracks/ecmascript/exercises/flatten-array/example.js +1 -1
  70. data/tracks/ecmascript/exercises/flatten-array/flatten-array.spec.js +2 -3
  71. data/tracks/ecmascript/exercises/food-chain/example.js +12 -12
  72. data/tracks/ecmascript/exercises/food-chain/food-chain.spec.js +0 -1
  73. data/tracks/ecmascript/exercises/gigasecond/example.js +1 -1
  74. data/tracks/ecmascript/exercises/gigasecond/gigasecond.spec.js +0 -1
  75. data/tracks/ecmascript/exercises/grade-school/grade-school.spec.js +18 -19
  76. data/tracks/ecmascript/exercises/grains/grains.spec.js +0 -1
  77. data/tracks/ecmascript/exercises/hamming/example.js +3 -3
  78. data/tracks/ecmascript/exercises/hamming/hamming.spec.js +5 -6
  79. data/tracks/ecmascript/exercises/hello-world/example.js +1 -1
  80. data/tracks/ecmascript/exercises/hello-world/hello-world.spec.js +1 -1
  81. data/tracks/ecmascript/exercises/hexadecimal/example.js +2 -2
  82. data/tracks/ecmascript/exercises/hexadecimal/hexadecimal.spec.js +9 -11
  83. data/tracks/ecmascript/exercises/isogram/isogram.spec.js +22 -23
  84. data/tracks/ecmascript/exercises/kindergarten-garden/example.js +7 -7
  85. data/tracks/ecmascript/exercises/kindergarten-garden/kindergarten-garden.spec.js +0 -5
  86. data/tracks/ecmascript/exercises/largest-series-product/example.js +4 -8
  87. data/tracks/ecmascript/exercises/largest-series-product/largest-series-product.spec.js +5 -7
  88. data/tracks/ecmascript/exercises/leap/leap.spec.js +4 -6
  89. data/tracks/ecmascript/exercises/linked-list/example.js +2 -2
  90. data/tracks/ecmascript/exercises/list-ops/example.js +19 -19
  91. data/tracks/ecmascript/exercises/list-ops/list-ops.spec.js +2 -18
  92. data/tracks/ecmascript/exercises/luhn/example.js +1 -1
  93. data/tracks/ecmascript/exercises/luhn/luhn.spec.js +1 -3
  94. data/tracks/ecmascript/exercises/matrix/example.js +2 -4
  95. data/tracks/ecmascript/exercises/matrix/matrix.spec.js +0 -2
  96. data/tracks/ecmascript/exercises/meetup/example.js +12 -15
  97. data/tracks/ecmascript/exercises/meetup/meetup.spec.js +0 -2
  98. data/tracks/ecmascript/exercises/minesweeper/example.js +60 -0
  99. data/tracks/ecmascript/exercises/minesweeper/minesweeper.spec.js +174 -0
  100. data/tracks/ecmascript/exercises/minesweeper/package.json +69 -0
  101. data/tracks/ecmascript/exercises/nth-prime/example.js +3 -2
  102. data/tracks/ecmascript/exercises/nth-prime/nth-prime.spec.js +0 -1
  103. data/tracks/ecmascript/exercises/ocr-numbers/example.js +3 -3
  104. data/tracks/ecmascript/exercises/ocr-numbers/ocr-numbers.spec.js +16 -18
  105. data/tracks/ecmascript/exercises/octal/example.js +1 -1
  106. data/tracks/ecmascript/exercises/octal/octal.spec.js +0 -2
  107. data/tracks/ecmascript/exercises/palindrome-products/example.js +14 -11
  108. data/tracks/ecmascript/exercises/palindrome-products/palindrome-products.spec.js +15 -18
  109. data/tracks/ecmascript/exercises/pangram/example.js +6 -5
  110. data/tracks/ecmascript/exercises/pangram/pangram.spec.js +10 -12
  111. data/tracks/ecmascript/exercises/pascals-triangle/example.js +2 -2
  112. data/tracks/ecmascript/exercises/pascals-triangle/pascals-triangle.spec.js +6 -8
  113. data/tracks/ecmascript/exercises/perfect-numbers/example.js +3 -5
  114. data/tracks/ecmascript/exercises/perfect-numbers/perfect-numbers.spec.js +0 -10
  115. data/tracks/ecmascript/exercises/phone-number/example.js +2 -2
  116. data/tracks/ecmascript/exercises/phone-number/phone-number.spec.js +0 -2
  117. data/tracks/ecmascript/exercises/pig-latin/example.js +4 -4
  118. data/tracks/ecmascript/exercises/pig-latin/pig-latin.spec.js +0 -1
  119. data/tracks/ecmascript/exercises/prime-factors/example.js +2 -2
  120. data/tracks/ecmascript/exercises/prime-factors/prime-factors.spec.js +0 -2
  121. data/tracks/ecmascript/exercises/pythagorean-triplet/pythagorean-triplet.spec.js +3 -11
  122. data/tracks/ecmascript/exercises/queen-attack/example.js +17 -17
  123. data/tracks/ecmascript/exercises/queen-attack/queen-attack.spec.js +7 -8
  124. data/tracks/ecmascript/exercises/raindrops/example.js +1 -1
  125. data/tracks/ecmascript/exercises/raindrops/raindrops.spec.js +1 -2
  126. data/tracks/ecmascript/exercises/rna-transcription/example.js +5 -5
  127. data/tracks/ecmascript/exercises/rna-transcription/rna-transcription.spec.js +4 -5
  128. data/tracks/ecmascript/exercises/robot-name/example.js +6 -6
  129. data/tracks/ecmascript/exercises/robot-name/robot-name.spec.js +10 -11
  130. data/tracks/ecmascript/exercises/robot-simulator/example.js +1 -1
  131. data/tracks/ecmascript/exercises/robot-simulator/robot-simulator.spec.js +31 -32
  132. data/tracks/ecmascript/exercises/roman-numerals/example.js +16 -16
  133. data/tracks/ecmascript/exercises/saddle-points/saddle-points.spec.js +3 -3
  134. data/tracks/ecmascript/exercises/say/example.js +25 -25
  135. data/tracks/ecmascript/exercises/say/say.spec.js +2 -3
  136. data/tracks/ecmascript/exercises/scrabble-score/example.js +27 -9
  137. data/tracks/ecmascript/exercises/scrabble-score/scrabble-score.spec.js +6 -7
  138. data/tracks/ecmascript/exercises/secret-handshake/example.js +2 -3
  139. data/tracks/ecmascript/exercises/secret-handshake/secret-handshake.spec.js +3 -5
  140. data/tracks/ecmascript/exercises/series/series.spec.js +1 -3
  141. data/tracks/ecmascript/exercises/sieve/example.js +4 -3
  142. data/tracks/ecmascript/exercises/sieve/sieve.spec.js +0 -2
  143. data/tracks/ecmascript/exercises/simple-cipher/example.js +8 -9
  144. data/tracks/ecmascript/exercises/simple-cipher/simple-cipher.spec.js +4 -4
  145. data/tracks/ecmascript/exercises/space-age/example.js +1 -1
  146. data/tracks/ecmascript/exercises/space-age/space-age.spec.js +9 -11
  147. data/tracks/ecmascript/exercises/strain/example.js +4 -4
  148. data/tracks/ecmascript/exercises/strain/strain.spec.js +14 -16
  149. data/tracks/ecmascript/exercises/sum-of-multiples/example.js +4 -4
  150. data/tracks/ecmascript/exercises/triangle/triangle.spec.js +2 -4
  151. data/tracks/ecmascript/exercises/trinary/example.js +3 -3
  152. data/tracks/ecmascript/exercises/trinary/trinary.spec.js +0 -2
  153. data/tracks/ecmascript/exercises/two-bucket/example.js +30 -27
  154. data/tracks/ecmascript/exercises/two-bucket/two-bucket.spec.js +4 -8
  155. data/tracks/ecmascript/exercises/word-count/example.js +2 -2
  156. data/tracks/ecmascript/exercises/word-count/word-count.spec.js +2 -3
  157. data/tracks/ecmascript/exercises/wordy/example.js +6 -6
  158. data/tracks/ecmascript/exercises/wordy/wordy.spec.js +2 -4
  159. data/tracks/factor/config.json +15 -6
  160. data/tracks/fortran/.travis.yml +1 -1
  161. data/tracks/fsharp/config.json +312 -10
  162. data/tracks/go/README.md +1 -1
  163. data/tracks/go/config.json +523 -155
  164. data/tracks/haskell/README.md +2 -2
  165. data/tracks/haskell/config.json +256 -7
  166. data/tracks/haxe/.travis.yml +1 -1
  167. data/tracks/haxe/Makefile +2 -2
  168. data/tracks/haxe/config.json +8 -5
  169. data/tracks/java/CONTRIBUTING.md +2 -2
  170. data/tracks/java/config.json +277 -17
  171. data/tracks/java/exercises/rotational-cipher/build.gradle +17 -0
  172. data/tracks/java/exercises/rotational-cipher/src/example/java/RotationalCipher.java +37 -0
  173. data/tracks/java/exercises/rotational-cipher/src/main/java/.keep +0 -0
  174. data/tracks/java/exercises/rotational-cipher/src/test/java/RotationalCipherTest.java +81 -0
  175. data/tracks/java/exercises/settings.gradle +1 -0
  176. data/tracks/java/exercises/twelve-days/src/main/java/TwelveDays.java +4 -0
  177. data/tracks/julia/.travis.yml +1 -1
  178. data/tracks/julia/README.md +1 -1
  179. data/tracks/kotlin/README.md +2 -2
  180. data/tracks/kotlin/exercises/hello-world/TUTORIAL.md +3 -3
  181. data/tracks/lisp/config.json +97 -3
  182. data/tracks/lisp/exercises/pascals-triangle/example.lisp +21 -0
  183. data/tracks/lisp/exercises/pascals-triangle/pascal.lisp +7 -0
  184. data/tracks/lisp/exercises/pascals-triangle/pascals-triangle-test.lisp +34 -0
  185. data/tracks/lua/.travis.yml +1 -1
  186. data/tracks/lua/README.md +1 -1
  187. data/tracks/mips/.travis.yml +1 -1
  188. data/tracks/mips/config.json +56 -17
  189. data/tracks/nasm/.travis.yml +1 -1
  190. data/tracks/nim/.travis.yml +1 -1
  191. data/tracks/ocaml/README.md +3 -3
  192. data/tracks/ocaml/config.json +130 -4
  193. data/tracks/perl5/docs/TESTS.md +40 -26
  194. data/tracks/plsql/.travis.yml +1 -1
  195. data/tracks/plsql/config.json +40 -13
  196. data/tracks/pony/.travis.yml +1 -1
  197. data/tracks/pony/bin/install-deps +4 -3
  198. data/tracks/prolog/.travis.yml +1 -1
  199. data/tracks/r/README.md +5 -5
  200. data/tracks/r/config.json +102 -30
  201. data/tracks/rust/.travis.yml +1 -1
  202. data/tracks/rust/config.json +172 -4
  203. data/tracks/rust/docs/EXERCISE_README_INSERT.md +1 -1
  204. data/tracks/sml/config.json +26 -3
  205. data/tracks/vimscript/config.json +60 -3
  206. metadata +16 -1
@@ -5,14 +5,20 @@
5
5
  "active": true,
6
6
  "exercises": [
7
7
  {
8
+ "uuid": "13ec1ebe-d71b-436f-ab12-25305e814171",
8
9
  "slug": "hello-world",
10
+ "core": false,
11
+ "unlocked_by": null,
9
12
  "difficulty": 1,
10
13
  "topics": [
11
14
  "println!"
12
15
  ]
13
16
  },
14
17
  {
18
+ "uuid": "f880b1ef-8f66-41f3-bb89-f39a4ed592a2",
15
19
  "slug": "gigasecond",
20
+ "core": false,
21
+ "unlocked_by": null,
16
22
  "difficulty": 1,
17
23
  "topics": [
18
24
  "crates",
@@ -20,7 +26,10 @@
20
26
  ]
21
27
  },
22
28
  {
29
+ "uuid": "ef52f576-9c33-4cc1-a018-803ace8897f6",
23
30
  "slug": "leap",
31
+ "core": false,
32
+ "unlocked_by": null,
24
33
  "difficulty": 1,
25
34
  "topics": [
26
35
  "math",
@@ -29,7 +38,10 @@
29
38
  ]
30
39
  },
31
40
  {
41
+ "uuid": "2c12be9b-3a02-4161-8eac-050642ad791f",
32
42
  "slug": "raindrops",
43
+ "core": false,
44
+ "unlocked_by": null,
33
45
  "difficulty": 1,
34
46
  "topics": [
35
47
  "case (or `format`)",
@@ -37,7 +49,10 @@
37
49
  ]
38
50
  },
39
51
  {
52
+ "uuid": "38ef1802-2730-4f94-bafe-d2cd6b3e7f95",
40
53
  "slug": "bob",
54
+ "core": false,
55
+ "unlocked_by": null,
41
56
  "difficulty": 1,
42
57
  "topics": [
43
58
  "chars",
@@ -45,7 +60,10 @@
45
60
  ]
46
61
  },
47
62
  {
63
+ "uuid": "bb42bc3a-139d-4cab-8b3a-2eac2e1b77b6",
48
64
  "slug": "beer-song",
65
+ "core": false,
66
+ "unlocked_by": null,
49
67
  "difficulty": 1,
50
68
  "topics": [
51
69
  "case",
@@ -55,7 +73,10 @@
55
73
  ]
56
74
  },
57
75
  {
76
+ "uuid": "aee49878-f727-400b-8fb5-eaf83447cf87",
58
77
  "slug": "difference-of-squares",
78
+ "core": false,
79
+ "unlocked_by": null,
59
80
  "difficulty": 1,
60
81
  "topics": [
61
82
  "fold",
@@ -63,7 +84,10 @@
63
84
  ]
64
85
  },
65
86
  {
87
+ "uuid": "be90fe16-9947-45ef-ab8e-eeca4ce3a8c8",
66
88
  "slug": "sum-of-multiples",
89
+ "core": false,
90
+ "unlocked_by": null,
67
91
  "difficulty": 1,
68
92
  "topics": [
69
93
  "algorithm",
@@ -71,7 +95,10 @@
71
95
  ]
72
96
  },
73
97
  {
98
+ "uuid": "9e69dd5d-472d-43d7-a8bb-60e4a7bed175",
74
99
  "slug": "grains",
100
+ "core": false,
101
+ "unlocked_by": null,
75
102
  "difficulty": 1,
76
103
  "topics": [
77
104
  "math",
@@ -79,7 +106,10 @@
79
106
  ]
80
107
  },
81
108
  {
109
+ "uuid": "4dc9b165-792a-4438-be80-df9aab6f6a9c",
82
110
  "slug": "run-length-encoding",
111
+ "core": false,
112
+ "unlocked_by": null,
83
113
  "difficulty": 4,
84
114
  "topics": [
85
115
  "string concatenation",
@@ -89,14 +119,20 @@
89
119
  ]
90
120
  },
91
121
  {
122
+ "uuid": "2874216a-0822-4ec2-892e-d451fd89646a",
92
123
  "slug": "hamming",
124
+ "core": false,
125
+ "unlocked_by": null,
93
126
  "difficulty": 4,
94
127
  "topics": [
95
128
  "Result"
96
129
  ]
97
130
  },
98
131
  {
132
+ "uuid": "ddc0c1da-6b65-4ed1-8bdc-5e71cd05f720",
99
133
  "slug": "pascals-triangle",
134
+ "core": false,
135
+ "unlocked_by": null,
100
136
  "difficulty": 4,
101
137
  "topics": [
102
138
  "Math",
@@ -105,7 +141,10 @@
105
141
  ]
106
142
  },
107
143
  {
144
+ "uuid": "561cc4ff-5e74-4701-a7c2-c4edefa0d068",
108
145
  "slug": "scrabble-score",
146
+ "core": false,
147
+ "unlocked_by": null,
109
148
  "difficulty": 4,
110
149
  "topics": [
111
150
  "chaining higher-order functions",
@@ -113,7 +152,10 @@
113
152
  ]
114
153
  },
115
154
  {
155
+ "uuid": "a24cb7bf-3aac-4051-bcd1-952c2a806187",
116
156
  "slug": "pangram",
157
+ "core": false,
158
+ "unlocked_by": null,
117
159
  "difficulty": 4,
118
160
  "topics": [
119
161
  "filter",
@@ -121,7 +163,10 @@
121
163
  ]
122
164
  },
123
165
  {
166
+ "uuid": "3f54853b-cc65-4282-ab25-8dc3fdf43c03",
124
167
  "slug": "nucleotide-count",
168
+ "core": false,
169
+ "unlocked_by": null,
125
170
  "difficulty": 4,
126
171
  "topics": [
127
172
  "Result",
@@ -132,7 +177,10 @@
132
177
  ]
133
178
  },
134
179
  {
180
+ "uuid": "8d64bfc3-fc4b-45c4-85f0-e74dc2ea6812",
135
181
  "slug": "luhn",
182
+ "core": false,
183
+ "unlocked_by": null,
136
184
  "difficulty": 4,
137
185
  "topics": [
138
186
  "str to digits",
@@ -141,7 +189,10 @@
141
189
  ]
142
190
  },
143
191
  {
192
+ "uuid": "8679c221-d150-4230-b1cd-5ea78ae69db7",
144
193
  "slug": "largest-series-product",
194
+ "core": false,
195
+ "unlocked_by": null,
145
196
  "difficulty": 4,
146
197
  "topics": [
147
198
  "Result",
@@ -151,7 +202,10 @@
151
202
  ]
152
203
  },
153
204
  {
205
+ "uuid": "6c5c0dc3-4f5b-4f83-bf67-a45bf4ea6be4",
154
206
  "slug": "word-count",
207
+ "core": false,
208
+ "unlocked_by": null,
155
209
  "difficulty": 4,
156
210
  "topics": [
157
211
  "hashmap",
@@ -161,7 +215,10 @@
161
215
  ]
162
216
  },
163
217
  {
218
+ "uuid": "53298a14-76a9-4bb9-943a-57c5e79d9cf7",
164
219
  "slug": "atbash-cipher",
220
+ "core": false,
221
+ "unlocked_by": null,
165
222
  "difficulty": 4,
166
223
  "topics": [
167
224
  "str vs string",
@@ -172,7 +229,10 @@
172
229
  ]
173
230
  },
174
231
  {
232
+ "uuid": "5dbecc83-2c8d-467d-be05-f28a08f7abcf",
175
233
  "slug": "rotational-cipher",
234
+ "core": false,
235
+ "unlocked_by": null,
176
236
  "difficulty": 4,
177
237
  "topics": [
178
238
  "str vs string",
@@ -183,14 +243,20 @@
183
243
  ]
184
244
  },
185
245
  {
246
+ "uuid": "0c8eeef7-4bab-4cf9-9047-c208b5618312",
186
247
  "slug": "etl",
248
+ "core": false,
249
+ "unlocked_by": null,
187
250
  "difficulty": 4,
188
251
  "topics": [
189
252
  "btree"
190
253
  ]
191
254
  },
192
255
  {
256
+ "uuid": "26a9102f-26f6-4238-858e-ba20db66f1a9",
193
257
  "slug": "acronym",
258
+ "core": false,
259
+ "unlocked_by": null,
194
260
  "difficulty": 4,
195
261
  "topics": [
196
262
  "map",
@@ -201,7 +267,10 @@
201
267
  ]
202
268
  },
203
269
  {
270
+ "uuid": "da784b42-1cec-469e-8e48-0be232b17003",
204
271
  "slug": "sieve",
272
+ "core": false,
273
+ "unlocked_by": null,
205
274
  "difficulty": 4,
206
275
  "topics": [
207
276
  "vector",
@@ -210,7 +279,10 @@
210
279
  ]
211
280
  },
212
281
  {
282
+ "uuid": "9a219d87-cd32-4e12-a879-bfb5747c2369",
213
283
  "slug": "rna-transcription",
284
+ "core": false,
285
+ "unlocked_by": null,
214
286
  "difficulty": 4,
215
287
  "topics": [
216
288
  "Result",
@@ -220,7 +292,10 @@
220
292
  ]
221
293
  },
222
294
  {
295
+ "uuid": "c0bc2af6-d7af-401f-9ed8-bbe31977666c",
223
296
  "slug": "triangle",
297
+ "core": false,
298
+ "unlocked_by": null,
224
299
  "difficulty": 4,
225
300
  "topics": [
226
301
  "Math",
@@ -228,7 +303,10 @@
228
303
  ]
229
304
  },
230
305
  {
306
+ "uuid": "498be645-734a-49b7-aba7-aae1e051e1f0",
231
307
  "slug": "roman-numerals",
308
+ "core": false,
309
+ "unlocked_by": null,
232
310
  "difficulty": 4,
233
311
  "topics": [
234
312
  "mutable",
@@ -239,7 +317,10 @@
239
317
  ]
240
318
  },
241
319
  {
320
+ "uuid": "54c11dae-3878-4bec-b8d6-775b7d4f317b",
242
321
  "slug": "all-your-base",
322
+ "core": false,
323
+ "unlocked_by": null,
243
324
  "difficulty": 4,
244
325
  "topics": [
245
326
  "Result",
@@ -249,7 +330,10 @@
249
330
  ]
250
331
  },
251
332
  {
333
+ "uuid": "5ca03812-c229-48db-b7fd-0889b22f8d1d",
252
334
  "slug": "grade-school",
335
+ "core": false,
336
+ "unlocked_by": null,
253
337
  "difficulty": 4,
254
338
  "topics": [
255
339
  "struct",
@@ -259,7 +343,10 @@
259
343
  ]
260
344
  },
261
345
  {
346
+ "uuid": "1beb8b0c-d06d-4569-80e5-866ed01a7a66",
262
347
  "slug": "robot-simulator",
348
+ "core": false,
349
+ "unlocked_by": null,
263
350
  "difficulty": 4,
264
351
  "topics": [
265
352
  "Immutability",
@@ -267,7 +354,10 @@
267
354
  ]
268
355
  },
269
356
  {
357
+ "uuid": "40729822-4265-4c14-b03f-a00bff5f24bb",
270
358
  "slug": "bracket-push",
359
+ "core": false,
360
+ "unlocked_by": null,
271
361
  "difficulty": 4,
272
362
  "topics": [
273
363
  "From trait",
@@ -275,7 +365,10 @@
275
365
  ]
276
366
  },
277
367
  {
368
+ "uuid": "f9131b5d-91dd-4514-983d-4abc22bb5d5c",
278
369
  "slug": "luhn-from",
370
+ "core": false,
371
+ "unlocked_by": null,
279
372
  "difficulty": 4,
280
373
  "topics": [
281
374
  "from trait",
@@ -285,7 +378,10 @@
285
378
  ]
286
379
  },
287
380
  {
381
+ "uuid": "30c33e3d-8034-4618-8346-2ae906961579",
288
382
  "slug": "queen-attack",
383
+ "core": false,
384
+ "unlocked_by": null,
289
385
  "difficulty": 4,
290
386
  "topics": [
291
387
  "struct",
@@ -294,7 +390,10 @@
294
390
  ]
295
391
  },
296
392
  {
393
+ "uuid": "fec447a5-cf11-4ddd-b0fd-63bcc4e245cd",
297
394
  "slug": "bowling",
395
+ "core": false,
396
+ "unlocked_by": null,
298
397
  "difficulty": 4,
299
398
  "topics": [
300
399
  "struct",
@@ -303,7 +402,10 @@
303
402
  ]
304
403
  },
305
404
  {
405
+ "uuid": "644ffd17-548e-4405-bfd5-a58df74cc19d",
306
406
  "slug": "sublist",
407
+ "core": false,
408
+ "unlocked_by": null,
307
409
  "difficulty": 4,
308
410
  "topics": [
309
411
  "enum",
@@ -311,7 +413,10 @@
311
413
  ]
312
414
  },
313
415
  {
416
+ "uuid": "fa94645d-14e1-422d-a832-d24efbb493d8",
314
417
  "slug": "space-age",
418
+ "core": false,
419
+ "unlocked_by": null,
315
420
  "difficulty": 4,
316
421
  "topics": [
317
422
  "Custom Trait",
@@ -320,7 +425,10 @@
320
425
  ]
321
426
  },
322
427
  {
428
+ "uuid": "c32c0124-873d-45f4-9287-402aea29f129",
323
429
  "slug": "luhn-trait",
430
+ "core": false,
431
+ "unlocked_by": null,
324
432
  "difficulty": 4,
325
433
  "topics": [
326
434
  "Custom Trait",
@@ -330,7 +438,10 @@
330
438
  ]
331
439
  },
332
440
  {
441
+ "uuid": "94f040d6-3f41-4950-8fe6-acf0945ac83d",
333
442
  "slug": "allergies",
443
+ "core": false,
444
+ "unlocked_by": null,
334
445
  "difficulty": 4,
335
446
  "topics": [
336
447
  "struct",
@@ -341,7 +452,10 @@
341
452
  ]
342
453
  },
343
454
  {
455
+ "uuid": "f1371a9c-c2a4-4fc6-a5fd-3a57c4af16fa",
344
456
  "slug": "variable-length-quantity",
457
+ "core": false,
458
+ "unlocked_by": null,
345
459
  "difficulty": 4,
346
460
  "topics": [
347
461
  "Encodings",
@@ -351,7 +465,10 @@
351
465
  ]
352
466
  },
353
467
  {
468
+ "uuid": "6abac1d1-0d85-4b51-8001-97a07990630d",
354
469
  "slug": "phone-number",
470
+ "core": false,
471
+ "unlocked_by": null,
355
472
  "difficulty": 4,
356
473
  "topics": [
357
474
  "option",
@@ -362,7 +479,10 @@
362
479
  ]
363
480
  },
364
481
  {
482
+ "uuid": "620b55bb-058e-4c6f-a966-ced3b41736db",
365
483
  "slug": "wordy",
484
+ "core": false,
485
+ "unlocked_by": null,
366
486
  "difficulty": 4,
367
487
  "topics": [
368
488
  "Result",
@@ -371,7 +491,10 @@
371
491
  ]
372
492
  },
373
493
  {
494
+ "uuid": "9a2406cc-5037-4761-b820-bb25b1d397c8",
374
495
  "slug": "tournament",
496
+ "core": false,
497
+ "unlocked_by": null,
375
498
  "difficulty": 4,
376
499
  "topics": [
377
500
  "enum",
@@ -381,7 +504,10 @@
381
504
  ]
382
505
  },
383
506
  {
507
+ "uuid": "9d652e63-6654-4dec-a99f-97e6bc8cf772",
384
508
  "slug": "custom-set",
509
+ "core": false,
510
+ "unlocked_by": null,
385
511
  "difficulty": 4,
386
512
  "topics": [
387
513
  "generic over type",
@@ -391,7 +517,10 @@
391
517
  ]
392
518
  },
393
519
  {
520
+ "uuid": "7450bd80-2388-42ac-a61f-097e82581475",
394
521
  "slug": "alphametics",
522
+ "core": false,
523
+ "unlocked_by": null,
395
524
  "difficulty": 4,
396
525
  "topics": [
397
526
  "string parsing",
@@ -401,7 +530,10 @@
401
530
  ]
402
531
  },
403
532
  {
533
+ "uuid": "f3172997-91f5-4941-a76e-91c4b8eed401",
404
534
  "slug": "anagram",
535
+ "core": false,
536
+ "unlocked_by": null,
405
537
  "difficulty": 7,
406
538
  "topics": [
407
539
  "lifetimes",
@@ -412,7 +544,10 @@
412
544
  ]
413
545
  },
414
546
  {
547
+ "uuid": "4e01efbc-51ce-4d20-b093-b3d44c4be5e8",
415
548
  "slug": "protein-translation",
549
+ "core": false,
550
+ "unlocked_by": null,
416
551
  "difficulty": 7,
417
552
  "topics": [
418
553
  "struct",
@@ -422,7 +557,10 @@
422
557
  ]
423
558
  },
424
559
  {
560
+ "uuid": "ec7f66c2-749e-4d00-9c11-fa9d106632e4",
425
561
  "slug": "robot-name",
562
+ "core": false,
563
+ "unlocked_by": null,
426
564
  "difficulty": 7,
427
565
  "topics": [
428
566
  "struct",
@@ -433,7 +571,10 @@
433
571
  ]
434
572
  },
435
573
  {
574
+ "uuid": "704aab91-b83a-4e64-8c21-fb0be5076289",
436
575
  "slug": "ocr-numbers",
576
+ "core": false,
577
+ "unlocked_by": null,
437
578
  "difficulty": 10,
438
579
  "topics": [
439
580
  "Lines",
@@ -442,14 +583,20 @@
442
583
  ]
443
584
  },
444
585
  {
586
+ "uuid": "e0037ac4-ae5f-4622-b3ad-915648263495",
445
587
  "slug": "minesweeper",
588
+ "core": false,
589
+ "unlocked_by": null,
446
590
  "difficulty": 10,
447
591
  "topics": [
448
592
  "Board state"
449
593
  ]
450
594
  },
451
595
  {
596
+ "uuid": "5e6f6986-5011-427b-a992-d6d0c81f5101",
452
597
  "slug": "dominoes",
598
+ "core": false,
599
+ "unlocked_by": null,
453
600
  "difficulty": 10,
454
601
  "topics": [
455
602
  "Graph theory",
@@ -457,14 +604,20 @@
457
604
  ]
458
605
  },
459
606
  {
607
+ "uuid": "e114b19f-9a9a-402d-a5cb-1cad8de5088e",
460
608
  "slug": "parallel-letter-frequency",
609
+ "core": false,
610
+ "unlocked_by": null,
461
611
  "difficulty": 10,
462
612
  "topics": [
463
613
  "multi-threading"
464
614
  ]
465
615
  },
466
616
  {
617
+ "uuid": "cc4ccd99-1c97-4ee7-890c-d629b4e1e46d",
467
618
  "slug": "rectangles",
619
+ "core": false,
620
+ "unlocked_by": null,
468
621
  "difficulty": 10,
469
622
  "topics": [
470
623
  "Enum",
@@ -474,14 +627,20 @@
474
627
  ]
475
628
  },
476
629
  {
630
+ "uuid": "55976c49-1be5-4170-8aa3-056c2223abbb",
477
631
  "slug": "forth",
632
+ "core": false,
633
+ "unlocked_by": null,
478
634
  "difficulty": 10,
479
635
  "topics": [
480
636
  "Parser reimplementation"
481
637
  ]
482
638
  },
483
639
  {
640
+ "uuid": "6ff1a539-251b-49d4-81b5-a6b1e9ba66a4",
484
641
  "slug": "circular-buffer",
642
+ "core": false,
643
+ "unlocked_by": null,
485
644
  "difficulty": 10,
486
645
  "topics": [
487
646
  "Buffer reimplementation",
@@ -489,19 +648,28 @@
489
648
  ]
490
649
  },
491
650
  {
651
+ "uuid": "8708ccc7-711a-4862-b5a4-ff59fde2241c",
492
652
  "slug": "react",
653
+ "core": false,
654
+ "unlocked_by": null,
493
655
  "difficulty": 10,
494
656
  "topics": [
495
657
  "Lifetimes",
496
658
  "generics",
497
659
  "closures"
498
660
  ]
661
+ },
662
+ {
663
+ "uuid": "8dae8f4d-368d-477d-907e-bf746921bfbf",
664
+ "slug": "nucleotide-codons",
665
+ "deprecated": true
666
+ },
667
+ {
668
+ "uuid": "496fd79f-1678-4aa2-8110-c32c6aaf545e",
669
+ "slug": "hexadecimal",
670
+ "deprecated": true
499
671
  }
500
672
  ],
501
- "deprecated": [
502
- "nucleotide-codons",
503
- "hexadecimal"
504
- ],
505
673
  "foregone": [
506
674
  "binary",
507
675
  "octal",
@@ -24,7 +24,7 @@ haven't already, it will help you with organizing your files.
24
24
 
25
25
  The [exercism/xrust](https://github.com/exercism/xrust) repository on GitHub is the home for all of the Rust exercises. If you have feedback about an exercise, or want to help implement new exercises, head over there and create an issue. Members of the [rust track team](https://github.com/orgs/exercism/teams/rust) are happy to help!
26
26
 
27
- If you want to know more about Exercism, take a look at the [contribution guide](https://github.com/exercism/x-common/blob/master/CONTRIBUTING.md).
27
+ If you want to know more about Exercism, take a look at the [contribution guide](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md).
28
28
 
29
29
  [help-page]: http://exercism.io/languages/rust
30
30
  [crates-and-modules]: http://doc.rust-lang.org/stable/book/crates-and-modules.html
@@ -7,58 +7,81 @@
7
7
  "test_pattern": "^test_*.sml$",
8
8
  "exercises": [
9
9
  {
10
+ "uuid": "333c2cb9-f03c-473c-9eeb-096072a321b2",
10
11
  "slug": "accumulate",
12
+ "core": false,
13
+ "unlocked_by": null,
11
14
  "difficulty": 1,
12
15
  "topics": [
13
16
 
14
17
  ]
15
18
  },
16
19
  {
20
+ "uuid": "7be1122c-33cd-40ed-a70f-c71a6713c47a",
17
21
  "slug": "allergies",
22
+ "core": false,
23
+ "unlocked_by": null,
18
24
  "difficulty": 1,
19
25
  "topics": [
20
26
 
21
27
  ]
22
28
  },
23
29
  {
30
+ "uuid": "216334c2-bdb5-481a-a22b-20ac088f20e9",
24
31
  "slug": "anagram",
32
+ "core": false,
33
+ "unlocked_by": null,
25
34
  "difficulty": 1,
26
35
  "topics": [
27
36
 
28
37
  ]
29
38
  },
30
39
  {
40
+ "uuid": "fb0a030d-33bc-4066-a30a-1b8b02cc42f1",
31
41
  "slug": "flatten-array",
42
+ "core": false,
43
+ "unlocked_by": null,
32
44
  "difficulty": 1,
33
45
  "topics": [
34
46
 
35
47
  ]
36
48
  },
37
49
  {
50
+ "uuid": "ce5dd1a4-7c90-48e4-b260-d2b62f29fbaf",
38
51
  "slug": "hamming",
52
+ "core": false,
53
+ "unlocked_by": null,
39
54
  "difficulty": 1,
40
55
  "topics": [
41
56
 
42
57
  ]
43
58
  },
44
59
  {
60
+ "uuid": "76b1e1d1-2360-487c-89be-37f9780540b7",
45
61
  "slug": "raindrops",
62
+ "core": false,
63
+ "unlocked_by": null,
46
64
  "difficulty": 1,
47
65
  "topics": [
48
66
 
49
67
  ]
50
68
  },
51
69
  {
70
+ "uuid": "cfd7a0bc-4b94-402a-9e8e-d81cd4ddecfd",
52
71
  "slug": "nth-prime",
72
+ "core": false,
73
+ "unlocked_by": null,
53
74
  "difficulty": 1,
54
75
  "topics": [
55
76
 
56
77
  ]
78
+ },
79
+ {
80
+ "uuid": "225cfd7d-81a3-4a58-b1aa-1de2e40e7a93",
81
+ "slug": "binary",
82
+ "deprecated": true
57
83
  }
58
84
  ],
59
- "deprecated": [
60
- "binary"
61
- ],
62
85
  "foregone": [
63
86
 
64
87
  ]