trackler 1.0.1.0 → 1.0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (103) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +1 -0
  3. data/bin/bump-content +33 -0
  4. data/common/exercises/bowling/canonical-data.json +78 -77
  5. data/common/exercises/counter/.deprecated +1 -0
  6. data/common/exercises/point-mutations/.deprecated +1 -0
  7. data/common/exercises/say/canonical-data.json +83 -0
  8. data/common/exercises/word-count/canonical-data.json +25 -5
  9. data/lib/trackler/version.rb +1 -1
  10. data/tracks/c/config.json +9 -0
  11. data/tracks/c/exercises/largest-series-product/makefile +16 -0
  12. data/tracks/c/exercises/largest-series-product/src/example.c +54 -0
  13. data/tracks/c/exercises/largest-series-product/src/example.h +9 -0
  14. data/tracks/c/exercises/largest-series-product/test/test_largest_series_product.c +114 -0
  15. data/tracks/c/exercises/largest-series-product/test/vendor/unity.c +1300 -0
  16. data/tracks/c/exercises/largest-series-product/test/vendor/unity.h +274 -0
  17. data/tracks/c/exercises/largest-series-product/test/vendor/unity_internals.h +701 -0
  18. data/tracks/clojure/_test/check_exercises.clj +7 -6
  19. data/tracks/clojure/config.json +268 -53
  20. data/tracks/clojure/exercises/flatten-array/src/example.clj +16 -0
  21. data/tracks/clojure/exercises/flatten-array/test/flatten_array_test.clj +28 -0
  22. data/tracks/clojure/exercises/perfect-numbers/project.clj +4 -0
  23. data/tracks/clojure/exercises/perfect-numbers/src/example.clj +17 -0
  24. data/tracks/clojure/exercises/perfect-numbers/test/perfect_numbers_test.clj +20 -0
  25. data/tracks/ecmascript/exercises/grade-school/grade-school.spec.js +7 -0
  26. data/tracks/elixir/.travis.yml +3 -0
  27. data/tracks/elixir/bin/dialyzer_check.sh +28 -0
  28. data/tracks/elixir/config.json +13 -1
  29. data/tracks/elixir/docs/TESTS.md +81 -0
  30. data/tracks/elixir/exercises/bank-account/example.exs +1 -1
  31. data/tracks/elixir/exercises/binary-search/binary_search_test.exs +5 -0
  32. data/tracks/elixir/exercises/clock/clock.exs +23 -0
  33. data/tracks/elixir/exercises/clock/clock_test.exs +281 -0
  34. data/tracks/elixir/exercises/clock/example.exs +55 -0
  35. data/tracks/elixir/exercises/prime-factors/example.exs +1 -2
  36. data/tracks/elixir/exercises/robot-simulator/example.exs +2 -3
  37. data/tracks/elixir/mix.exs +2 -1
  38. data/tracks/go/docs/TESTS.md +1 -1
  39. data/tracks/go/exercises/gigasecond/gigasecond_test.go +0 -2
  40. data/tracks/go/exercises/palindrome-products/palindrome_products_test.go +38 -22
  41. data/tracks/haskell/.travis.yml +26 -7
  42. data/tracks/haskell/config.json +0 -69
  43. data/tracks/haskell/exercises/anagram/examples/list-string/Anagram.hs +10 -0
  44. data/tracks/haskell/exercises/anagram/examples/list-string/package.yaml +17 -0
  45. data/tracks/haskell/exercises/anagram/{src/Example.hs → examples/set-text/Anagram.hs} +0 -0
  46. data/tracks/haskell/exercises/anagram/examples/set-text/package.yaml +20 -0
  47. data/tracks/haskell/exercises/anagram/package.yaml +0 -3
  48. data/tracks/idris/config.json +3 -3
  49. data/tracks/kotlin/config.json +207 -43
  50. data/tracks/lfe/config.json +152 -32
  51. data/tracks/lfe/docs/TESTS.md +18 -56
  52. data/tracks/lua/docs/ABOUT.md +9 -0
  53. data/tracks/mips/config.json +72 -16
  54. data/tracks/ocaml/config.json +6 -0
  55. data/tracks/ocaml/exercises/etl/.merlin +5 -0
  56. data/tracks/ocaml/exercises/etl/Makefile +11 -0
  57. data/tracks/ocaml/exercises/etl/etl.mli +2 -0
  58. data/tracks/ocaml/exercises/etl/example.ml +7 -0
  59. data/tracks/ocaml/exercises/etl/test.ml +35 -0
  60. data/tracks/ocaml/exercises/raindrops/test.ml +1 -1
  61. data/tracks/php/config.json +7 -1
  62. data/tracks/php/exercises/acronym/acronym_test.php +56 -0
  63. data/tracks/php/exercises/acronym/example.php +20 -0
  64. data/tracks/racket/config.json +109 -22
  65. data/tracks/ruby/README.md +3 -3
  66. data/tracks/ruby/bin/generate +16 -0
  67. data/tracks/ruby/exercises/alphametics/.version +1 -1
  68. data/tracks/ruby/exercises/alphametics/alphametics_test.rb +24 -22
  69. data/tracks/ruby/exercises/alphametics/example.rb +1 -1
  70. data/tracks/ruby/lib/bracket_push_cases.rb +3 -3
  71. data/tracks/ruby/lib/{raindrop_cases.rb → raindrops_cases.rb} +1 -1
  72. data/tracks/rust/config.json +1 -0
  73. data/tracks/rust/exercises/atbash-cipher/Cargo.lock +4 -0
  74. data/tracks/rust/exercises/atbash-cipher/Cargo.toml +3 -0
  75. data/tracks/rust/exercises/atbash-cipher/example.rs +36 -0
  76. data/tracks/rust/exercises/atbash-cipher/tests/atbash-cipher.rs +82 -0
  77. data/tracks/rust/problems.md +1 -0
  78. data/tracks/scala/config.json +8 -0
  79. data/tracks/scala/exercises/sum-of-multiples/build.sbt +3 -0
  80. data/tracks/scala/exercises/sum-of-multiples/example.scala +10 -0
  81. data/tracks/scala/exercises/sum-of-multiples/src/main/scala/.keep +0 -0
  82. data/tracks/scala/exercises/sum-of-multiples/src/test/scala/SumOfMultiplesTest.scala +62 -0
  83. metadata +43 -23
  84. data/tracks/ruby/bin/generate-acronym +0 -7
  85. data/tracks/ruby/bin/generate-alphametics +0 -8
  86. data/tracks/ruby/bin/generate-binary +0 -7
  87. data/tracks/ruby/bin/generate-bracket-push +0 -7
  88. data/tracks/ruby/bin/generate-clock +0 -7
  89. data/tracks/ruby/bin/generate-connect +0 -7
  90. data/tracks/ruby/bin/generate-custom-set +0 -7
  91. data/tracks/ruby/bin/generate-difference-of-squares +0 -7
  92. data/tracks/ruby/bin/generate-gigasecond +0 -7
  93. data/tracks/ruby/bin/generate-hamming +0 -7
  94. data/tracks/ruby/bin/generate-hello-world +0 -7
  95. data/tracks/ruby/bin/generate-largest-series-product +0 -7
  96. data/tracks/ruby/bin/generate-leap +0 -7
  97. data/tracks/ruby/bin/generate-nth-prime +0 -7
  98. data/tracks/ruby/bin/generate-pangram +0 -7
  99. data/tracks/ruby/bin/generate-raindrops +0 -7
  100. data/tracks/ruby/bin/generate-rna-transcription +0 -7
  101. data/tracks/ruby/bin/generate-roman-numerals +0 -7
  102. data/tracks/ruby/bin/generate-run-length-encoding +0 -7
  103. data/tracks/ruby/bin/generate-two-bucket +0 -7
