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
@@ -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
  ]