trackler 2.2.0.0 → 2.2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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
@@ -4,107 +4,146 @@
4
4
  "repository": "https://github.com/exercism/mips",
5
5
  "active": true,
6
6
  "test_pattern": "runner.mips",
7
- "deprecated": [
8
-
9
- ],
10
7
  "foregone": [
11
8
 
12
9
  ],
13
10
  "exercises": [
14
11
  {
15
- "difficulty": 1,
12
+ "uuid": "5fd96880-6af2-415d-9b81-8c6eeffc3a38",
16
13
  "slug": "binary",
14
+ "core": false,
15
+ "unlocked_by": null,
16
+ "difficulty": 1,
17
17
  "topics": [
18
18
 
19
19
  ]
20
20
  },
21
21
  {
22
- "difficulty": 1,
22
+ "uuid": "9a3501ad-6f6f-4899-af8b-a42379928201",
23
23
  "slug": "octal",
24
+ "core": false,
25
+ "unlocked_by": null,
26
+ "difficulty": 1,
24
27
  "topics": [
25
28
 
26
29
  ]
27
30
  },
28
31
  {
29
- "difficulty": 1,
32
+ "uuid": "69464a1e-3da5-41ad-85fa-46e7cd009a1b",
30
33
  "slug": "trinary",
34
+ "core": false,
35
+ "unlocked_by": null,
36
+ "difficulty": 1,
31
37
  "topics": [
32
38
 
33
39
  ]
34
40
  },
35
41
  {
36
- "difficulty": 1,
42
+ "uuid": "4bb585a0-b217-4e97-87d2-ed573449a51a",
37
43
  "slug": "hexadecimal",
44
+ "core": false,
45
+ "unlocked_by": null,
46
+ "difficulty": 1,
38
47
  "topics": [
39
48
 
40
49
  ]
41
50
  },
42
51
  {
43
- "difficulty": 1,
52
+ "uuid": "d3026f71-47d0-44d1-92ac-204404d4e26e",
44
53
  "slug": "leap",
54
+ "core": false,
55
+ "unlocked_by": null,
56
+ "difficulty": 1,
45
57
  "topics": [
46
58
 
47
59
  ]
48
60
  },
49
61
  {
50
- "difficulty": 1,
62
+ "uuid": "9eee92a9-cae9-4388-88aa-6779f468e864",
51
63
  "slug": "difference-of-squares",
64
+ "core": false,
65
+ "unlocked_by": null,
66
+ "difficulty": 1,
52
67
  "topics": [
53
68
 
54
69
  ]
55
70
  },
56
71
  {
57
- "difficulty": 1,
72
+ "uuid": "2ba35b0f-e16c-41be-81b4-88985926445a",
58
73
  "slug": "hamming",
74
+ "core": false,
75
+ "unlocked_by": null,
76
+ "difficulty": 1,
59
77
  "topics": [
60
78
 
61
79
  ]
62
80
  },
63
81
  {
64
- "difficulty": 1,
82
+ "uuid": "e7a3845a-2f5a-455a-9158-0a7d1c1d5979",
65
83
  "slug": "rna-transcription",
84
+ "core": false,
85
+ "unlocked_by": null,
86
+ "difficulty": 1,
66
87
  "topics": [
67
88
 
68
89
  ]
69
90
  },
70
91
  {
71
- "difficulty": 1,
92
+ "uuid": "429467c7-edf4-4010-a696-5fc76d0dd12c",
72
93
  "slug": "isogram",
94
+ "core": false,
95
+ "unlocked_by": null,
96
+ "difficulty": 1,
73
97
  "topics": [
74
98
 
75
99
  ]
76
100
  },
77
101
  {
78
- "difficulty": 1,
102
+ "uuid": "50cacd4d-56c2-4331-b84f-7c91e4b12c35",
79
103
  "slug": "triangle",
104
+ "core": false,
105
+ "unlocked_by": null,
106
+ "difficulty": 1,
80
107
  "topics": [
81
108
 
82
109
  ]
83
110
  },
84
111
  {
85
- "difficulty": 1,
112
+ "uuid": "823ca6fc-369c-468c-914e-b53bb0db4763",
86
113
  "slug": "atbash-cipher",
114
+ "core": false,
115
+ "unlocked_by": null,
116
+ "difficulty": 1,
87
117
  "topics": [
88
118
 
89
119
  ]
90
120
  },
91
121
  {
92
- "difficulty": 1,
122
+ "uuid": "42c7d965-c56c-437f-b513-19bcbcedef01",
93
123
  "slug": "scrabble-score",
124
+ "core": false,
125
+ "unlocked_by": null,
126
+ "difficulty": 1,
94
127
  "topics": [
95
128
 
96
129
  ]
97
130
  },
98
131
  {
99
- "difficulty": 1,
132
+ "uuid": "d294d722-8ea2-461e-86d8-0fecb6c5637a",
100
133
  "slug": "raindrops",
134
+ "core": false,
135
+ "unlocked_by": null,
136
+ "difficulty": 1,
101
137
  "topics": [
102
138
 
103
139
  ]
104
140
  },
105
141
  {
106
- "difficulty": 1,
142
+ "uuid": "cb17b1c8-5559-41bc-ac4f-12bce61d8745",
107
143
  "slug": "nth-prime",
144
+ "core": false,
145
+ "unlocked_by": null,
146
+ "difficulty": 1,
108
147
  "topics": [
109
148
 
110
149
  ]
@@ -2,5 +2,5 @@
2
2
  language: bash
3
3
  script:
4
4
  - bin/fetch-configlet
5
- - bin/configlet .
5
+ - bin/configlet lint .
6
6
  sudo: false
@@ -15,6 +15,6 @@ before_script: export PATH=$PATH:$PWD/_test/nim-0.14.2/bin
15
15
 
16
16
  script:
17
17
  - bin/fetch-configlet
18
- - bin/configlet .
18
+ - bin/configlet lint .
19
19
  - nim c _test/check_exercises.nim > /dev/null
20
20
  - _test/check_exercises
@@ -6,7 +6,7 @@ Exercism Exercises in OCaml
6
6
 
7
7
  Contributions to the OCaml track (or any other part of Exercism) are very welcome!
8
8
 
9
- Please see the [contributing guide](https://github.com/exercism/x-common/blob/master/CONTRIBUTING.md) for overall guidance. The below
9
+ Please see the [contributing guide](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md) for overall guidance. The below
10
10
  notes contain a few details specific to Ocaml.
11
11
 
12
12
  ## Prerequisites
@@ -25,10 +25,10 @@ To run tests for an individual exercise, `make test-assignment ASSIGNMENT=luhn`
25
25
 
26
26
  ## Adding an Exercise
27
27
 
28
- The [contributing guide](https://github.com/exercism/x-common/blob/master/CONTRIBUTING.md) provides guidance on
28
+ The [contributing guide](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md) provides guidance on
29
29
  how to add a new exercise, or port an existing exercise from another language track. This is a brief guide, with specifics for the OCaml stream.
30
30
 
31
- Firstly, register the exercise in [config json](https://github.com/exercism/x-common/blob/master/CONTRIBUTING.md#configjson). The name of the exercise should go in the "slug" entry.
31
+ Firstly, register the exercise in [config json](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md#configjson). The name of the exercise should go in the "slug" entry.
32
32
 
33
33
  Then, write the exercise tests & proof of concept implementation.
34
34
  A folder layout for an exercise called "ocaml-exercise" is below.
@@ -5,7 +5,10 @@
5
5
  "active": true,
6
6
  "exercises": [
7
7
  {
8
+ "uuid": "cda3b090-ae52-476b-a782-9cbf43953cf0",
8
9
  "slug": "hello-world",
10
+ "core": false,
11
+ "unlocked_by": null,
9
12
  "difficulty": 1,
10
13
  "topics": [
11
14
  "Strings",
@@ -13,7 +16,10 @@
13
16
  ]
14
17
  },
15
18
  {
19
+ "uuid": "ea5ca675-e010-470b-8030-d4f84880d799",
16
20
  "slug": "leap",
21
+ "core": false,
22
+ "unlocked_by": null,
17
23
  "difficulty": 1,
18
24
  "topics": [
19
25
  "Integers",
@@ -21,70 +27,100 @@
21
27
  ]
22
28
  },
23
29
  {
30
+ "uuid": "bff47b0f-4555-40b7-b422-64eaa37cb2f6",
24
31
  "slug": "hamming",
32
+ "core": false,
33
+ "unlocked_by": null,
25
34
  "difficulty": 2,
26
35
  "topics": [
27
36
  "Iterating over two lists at once"
28
37
  ]
29
38
  },
30
39
  {
40
+ "uuid": "dd066b62-c63e-467c-8dfb-435bcc81d532",
31
41
  "slug": "raindrops",
42
+ "core": false,
43
+ "unlocked_by": null,
32
44
  "difficulty": 2,
33
45
  "topics": [
34
46
 
35
47
  ]
36
48
  },
37
49
  {
50
+ "uuid": "7fbd4282-9e69-460d-a208-dfafb1850da0",
38
51
  "slug": "difference-of-squares",
52
+ "core": false,
53
+ "unlocked_by": null,
39
54
  "difficulty": 2,
40
55
  "topics": [
41
56
  "Mathematics"
42
57
  ]
43
58
  },
44
59
  {
60
+ "uuid": "bf9a0fe0-99b2-4a95-8d75-fc02d0c8433c",
45
61
  "slug": "rna-transcription",
62
+ "core": false,
63
+ "unlocked_by": null,
46
64
  "difficulty": 2,
47
65
  "topics": [
48
66
  "Transforming"
49
67
  ]
50
68
  },
51
69
  {
70
+ "uuid": "0d7a23a9-31a1-4d52-afd6-887d0fc898e2",
52
71
  "slug": "nucleotide-count",
72
+ "core": false,
73
+ "unlocked_by": null,
53
74
  "difficulty": 2,
54
75
  "topics": [
55
76
  "Counting"
56
77
  ]
57
78
  },
58
79
  {
80
+ "uuid": "be29288a-fcb6-4dce-acc3-be8d86e5454e",
59
81
  "slug": "etl",
82
+ "core": false,
83
+ "unlocked_by": null,
60
84
  "difficulty": 3,
61
85
  "topics": [
62
86
  "Transforming"
63
87
  ]
64
88
  },
65
89
  {
90
+ "uuid": "870b1229-2f9a-4e23-bb6f-c579375ed701",
66
91
  "slug": "grade-school",
92
+ "core": false,
93
+ "unlocked_by": null,
67
94
  "difficulty": 3,
68
95
  "topics": [
69
96
  "Transforming"
70
97
  ]
71
98
  },
72
99
  {
100
+ "uuid": "9bcdf9a0-acf3-4437-b0f5-071bf0cf5e02",
73
101
  "slug": "bob",
102
+ "core": false,
103
+ "unlocked_by": null,
74
104
  "difficulty": 3,
75
105
  "topics": [
76
106
  "Strings"
77
107
  ]
78
108
  },
79
109
  {
110
+ "uuid": "7a3e7667-c7a2-4ba2-b448-599719f78ebc",
80
111
  "slug": "anagram",
112
+ "core": false,
113
+ "unlocked_by": null,
81
114
  "difficulty": 3,
82
115
  "topics": [
83
116
  "Strings"
84
117
  ]
85
118
  },
86
119
  {
120
+ "uuid": "0621077c-b5af-4e3b-a60c-b6aaa2565224",
87
121
  "slug": "space-age",
122
+ "core": false,
123
+ "unlocked_by": null,
88
124
  "difficulty": 3,
89
125
  "topics": [
90
126
  "Arithmetic",
@@ -92,49 +128,70 @@
92
128
  ]
93
129
  },
94
130
  {
131
+ "uuid": "a43c28f4-8f5c-40f7-90cb-79689c810f95",
95
132
  "slug": "triangle",
133
+ "core": false,
134
+ "unlocked_by": null,
96
135
  "difficulty": 3,
97
136
  "topics": [
98
137
  "Mathematics"
99
138
  ]
100
139
  },
101
140
  {
141
+ "uuid": "ae5a4fac-84c4-4929-b37e-b0452f761bf8",
102
142
  "slug": "pangram",
143
+ "core": false,
144
+ "unlocked_by": null,
103
145
  "difficulty": 3,
104
146
  "topics": [
105
147
  "Strings"
106
148
  ]
107
149
  },
108
150
  {
151
+ "uuid": "c4550644-e67a-4bf4-98dc-78fe45b90c53",
109
152
  "slug": "acronym",
153
+ "core": false,
154
+ "unlocked_by": null,
110
155
  "difficulty": 3,
111
156
  "topics": [
112
157
  "Strings"
113
158
  ]
114
159
  },
115
160
  {
161
+ "uuid": "63134efd-e383-4f00-9f97-80ae75585ca6",
116
162
  "slug": "all-your-base",
163
+ "core": false,
164
+ "unlocked_by": null,
117
165
  "difficulty": 4,
118
166
  "topics": [
119
167
  "Mathematics"
120
168
  ]
121
169
  },
122
170
  {
171
+ "uuid": "9f7b9da6-afff-4d2b-862e-df1b3a0a7cef",
123
172
  "slug": "bracket-push",
173
+ "core": false,
174
+ "unlocked_by": null,
124
175
  "difficulty": 4,
125
176
  "topics": [
126
177
  "Stacks"
127
178
  ]
128
179
  },
129
180
  {
181
+ "uuid": "8d21e4be-5e9c-4c73-81c5-b4ee2517d9c7",
130
182
  "slug": "luhn",
183
+ "core": false,
184
+ "unlocked_by": null,
131
185
  "difficulty": 4,
132
186
  "topics": [
133
187
  "Arithmetic"
134
188
  ]
135
189
  },
136
190
  {
191
+ "uuid": "de60cf70-153d-439e-96c6-8252057c5d82",
137
192
  "slug": "binary-search",
193
+ "core": false,
194
+ "unlocked_by": null,
138
195
  "difficulty": 4,
139
196
  "topics": [
140
197
  "Search",
@@ -143,14 +200,20 @@
143
200
  ]
144
201
  },
145
202
  {
203
+ "uuid": "d9f93301-a8e8-4c90-bbff-e1ec65b435e5",
146
204
  "slug": "phone-number",
205
+ "core": false,
206
+ "unlocked_by": null,
147
207
  "difficulty": 4,
148
208
  "topics": [
149
209
  "Strings"
150
210
  ]
151
211
  },
152
212
  {
213
+ "uuid": "db90c208-b8ca-4c8c-8061-b9148c80abfe",
153
214
  "slug": "word-count",
215
+ "core": false,
216
+ "unlocked_by": null,
154
217
  "difficulty": 4,
155
218
  "topics": [
156
219
  "Strings",
@@ -158,14 +221,20 @@
158
221
  ]
159
222
  },
160
223
  {
224
+ "uuid": "83c807b1-0aa4-4493-8665-6581c019a6f5",
161
225
  "slug": "beer-song",
226
+ "core": false,
227
+ "unlocked_by": null,
162
228
  "difficulty": 4,
163
229
  "topics": [
164
230
  "Strings"
165
231
  ]
166
232
  },
167
233
  {
234
+ "uuid": "4281cefe-e4b4-46d4-b6bb-0086448c080f",
168
235
  "slug": "run-length-encoding",
236
+ "core": false,
237
+ "unlocked_by": null,
169
238
  "difficulty": 5,
170
239
  "topics": [
171
240
  "Algorithms",
@@ -173,14 +242,20 @@
173
242
  ]
174
243
  },
175
244
  {
245
+ "uuid": "8f7fcaad-c588-4495-9f9e-20611187a0a5",
176
246
  "slug": "roman-numerals",
247
+ "core": false,
248
+ "unlocked_by": null,
177
249
  "difficulty": 5,
178
250
  "topics": [
179
251
  "Strings"
180
252
  ]
181
253
  },
182
254
  {
255
+ "uuid": "67d4fa19-c387-47c4-9262-a6e63d5c0a19",
183
256
  "slug": "prime-factors",
257
+ "core": false,
258
+ "unlocked_by": null,
184
259
  "difficulty": 5,
185
260
  "topics": [
186
261
  "Mathematics",
@@ -188,14 +263,20 @@
188
263
  ]
189
264
  },
190
265
  {
266
+ "uuid": "2efe0bf3-cb17-4135-ae95-d7b5b7b61f7f",
191
267
  "slug": "say",
268
+ "core": false,
269
+ "unlocked_by": null,
192
270
  "difficulty": 5,
193
271
  "topics": [
194
272
  "Strings"
195
273
  ]
196
274
  },
197
275
  {
276
+ "uuid": "51f4aff9-6666-4097-a37e-e2e51fd8f286",
198
277
  "slug": "robot-name",
278
+ "core": false,
279
+ "unlocked_by": null,
199
280
  "difficulty": 6,
200
281
  "topics": [
201
282
  "Randomness",
@@ -203,7 +284,10 @@
203
284
  ]
204
285
  },
205
286
  {
287
+ "uuid": "202e8a9a-7a5e-486f-883b-56be298ed665",
206
288
  "slug": "change",
289
+ "core": false,
290
+ "unlocked_by": null,
207
291
  "difficulty": 6,
208
292
  "topics": [
209
293
  "Dynamic Programming",
@@ -211,21 +295,30 @@
211
295
  ]
212
296
  },
213
297
  {
298
+ "uuid": "ffde2a94-722a-4193-86b7-d2d591a7223d",
214
299
  "slug": "list-ops",
300
+ "core": false,
301
+ "unlocked_by": null,
215
302
  "difficulty": 6,
216
303
  "topics": [
217
304
  "Functional programming"
218
305
  ]
219
306
  },
220
307
  {
308
+ "uuid": "020aa7d8-9b4b-4348-9fea-9fbaece3ac66",
221
309
  "slug": "atbash-cipher",
310
+ "core": false,
311
+ "unlocked_by": null,
222
312
  "difficulty": 7,
223
313
  "topics": [
224
314
  "Transforming"
225
315
  ]
226
316
  },
227
317
  {
318
+ "uuid": "a0468f9b-55d1-45dd-9a2f-476aaf4d6c2e",
228
319
  "slug": "minesweeper",
320
+ "core": false,
321
+ "unlocked_by": null,
229
322
  "difficulty": 7,
230
323
  "topics": [
231
324
  "Transforming",
@@ -233,14 +326,20 @@
233
326
  ]
234
327
  },
235
328
  {
329
+ "uuid": "638b24d2-5288-4fc2-a70e-a178974f030e",
236
330
  "slug": "bowling",
331
+ "core": false,
332
+ "unlocked_by": null,
237
333
  "difficulty": 7,
238
334
  "topics": [
239
335
  "Algorithms"
240
336
  ]
241
337
  },
242
338
  {
339
+ "uuid": "791c17d4-09b5-4e11-a433-b45f0c1c752e",
243
340
  "slug": "dominoes",
341
+ "core": false,
342
+ "unlocked_by": null,
244
343
  "difficulty": 7,
245
344
  "topics": [
246
345
  "Algorithms",
@@ -248,59 +347,86 @@
248
347
  ]
249
348
  },
250
349
  {
350
+ "uuid": "0bc0bc18-c207-43d0-8b39-8e0e2e87aa72",
251
351
  "slug": "custom-set",
352
+ "core": false,
353
+ "unlocked_by": null,
252
354
  "difficulty": 8,
253
355
  "topics": [
254
356
  "Functional programming"
255
357
  ]
256
358
  },
257
359
  {
360
+ "uuid": "6a1e1746-c23c-4225-ac8f-f1b31814d6c2",
258
361
  "slug": "connect",
362
+ "core": false,
363
+ "unlocked_by": null,
259
364
  "difficulty": 8,
260
365
  "topics": [
261
366
  "Search"
262
367
  ]
263
368
  },
264
369
  {
370
+ "uuid": "cd37ff33-d2c3-4420-9ad0-0121e2a04b61",
265
371
  "slug": "meetup",
372
+ "core": false,
373
+ "unlocked_by": null,
266
374
  "difficulty": 9,
267
375
  "topics": [
268
376
  "Dates"
269
377
  ]
270
378
  },
271
379
  {
380
+ "uuid": "dc870c73-8a38-4b93-83b6-1144538f65bf",
272
381
  "slug": "forth",
382
+ "core": false,
383
+ "unlocked_by": null,
273
384
  "difficulty": 9,
274
385
  "topics": [
275
386
  "Interpreters"
276
387
  ]
277
388
  },
278
389
  {
390
+ "uuid": "f75ff9fa-59cd-4b23-a2e1-13494d206e92",
279
391
  "slug": "zipper",
392
+ "core": false,
393
+ "unlocked_by": null,
280
394
  "difficulty": 10,
281
395
  "topics": [
282
396
  "Functional programming"
283
397
  ]
284
398
  },
285
399
  {
400
+ "uuid": "6b2139a0-953d-414a-8d40-641b431318b1",
286
401
  "slug": "react",
402
+ "core": false,
403
+ "unlocked_by": null,
287
404
  "difficulty": 10,
288
405
  "topics": [
289
406
  "Reactive programming"
290
407
  ]
291
408
  },
292
409
  {
410
+ "uuid": "4a17796e-3faf-48e4-8db4-e39374fee716",
293
411
  "slug": "hangman",
412
+ "core": false,
413
+ "unlocked_by": null,
294
414
  "difficulty": 10,
295
415
  "topics": [
296
416
  "Reactive programming"
297
417
  ]
418
+ },
419
+ {
420
+ "uuid": "d0c937ef-3c7b-40be-891d-3024129b443f",
421
+ "slug": "hexadecimal",
422
+ "deprecated": true
423
+ },
424
+ {
425
+ "uuid": "1a78aecb-521a-4bcf-a618-fd50a3d4fdc7",
426
+ "slug": "point-mutations",
427
+ "deprecated": true
298
428
  }
299
429
  ],
300
- "deprecated": [
301
- "hexadecimal",
302
- "point-mutations"
303
- ],
304
430
  "foregone": [
305
431
 
306
432
  ]