@@ -4,9 +4,6 @@
4
4
  "repository": "https://github.com/exercism/xidris",
5
5
  "active": false,
6
6
  "test_pattern": "TODO",
7
- "problems": [
8
-
9
- ],
10
7
  "deprecated": [
11
8
 
12
9
  ],
@@ -16,5 +13,8 @@
16
13
  ],
17
14
  "foregone": [
18
15
 
16
+ ],
17
+ "exercises": [
18
+
19
19
  ]
20
20
  }
@@ -3,49 +3,6 @@
3
3
  "language": "Kotlin",
4
4
  "repository": "https://github.com/exercism/xkotlin",
5
5
  "active": true,
6
- "problems": [
7
- "hello-world",
8
- "gigasecond",
9
- "rna-transcription",
10
- "etl",
11
- "word-count",
12
- "accumulate",
13
- "pangram",
14
- "anagram",
15
- "isogram",
16
- "hamming",
17
- "bob",
18
- "leap",
19
- "robot-name",
20
- "phone-number",
21
- "grade-school",
22
- "space-age",
23
- "beer-song",
24
- "nucleotide-count",
25
- "difference-of-squares",
26
- "acronym",
27
- "scrabble-score",
28
- "largest-series-product",
29
- "roman-numerals",
30
- "binary",
31
- "raindrops",
32
- "allergies",
33
- "strain",
34
- "flatten-array",
35
- "atbash-cipher",
36
- "hexadecimal",
37
- "series",
38
- "sieve",
39
- "simple-cipher",
40
- "luhn",
41
- "pig-latin",
42
- "linked-list",
43
- "binary-search",
44
- "nth-prime",
45
- "bracket-push",
46
- "pascals-triangle",
47
- "change"
48
- ],
49
6
  "deprecated": [
50
7
 
51
8
  ],
@@ -58,5 +15,212 @@
58
15
  ],
59
16
  "foregone": [
60
17
 
18
+ ],
19
+ "exercises": [
20
+ {
21
+ "difficulty": 1,
22
+ "slug": "hello-world",
23
+ "topics": []
24
+ },
25
+ {
26
+ "difficulty": 1,
27
+ "slug": "gigasecond",
28
+ "topics": []
29
+ },
30
+ {
31
+ "difficulty": 1,
32
+ "slug": "rna-transcription",
33
+ "topics": []
34
+ },
35
+ {
36
+ "difficulty": 1,
37
+ "slug": "etl",
38
+ "topics": []
39
+ },
40
+ {
41
+ "difficulty": 1,
42
+ "slug": "word-count",
43
+ "topics": []
44
+ },
45
+ {
46
+ "difficulty": 1,
47
+ "slug": "accumulate",
48
+ "topics": []
49
+ },
50
+ {
51
+ "difficulty": 1,
52
+ "slug": "pangram",
53
+ "topics": []
54
+ },
55
+ {
56
+ "difficulty": 1,
57
+ "slug": "anagram",
58
+ "topics": []
59
+ },
60
+ {
61
+ "difficulty": 1,
62
+ "slug": "isogram",
63
+ "topics": []
64
+ },
65
+ {
66
+ "difficulty": 1,
67
+ "slug": "hamming",
68
+ "topics": []
69
+ },
70
+ {
71
+ "difficulty": 1,
72
+ "slug": "bob",
73
+ "topics": []
74
+ },
75
+ {
76
+ "difficulty": 1,
77
+ "slug": "leap",
78
+ "topics": []
79
+ },
80
+ {
81
+ "difficulty": 1,
82
+ "slug": "robot-name",
83
+ "topics": []
84
+ },
85
+ {
86
+ "difficulty": 1,
87
+ "slug": "phone-number",
88
+ "topics": []
89
+ },
90
+ {
91
+ "difficulty": 1,
92
+ "slug": "grade-school",
93
+ "topics": []
94
+ },
95
+ {
96
+ "difficulty": 1,
97
+ "slug": "space-age",
98
+ "topics": []
99
+ },
100
+ {
101
+ "difficulty": 1,
102
+ "slug": "beer-song",
103
+ "topics": []
104
+ },
105
+ {
106
+ "difficulty": 1,
107
+ "slug": "nucleotide-count",
108
+ "topics": []
109
+ },
110
+ {
111
+ "difficulty": 1,
112
+ "slug": "difference-of-squares",
113
+ "topics": []
114
+ },
115
+ {
116
+ "difficulty": 1,
117
+ "slug": "acronym",
118
+ "topics": []
119
+ },
120
+ {
121
+ "difficulty": 1,
122
+ "slug": "scrabble-score",
123
+ "topics": []
124
+ },
125
+ {
126
+ "difficulty": 1,
127
+ "slug": "largest-series-product",
128
+ "topics": []
129
+ },
130
+ {
131
+ "difficulty": 1,
132
+ "slug": "roman-numerals",
133
+ "topics": []
134
+ },
135
+ {
136
+ "difficulty": 1,
137
+ "slug": "binary",
138
+ "topics": []
139
+ },
140
+ {
141
+ "difficulty": 1,
142
+ "slug": "raindrops",
143
+ "topics": []
144
+ },
145
+ {
146
+ "difficulty": 1,
147
+ "slug": "allergies",
148
+ "topics": []
149
+ },
150
+ {
151
+ "difficulty": 1,
152
+ "slug": "strain",
153
+ "topics": []
154
+ },
155
+ {
156
+ "difficulty": 1,
157
+ "slug": "flatten-array",
158
+ "topics": []
159
+ },
160
+ {
161
+ "difficulty": 1,
162
+ "slug": "atbash-cipher",
163
+ "topics": []
164
+ },
165
+ {
166
+ "difficulty": 1,
167
+ "slug": "hexadecimal",
168
+ "topics": []
169
+ },
170
+ {
171
+ "difficulty": 1,
172
+ "slug": "series",
173
+ "topics": []
174
+ },
175
+ {
176
+ "difficulty": 1,
177
+ "slug": "sieve",
178
+ "topics": []
179
+ },
180
+ {
181
+ "difficulty": 1,
182
+ "slug": "simple-cipher",
183
+ "topics": []
184
+ },
185
+ {
186
+ "difficulty": 1,
187
+ "slug": "luhn",
188
+ "topics": []
189
+ },
190
+ {
191
+ "difficulty": 1,
192
+ "slug": "pig-latin",
193
+ "topics": []
194
+ },
195
+ {
196
+ "difficulty": 1,
197
+ "slug": "linked-list",
198
+ "topics": []
199
+ },
200
+ {
201
+ "difficulty": 1,
202
+ "slug": "binary-search",
203
+ "topics": []
204
+ },
205
+ {
206
+ "difficulty": 1,
207
+ "slug": "nth-prime",
208
+ "topics": []
209
+ },
210
+ {
211
+ "difficulty": 1,
212
+ "slug": "bracket-push",
213
+ "topics": []
214
+ },
215
+ {
216
+ "difficulty": 1,
217
+ "slug": "pascals-triangle",
218
+ "topics": []
219
+ },
220
+ {
221
+ "difficulty": 1,
222
+ "slug": "change",
223
+ "topics": []
224
+ }
61
225
  ]
62
226
  }
@@ -3,38 +3,6 @@
3
3
  "language": "Lisp Flavoured Erlang (LFE)",
4
4
  "repository": "https://github.com/exercism/xlfe",
5
5
  "active": true,
6
- "problems": [
7
- "leap",
8
- "rna-transcription",
9
- "bob",
10
- "sum-of-multiples",
11
- "strain",
12
- "hamming",
13
- "space-age",
14
- "grains",
15
- "anagram",
16
- "nucleotide-count",
17
- "atbash-cipher",
18
- "phone-number",
19
- "robot-simulator",
20
- "grade-school",
21
- "binary",
22
- "word-count",
23
- "circular-buffer",
24
- "etl",
25
- "clock",
26
- "gigasecond",
27
- "beer-song",
28
- "difference-of-squares",
29
- "allergies",
30
- "bank-account",
31
- "luhn",
32
- "series",
33
- "trinary",
34
- "largest-series-product",
35
- "meetup",
36
- "parallel-letter-frequency"
37
- ],
38
6
  "deprecated": [
39
7
  "accumulate"
40
8
  ],
@@ -47,5 +15,157 @@
47
15
  ],
48
16
  "foregone": [
49
17
 
18
+ ],
19
+ "exercises": [
20
+ {
21
+ "difficulty": 1,
22
+ "slug": "leap",
23
+ "topics": []
24
+ },
25
+ {
26
+ "difficulty": 1,
27
+ "slug": "rna-transcription",
28
+ "topics": []
29
+ },
30
+ {
31
+ "difficulty": 1,
32
+ "slug": "bob",
33
+ "topics": []
34
+ },
35
+ {
36
+ "difficulty": 1,
37
+ "slug": "sum-of-multiples",
38
+ "topics": []
39
+ },
40
+ {
41
+ "difficulty": 1,
42
+ "slug": "strain",
43
+ "topics": []
44
+ },
45
+ {
46
+ "difficulty": 1,
47
+ "slug": "hamming",
48
+ "topics": []
49
+ },
50
+ {
51
+ "difficulty": 1,
52
+ "slug": "space-age",
53
+ "topics": []
54
+ },
55
+ {
56
+ "difficulty": 1,
57
+ "slug": "grains",
58
+ "topics": []
59
+ },
60
+ {
61
+ "difficulty": 1,
62
+ "slug": "anagram",
63
+ "topics": []
64
+ },
65
+ {
66
+ "difficulty": 1,
67
+ "slug": "nucleotide-count",
68
+ "topics": []
69
+ },
70
+ {
71
+ "difficulty": 1,
72
+ "slug": "atbash-cipher",
73
+ "topics": []
74
+ },
75
+ {
76
+ "difficulty": 1,
77
+ "slug": "phone-number",
78
+ "topics": []
79
+ },
80
+ {
81
+ "difficulty": 1,
82
+ "slug": "robot-simulator",
83
+ "topics": []
84
+ },
85
+ {
86
+ "difficulty": 1,
87
+ "slug": "grade-school",
88
+ "topics": []
89
+ },
90
+ {
91
+ "difficulty": 1,
92
+ "slug": "binary",
93
+ "topics": []
94
+ },
95
+ {
96
+ "difficulty": 1,
97
+ "slug": "word-count",
98
+ "topics": []
99
+ },
100
+ {
101
+ "difficulty": 1,
102
+ "slug": "circular-buffer",
103
+ "topics": []
104
+ },
105
+ {
106
+ "difficulty": 1,
107
+ "slug": "etl",
108
+ "topics": []
109
+ },
110
+ {
111
+ "difficulty": 1,
112
+ "slug": "clock",
113
+ "topics": []
114
+ },
115
+ {
116
+ "difficulty": 1,
117
+ "slug": "gigasecond",
118
+ "topics": []
119
+ },
120
+ {
121
+ "difficulty": 1,
122
+ "slug": "beer-song",
123
+ "topics": []
124
+ },
125
+ {
126
+ "difficulty": 1,
127
+ "slug": "difference-of-squares",
128
+ "topics": []
129
+ },
130
+ {
131
+ "difficulty": 1,
132
+ "slug": "allergies",
133
+ "topics": []
134
+ },
135
+ {
136
+ "difficulty": 1,
137
+ "slug": "bank-account",
138
+ "topics": []
139
+ },
140
+ {
141
+ "difficulty": 1,
142
+ "slug": "luhn",
143
+ "topics": []
144
+ },
145
+ {
146
+ "difficulty": 1,
147
+ "slug": "series",
148
+ "topics": []
149
+ },
150
+ {
151
+ "difficulty": 1,
152
+ "slug": "trinary",
153
+ "topics": []
154
+ },
155
+ {
156
+ "difficulty": 1,
157
+ "slug": "largest-series-product",
158
+ "topics": []
159
+ },
160
+ {
161
+ "difficulty": 1,
162
+ "slug": "meetup",
163
+ "topics": []
164
+ },
165
+ {
166
+ "difficulty": 1,
167
+ "slug": "parallel-letter-frequency",
168
+ "topics": []
169
+ }
50
170
  ]
51
171
  }
@@ -1,77 +1,39 @@
1
- Setup needed (only needs to be done once):
2
-
3
- ```bash
4
- $ cd /path/to/exercism/lfe
5
- $ rebar get-deps compile
6
- $ export ERL_LIBS=$(find deps -maxdepth 1 -mindepth 1 | tr '\n' ':')
7
- ```
8
-
9
- If you're not using Bash, change the last command to what is needed to set an
10
- environment variable in your shell, e.g. for [fish][2]:
11
-
12
- ```fish
13
- $ set -xU ERL_LIBS (find deps -maxdepth 1 -mindepth 1 | tr '\n' ':')
14
- ```
15
-
16
- [2]: http://fishshell.com
17
-
18
1
  For each example, the following general steps are required.
19
2
 
20
- First, compile the module and its tests.
3
+ First, change directory to the exercise you want to practice, in
4
+ this case `bob`.
21
5
 
22
6
  ```bash
23
- $ cd /path/to/exercism/lfe/<exercise>
7
+ $ cd </path/to/exercism>/lfe/bob
24
8
  ```
25
9
 
26
- ```bash
27
- $ mkdir -p ebin
28
- $ lfec -o ebin src/<module>.lfe test/<module>-tests.lfe
29
- ```
10
+ Next run the tests. The `test` make target depends on `compile`,
11
+ so running `make test` will ensure your source is compiled,
12
+ and then proceed to run the tests.
30
13
 
31
- or
32
-
33
- ```bash
34
- $ cd bob
35
- $ make compile
36
- ```
37
-
38
- Then run the tests.
39
-
40
- ```bash
41
- $ lfe -pa ebin -noshell -eval \
42
- "(eunit:test '<module>-tests '(verbose))" \
43
- -s init stop
44
- ```
45
-
46
- or
47
14
 
48
15
  ```bash
49
16
  $ make test
50
17
  ```
51
18
 
52
- NB The `test` make target depends on `compile`, so to compile
53
- and test, `make test` is all that's required.
19
+ Congratulations! You have failing tests!!!
54
20
 
21
+ Now read `README.md` to find out what you need to do to get all
22
+ your tests passing.
55
23
 
56
- Here's a specific example, using the "bob" exercise:
57
24
 
58
- ```bash
59
- $ cd bob
60
- $ mkdir -p ebin
61
- $ lfec -o ebin src/bob.lfe test/bob-tests.lfe
62
- $ lfe -pa ebin -noshell -eval \
63
- "(eunit:test 'bob-tests '(verbose))" \
64
- -s init stop
65
- ```
66
-
67
- Or, using `make`:
25
+ Fix the first error reported by the test, and run the tests again.
68
26
 
69
27
  ```bash
70
28
  $ make test
71
29
  ```
72
30
 
73
- Although in the wild, LFE dependencies are conventionally project-local,
74
- we've set up symbolic links in each exercise to `../deps`, meaning you only
75
- have to call `rebar get-deps compile` once in the lfe track directory
76
- and the resulting `deps` will be shared across all the exercises.
31
+ Continue by fixing the next failing test in your source code, and
32
+ running your test until you get all the test passing.
33
+
34
+ Once all your test pass, take a final look over your code in the `src`
35
+ directory to ensure you are happy with your code and submit for review.
36
+
37
+ Get feedback, revise solution, submit, try next exercise, and recurse
38
+ until LFE enlightenment is achieved.
77
39
 
@@ -0,0 +1,9 @@
1
+ Lua (pronounced __LOO-ah__, which means *Moon* in Portuguese) is a simple yet powerful, lightweight, fast, portable and embeddable scripting language. It is designed, implemented, and maintained by a [team](https://www.lua.org/authors.html) at [PUC-Rio](https://www.puc-rio.br/) and is housed at [LabLua](http://www.lua.inf.puc-rio.br/).
2
+
3
+ Lua supports procedural, object-oriented, functional, data-driven programming and data description. It combines simple procedural syntax with powerful data description constructs based on associative arrays and extensible semantics. Lua is dynamically typed, runs by interpreting bytecode with a register-based virtual machine and has automatic memory management with incremental garbage collection, making it ideal for configuration, scripting and rapid prototyping.
4
+
5
+ Lua has been used in [many industrial applications](https://sites.google.com/site/marbux/home/where-lua-is-used#8S4UcLlroV5fq8i3WSheIA) with an emphasis on embedded systems and games.
6
+
7
+ The home page for Lua is [Lua.org](https://www.lua.org/). You can [learn the language in 15 minutes](tylerneylon.com/a/learn-lua/). Enjoy!
8
+
9
+ (Taken from https://www.lua.org/about.html)
@@ -4,22 +4,6 @@
4
4
  "repository": "https://github.com/exercism/xmips",
5
5
  "active": true,
6
6
  "test_pattern": "runner.mips",
7
- "problems": [
8
- "binary",
9
- "octal",
10
- "trinary",
11
- "hexadecimal",
12
- "leap",
13
- "difference-of-squares",
14
- "hamming",
15
- "rna-transcription",
16
- "isogram",
17
- "triangle",
18
- "atbash-cipher",
19
- "scrabble-score",
20
- "raindrops",
21
- "nth-prime"
22
- ],
23
7
  "deprecated": [
24
8
 
25
9
  ],
@@ -29,5 +13,77 @@
29
13
  ],
30
14
  "foregone": [
31
15
 
16
+ ],
17
+ "exercises": [
18
+ {
19
+ "difficulty": 1,
20
+ "slug": "binary",
21
+ "topics": []
22
+ },
23
+ {
24
+ "difficulty": 1,
25
+ "slug": "octal",
26
+ "topics": []
27
+ },
28
+ {
29
+ "difficulty": 1,
30
+ "slug": "trinary",
31
+ "topics": []
32
+ },
33
+ {
34
+ "difficulty": 1,
35
+ "slug": "hexadecimal",
36
+ "topics": []
37
+ },
38
+ {
39
+ "difficulty": 1,
40
+ "slug": "leap",
41
+ "topics": []
42
+ },
43
+ {
44
+ "difficulty": 1,
45
+ "slug": "difference-of-squares",
46
+ "topics": []
47
+ },
48
+ {
49
+ "difficulty": 1,
50
+ "slug": "hamming",
51
+ "topics": []
52
+ },
53
+ {
54
+ "difficulty": 1,
55
+ "slug": "rna-transcription",
56
+ "topics": []
57
+ },
58
+ {
59
+ "difficulty": 1,
60
+ "slug": "isogram",
61
+ "topics": []
62
+ },
63
+ {
64
+ "difficulty": 1,
65
+ "slug": "triangle",
66
+ "topics": []
67
+ },
68
+ {
69
+ "difficulty": 1,
70
+ "slug": "atbash-cipher",
71
+ "topics": []
72
+ },
73
+ {
74
+ "difficulty": 1,
75
+ "slug": "scrabble-score",
76
+ "topics": []
77
+ },
78
+ {
79
+ "difficulty": 1,
80
+ "slug": "raindrops",
81
+ "topics": []
82
+ },
83
+ {
84
+ "difficulty": 1,
85
+ "slug": "nth-prime",
86
+ "topics": []
87
+ }
32
88
  ]
33
89
  }
@@ -24,6 +24,7 @@
24
24
  "bowling",
25
25
  "minesweeper",
26
26
  "prime-factors",
27
+ "etl",
27
28
  "hexadecimal",
28
29
  "luhn",
29
30
  "say",
@@ -131,6 +132,11 @@
131
132
  "difficulty": 1,
132
133
  "topics": []
133
134
  },
135
+ {
136
+ "slug": "etl",
137
+ "difficulty": 1,
138
+ "topics": []
139
+ },
134
140
  {
135
141
  "slug": "hexadecimal",
136
142
  "difficulty": 1,
@@ -0,0 +1,5 @@
1
+ PKG findlib
2
+ PKG core
3
+ PKG ounit
4
+ S *
5
+ B *