trackler 2.2.1.50 → 2.2.1.51

Sign up to get free protection for your applications and to get access to all the features.
Files changed (106) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/tracks/c/README.md +10 -0
  4. data/tracks/c/exercises/raindrops/src/example.c +16 -18
  5. data/tracks/c/exercises/raindrops/src/example.h +1 -1
  6. data/tracks/c/exercises/raindrops/test/test_raindrops.c +25 -54
  7. data/tracks/clojure/config.json +256 -382
  8. data/tracks/clojure/config/maintainers.json +19 -19
  9. data/tracks/coq/docs/SNIPPET.txt +12 -0
  10. data/tracks/csharp/config.json +677 -678
  11. data/tracks/csharp/config/maintainers.json +27 -27
  12. data/tracks/csharp/docs/GENERATORS.md +2 -0
  13. data/tracks/csharp/exercises/bowling/BowlingTest.cs +163 -87
  14. data/tracks/csharp/exercises/bowling/Example.cs +47 -8
  15. data/tracks/csharp/generators/Exercises/Bowling.cs +116 -0
  16. data/tracks/elisp/config.json +84 -126
  17. data/tracks/elisp/config/maintainers.json +7 -7
  18. data/tracks/elixir/config.json +397 -513
  19. data/tracks/elixir/config/maintainers.json +15 -15
  20. data/tracks/erlang/.gitmodules +3 -0
  21. data/tracks/erlang/.travis.yml +1 -0
  22. data/tracks/erlang/exercises/hello-world/test/hello_world_tests.erl +1 -1
  23. data/tracks/erlang/testgen/.gitignore +19 -0
  24. data/tracks/erlang/testgen/LICENSE +21 -0
  25. data/tracks/erlang/testgen/README.md +14 -0
  26. data/tracks/erlang/testgen/include/tgen.hrl +6 -0
  27. data/tracks/erlang/testgen/rebar.config +15 -0
  28. data/tracks/erlang/testgen/src/testgen.app.src +15 -0
  29. data/tracks/erlang/testgen/src/testgen.erl +41 -0
  30. data/tracks/erlang/testgen/src/tg_file_tools.erl +14 -0
  31. data/tracks/erlang/testgen/src/tg_git_tools.erl +20 -0
  32. data/tracks/erlang/testgen/src/tgen.erl +126 -0
  33. data/tracks/erlang/testgen/src/tgen_hello-world.erl +35 -0
  34. data/tracks/fsharp/config.json +643 -643
  35. data/tracks/fsharp/config/maintainers.json +15 -15
  36. data/tracks/groovy/config.json +97 -101
  37. data/tracks/groovy/config/maintainers.json +7 -7
  38. data/tracks/haxe/docs/INSTALLATION.md +2 -0
  39. data/tracks/haxe/docs/SNIPPET.txt +7 -0
  40. data/tracks/haxe/docs/TESTS.md +24 -0
  41. data/tracks/idris/config.json +35 -37
  42. data/tracks/idris/config/maintainers.json +7 -7
  43. data/tracks/java/config.json +122 -122
  44. data/tracks/javascript/exercises/palindrome-products/README.md +6 -6
  45. data/tracks/kotlin/config.json +264 -383
  46. data/tracks/kotlin/config/maintainers.json +15 -15
  47. data/tracks/lfe/config.json +126 -188
  48. data/tracks/lfe/config/maintainers.json +7 -7
  49. data/tracks/lua/exercises/etl/README.md +1 -1
  50. data/tracks/lua/exercises/ocr-numbers/README.md +1 -1
  51. data/tracks/lua/exercises/pascals-triangle/README.md +1 -1
  52. data/tracks/lua/exercises/pov/README.md +1 -1
  53. data/tracks/lua/exercises/react/react_spec.lua +1 -1
  54. data/tracks/lua/exercises/rna-transcription/README.md +1 -1
  55. data/tracks/objective-c/config.json +8 -8
  56. data/tracks/objective-c/config/maintainers.json +15 -15
  57. data/tracks/perl6/docs/EXERCISE_README_INSERT.md +9 -5
  58. data/tracks/perl6/exercises/accumulate/README.md +9 -5
  59. data/tracks/perl6/exercises/all-your-base/README.md +9 -5
  60. data/tracks/perl6/exercises/allergies/README.md +9 -5
  61. data/tracks/perl6/exercises/anagram/README.md +9 -5
  62. data/tracks/perl6/exercises/atbash-cipher/README.md +9 -5
  63. data/tracks/perl6/exercises/binary/README.md +9 -5
  64. data/tracks/perl6/exercises/bob/README.md +9 -5
  65. data/tracks/perl6/exercises/clock/README.md +9 -5
  66. data/tracks/perl6/exercises/flatten-array/README.md +9 -5
  67. data/tracks/perl6/exercises/grade-school/README.md +9 -5
  68. data/tracks/perl6/exercises/grains/README.md +9 -5
  69. data/tracks/perl6/exercises/hello-world/README.md +9 -5
  70. data/tracks/perl6/exercises/leap/README.md +9 -5
  71. data/tracks/perl6/exercises/linked-list/README.md +9 -5
  72. data/tracks/perl6/exercises/luhn/README.md +9 -5
  73. data/tracks/perl6/exercises/phone-number/README.md +9 -5
  74. data/tracks/perl6/exercises/raindrops/README.md +9 -5
  75. data/tracks/perl6/exercises/rna-transcription/README.md +10 -6
  76. data/tracks/perl6/exercises/robot-name/README.md +9 -5
  77. data/tracks/perl6/exercises/scrabble-score/README.md +9 -5
  78. data/tracks/perl6/exercises/space-age/README.md +10 -7
  79. data/tracks/perl6/exercises/trinary/README.md +9 -5
  80. data/tracks/perl6/exercises/word-count/README.md +9 -5
  81. data/tracks/perl6/exercises/wordy/README.md +9 -5
  82. data/tracks/r/config.json +136 -138
  83. data/tracks/r/config/maintainers.json +15 -15
  84. data/tracks/racket/config.json +105 -151
  85. data/tracks/racket/config/maintainers.json +15 -15
  86. data/tracks/rust/.travis.yml +1 -0
  87. data/tracks/rust/_test/count-ignores.sh +16 -0
  88. data/tracks/rust/exercises/all-your-base/tests/all-your-base.rs +36 -36
  89. data/tracks/rust/exercises/alphametics/tests/alphametics.rs +2 -2
  90. data/tracks/rust/exercises/bowling/tests/bowling.rs +14 -14
  91. data/tracks/rust/exercises/circular-buffer/tests/circular-buffer.rs +16 -16
  92. data/tracks/rust/exercises/hamming/tests/hamming.rs +5 -5
  93. data/tracks/rust/exercises/largest-series-product/tests/largest-series-product.rs +12 -12
  94. data/tracks/rust/exercises/nucleotide-count/tests/nucleotide-count.rs +4 -4
  95. data/tracks/rust/exercises/ocr-numbers/tests/ocr-numbers.rs +15 -15
  96. data/tracks/rust/exercises/pascals-triangle/tests/pascals-triangle.rs +1 -1
  97. data/tracks/rust/exercises/protein-translation/tests/proteins.rs +6 -6
  98. data/tracks/rust/exercises/react/tests/react.rs +11 -11
  99. data/tracks/rust/exercises/variable-length-quantity/tests/variable-length-quantity.rs +13 -15
  100. data/tracks/rust/exercises/wordy/tests/wordy.rs +14 -14
  101. data/tracks/swift/config.json +447 -449
  102. data/tracks/swift/config/maintainers.json +15 -15
  103. data/tracks/typescript/config.json +294 -295
  104. data/tracks/typescript/config/maintainers.json +11 -11
  105. data/tracks/vbnet/docs/SNIPPET.txt +5 -0
  106. metadata +21 -2
@@ -1,35 +1,35 @@
1
1
  {
2
+ "docs_url": "https://github.com/exercism/docs/blob/master/maintaining-a-track/maintainer-configuration.md",
2
3
  "maintainers": [
3
4
  {
4
- "github_username": "ErikSchierboom",
5
- "show_on_website": true,
6
5
  "alumnus": false,
7
- "name": "Erik Schierboom",
6
+ "avatar_url": null,
8
7
  "bio": null,
8
+ "github_username": "ErikSchierboom",
9
9
  "link_text": "My blog",
10
10
  "link_url": "http://www.erikschierboom.com/",
11
- "avatar_url": null
11
+ "name": "Erik Schierboom",
12
+ "show_on_website": true
12
13
  },
13
14
  {
14
- "github_username": "jwood803",
15
- "show_on_website": false,
16
15
  "alumnus": false,
17
- "name": null,
16
+ "avatar_url": null,
18
17
  "bio": null,
18
+ "github_username": "jwood803",
19
19
  "link_text": null,
20
20
  "link_url": null,
21
- "avatar_url": null
21
+ "name": null,
22
+ "show_on_website": false
22
23
  },
23
24
  {
24
- "github_username": "robkeim",
25
- "show_on_website": true,
26
25
  "alumnus": false,
27
- "name": "Rob Keim",
26
+ "avatar_url": null,
28
27
  "bio": "I stumbled upon this site when I was trying to learn about functional programming and F#. Little did I know, I'd wind up becoming a contributor and learning a whole lot more than what I originally intended to. I had never contributed to an open source project before, and it's been a very rewarding experience.",
28
+ "github_username": "robkeim",
29
29
  "link_text": null,
30
30
  "link_url": null,
31
- "avatar_url": null
31
+ "name": "Rob Keim",
32
+ "show_on_website": true
32
33
  }
33
- ],
34
- "docs_url": "https://github.com/exercism/docs/blob/master/maintaining-a-track/maintainer-configuration.md"
35
- }
34
+ ]
35
+ }
@@ -1,192 +1,188 @@
1
1
  {
2
- "language": "Groovy",
3
- "checklist_issue": 9,
4
2
  "active": false,
5
3
  "blurb": "Groovy is an unopinionated, multi-paradigm language that enhances Java with the intent to make your code less verbose, yet still allows you utilize the power of the JVM.",
6
- "test_pattern": "(Spec)[.]groovy",
7
- "foregone": [
8
-
9
- ],
4
+ "checklist_issue": 9,
10
5
  "exercises": [
11
6
  {
12
- "uuid": "30dff5e7-f2a4-4d7b-be1e-765091958a92",
13
- "slug": "hello-world",
14
7
  "core": false,
15
- "unlocked_by": null,
16
8
  "difficulty": 1,
17
- "topics": [
18
-
19
- ]
9
+ "slug": "hello-world",
10
+ "topics": null,
11
+ "unlocked_by": null,
12
+ "uuid": "30dff5e7-f2a4-4d7b-be1e-765091958a92"
20
13
  },
21
14
  {
22
- "uuid": "02bb7e44-2de1-4a14-a755-696b7cba5f4e",
23
- "slug": "hamming",
24
15
  "core": false,
25
- "unlocked_by": null,
26
16
  "difficulty": 2,
27
- "topics": [
17
+ "slug": "hamming",
18
+ "topics": [
28
19
  "strings"
29
- ]
20
+ ],
21
+ "unlocked_by": null,
22
+ "uuid": "02bb7e44-2de1-4a14-a755-696b7cba5f4e"
30
23
  },
31
24
  {
32
- "uuid": "9dc8a916-f7a5-4ef0-9341-c0db11553323",
33
- "slug": "gigasecond",
34
25
  "core": false,
35
- "unlocked_by": null,
36
26
  "difficulty": 4,
37
- "topics": [
27
+ "slug": "gigasecond",
28
+ "topics": [
38
29
  "dates"
39
- ]
30
+ ],
31
+ "unlocked_by": null,
32
+ "uuid": "9dc8a916-f7a5-4ef0-9341-c0db11553323"
40
33
  },
41
34
  {
42
- "uuid": "9beb0df7-d55c-47af-8fef-791439c9ab38",
43
- "slug": "raindrops",
44
35
  "core": false,
45
- "unlocked_by": null,
46
36
  "difficulty": 3,
47
- "topics": [
48
- "mathematics",
37
+ "slug": "raindrops",
38
+ "topics": [
39
+ "mathematics",
49
40
  "strings"
50
- ]
41
+ ],
42
+ "unlocked_by": null,
43
+ "uuid": "9beb0df7-d55c-47af-8fef-791439c9ab38"
51
44
  },
52
45
  {
53
- "uuid": "d7bc4ce7-c2fe-4564-b925-b0d67f7b748f",
54
- "slug": "rna-transcription",
55
46
  "core": false,
56
- "unlocked_by": null,
57
47
  "difficulty": 2,
58
- "topics": [
59
- "string manipulation"
60
- ]
48
+ "slug": "rna-transcription",
49
+ "topics": [
50
+ "string_manipulation"
51
+ ],
52
+ "unlocked_by": null,
53
+ "uuid": "d7bc4ce7-c2fe-4564-b925-b0d67f7b748f"
61
54
  },
62
55
  {
63
- "uuid": "16d2cb93-b903-4c37-9cd0-40096f0fb51c",
64
- "slug": "difference-of-squares",
65
56
  "core": false,
66
- "unlocked_by": null,
67
57
  "difficulty": 2,
68
- "topics": [
58
+ "slug": "difference-of-squares",
59
+ "topics": [
69
60
  "mathematics"
70
- ]
61
+ ],
62
+ "unlocked_by": null,
63
+ "uuid": "16d2cb93-b903-4c37-9cd0-40096f0fb51c"
71
64
  },
72
65
  {
73
- "uuid": "7427df2a-74bb-4593-8ca7-7d0287a6792e",
74
- "slug": "leap",
75
66
  "core": false,
76
- "unlocked_by": null,
77
67
  "difficulty": 1,
78
- "topics": [
79
- "logical operators"
80
- ]
68
+ "slug": "leap",
69
+ "topics": [
70
+ "logical_operators"
71
+ ],
72
+ "unlocked_by": null,
73
+ "uuid": "7427df2a-74bb-4593-8ca7-7d0287a6792e"
81
74
  },
82
75
  {
83
- "uuid": "3227f4a2-0ffc-1480-5018-4ef3479dbcffdcf3f2b",
84
- "slug": "two-fer",
85
76
  "core": true,
86
- "unlocked_by": null,
87
77
  "difficulty": 1,
78
+ "slug": "two-fer",
88
79
  "topics": [
89
- "strings",
90
- "control-flow (if-else statements)"
91
- ]
80
+ "control_flow_if_else_statements",
81
+ "strings"
82
+ ],
83
+ "unlocked_by": null,
84
+ "uuid": "3227f4a2-0ffc-1480-5018-4ef3479dbcffdcf3f2b"
92
85
  },
93
86
  {
94
- "uuid": "307f0a89-f185-41de-9ab7-f8d7ebfa3a2b",
95
- "slug": "nth-prime",
96
87
  "core": false,
97
- "unlocked_by": null,
98
88
  "difficulty": 4,
99
- "topics": [
89
+ "slug": "nth-prime",
90
+ "topics": [
100
91
  "mathematics"
101
- ]
92
+ ],
93
+ "unlocked_by": null,
94
+ "uuid": "307f0a89-f185-41de-9ab7-f8d7ebfa3a2b"
102
95
  },
103
96
  {
104
- "uuid": "ccfb87a5-51e3-4e7e-8e60-089a9d9b25d7",
105
- "slug": "robot-name",
106
97
  "core": false,
107
- "unlocked_by": null,
108
98
  "difficulty": 3,
109
- "topics": [
110
- "randomness"
111
- ]
99
+ "slug": "robot-name",
100
+ "topics": [
101
+ "randomness"
102
+ ],
103
+ "unlocked_by": null,
104
+ "uuid": "ccfb87a5-51e3-4e7e-8e60-089a9d9b25d7"
112
105
  },
113
106
  {
114
- "uuid": "915c4792-6949-4aef-826a-8fe5dbe2f59c",
115
- "slug": "roman-numerals",
116
107
  "core": false,
117
- "unlocked_by": null,
118
108
  "difficulty": 4,
109
+ "slug": "roman-numerals",
119
110
  "topics": [
120
111
  "metaprogramming",
121
- "string manipulation"
122
- ]
112
+ "string_manipulation"
113
+ ],
114
+ "unlocked_by": null,
115
+ "uuid": "915c4792-6949-4aef-826a-8fe5dbe2f59c"
123
116
  },
124
117
  {
125
- "uuid": "4dded3ef-b07b-4d3d-b8c4-29d35d5845a3",
126
- "slug": "grains",
127
118
  "core": false,
128
- "unlocked_by": null,
129
119
  "difficulty": 2,
120
+ "slug": "grains",
130
121
  "topics": [
131
122
  "mathematics"
132
- ]
123
+ ],
124
+ "unlocked_by": null,
125
+ "uuid": "4dded3ef-b07b-4d3d-b8c4-29d35d5845a3"
133
126
  },
134
127
  {
135
- "uuid": "70405bb0-e229-49c8-ad60-6b1722b3c21d",
136
- "slug": "word-count",
137
128
  "core": false,
138
- "unlocked_by": null,
139
129
  "difficulty": 3,
130
+ "slug": "word-count",
140
131
  "topics": [
141
- "strings",
142
- "regular expressions"
143
- ]
132
+ "regular_expressions",
133
+ "strings"
134
+ ],
135
+ "unlocked_by": null,
136
+ "uuid": "70405bb0-e229-49c8-ad60-6b1722b3c21d"
144
137
  },
145
138
  {
146
- "uuid": "5f929d26-1a63-47eb-8698-c5374da70b62",
147
- "slug": "phone-number",
148
139
  "core": false,
149
- "unlocked_by": null,
150
140
  "difficulty": 3,
141
+ "slug": "phone-number",
151
142
  "topics": [
152
- "strings",
153
- "string manipulation",
154
- "regular expressions"
155
- ]
143
+ "regular_expressions",
144
+ "string_manipulation",
145
+ "strings"
146
+ ],
147
+ "unlocked_by": null,
148
+ "uuid": "5f929d26-1a63-47eb-8698-c5374da70b62"
156
149
  },
157
150
  {
158
- "uuid": "1cbf382-0aa4-4e80-ea21-70bf38c1cb91546a3ea",
159
- "slug": "triangle",
160
151
  "core": false,
161
- "unlocked_by": null,
162
152
  "difficulty": 3,
153
+ "slug": "triangle",
163
154
  "topics": [
164
155
  "mathematics"
165
- ]
156
+ ],
157
+ "unlocked_by": null,
158
+ "uuid": "1cbf382-0aa4-4e80-ea21-70bf38c1cb91546a3ea"
166
159
  },
167
160
  {
168
- "uuid": "1d098fb3-0a27-5380-3849-73f2ca77ff2f84ca698",
169
- "slug": "scrabble-score",
170
161
  "core": false,
171
- "unlocked_by": null,
172
162
  "difficulty": 3,
163
+ "slug": "scrabble-score",
173
164
  "topics": [
174
- "strings",
175
- "mathematics"
176
- ]
165
+ "mathematics",
166
+ "strings"
167
+ ],
168
+ "unlocked_by": null,
169
+ "uuid": "1d098fb3-0a27-5380-3849-73f2ca77ff2f84ca698"
177
170
  },
178
171
  {
179
- "uuid": "a42fe79f-039a-be80-880c-1d691f7b84e85f59148",
180
- "slug": "binary-search",
181
172
  "core": false,
182
- "unlocked_by": null,
183
173
  "difficulty": 4,
174
+ "slug": "binary-search",
184
175
  "topics": [
176
+ "algorithms",
185
177
  "collections",
186
178
  "lists",
187
- "algorithms",
188
179
  "searching"
189
- ]
180
+ ],
181
+ "unlocked_by": null,
182
+ "uuid": "a42fe79f-039a-be80-880c-1d691f7b84e85f59148"
190
183
  }
191
- ]
192
- }
184
+ ],
185
+ "foregone": [],
186
+ "language": "Groovy",
187
+ "test_pattern": "(Spec)[.]groovy"
188
+ }
@@ -1,15 +1,15 @@
1
1
  {
2
+ "docs_url": "https://github.com/exercism/docs/blob/master/maintaining-a-track/maintainer-configuration.md",
2
3
  "maintainers": [
3
4
  {
4
- "github_username": "Dispader",
5
- "show_on_website": false,
6
5
  "alumnus": false,
7
- "name": null,
6
+ "avatar_url": null,
8
7
  "bio": null,
8
+ "github_username": "Dispader",
9
9
  "link_text": null,
10
10
  "link_url": null,
11
- "avatar_url": null
11
+ "name": null,
12
+ "show_on_website": false
12
13
  }
13
- ],
14
- "docs_url": "https://github.com/exercism/docs/blob/master/maintaining-a-track/maintainer-configuration.md"
15
- }
14
+ ]
15
+ }
@@ -0,0 +1,2 @@
1
+ To install Haxe on Windows, OS X, or Linux, see the official [installation
2
+ instructions](https://haxe.org/download/).
@@ -0,0 +1,7 @@
1
+ package;
2
+
3
+ class HelloWorld {
4
+ public static function hello(name : String) : String {
5
+ return "Hello, " + name + "!";
6
+ }
7
+ }
@@ -0,0 +1,24 @@
1
+ Each exercise has its own dependencies, usually including the unit testing
2
+ framework munit.
3
+
4
+ Dependencies are kept in a `test.hxml` file. To install all of the dependencies for
5
+ an exercise, run:
6
+
7
+ ```bash
8
+ haxelib install test.hxml
9
+ ```
10
+
11
+ If you haven't already, you may need to configure munit by running:
12
+
13
+ ```bash
14
+ haxelib run munit config
15
+ ```
16
+
17
+ You can press "enter" to accept the defaults.
18
+
19
+ Then, to run the tests:
20
+
21
+ ```bash
22
+ haxelib run munit test
23
+ ```
24
+
@@ -1,60 +1,58 @@
1
1
  {
2
- "language": "Idris",
3
2
  "active": false,
4
- "ignored": [
5
- "_src",
6
- "bin",
7
- "docs"
8
- ],
9
- "foregone": [
10
-
11
- ],
12
3
  "exercises": [
13
4
  {
14
- "uuid": "b4b0db87-75a2-4c81-897f-b27d1fd4a7d6",
15
- "slug": "hello-world",
16
5
  "core": false,
17
- "unlocked_by": null,
18
6
  "difficulty": 1,
7
+ "slug": "hello-world",
19
8
  "topics": [
20
- "optional values",
21
- "text formatting"
22
- ]
9
+ "optional_values",
10
+ "text_formatting"
11
+ ],
12
+ "unlocked_by": null,
13
+ "uuid": "b4b0db87-75a2-4c81-897f-b27d1fd4a7d6"
23
14
  },
24
15
  {
25
- "uuid": "2c7ab2e7-d87a-41ee-a81e-7572d7872562",
26
- "slug": "leap",
27
16
  "core": false,
28
- "unlocked_by": null,
29
17
  "difficulty": 1,
18
+ "slug": "leap",
30
19
  "topics": [
31
- "Integers",
32
- "Booleans",
33
- "Arithmetic"
34
- ]
20
+ "arithmetic",
21
+ "booleans",
22
+ "integers"
23
+ ],
24
+ "unlocked_by": null,
25
+ "uuid": "2c7ab2e7-d87a-41ee-a81e-7572d7872562"
35
26
  },
36
27
  {
37
- "uuid": "7a1d481f-7f45-4646-81bc-7ca3c8cb5eb0",
38
- "slug": "hamming",
39
28
  "core": false,
40
- "unlocked_by": null,
41
29
  "difficulty": 2,
30
+ "slug": "hamming",
42
31
  "topics": [
43
- "Export Modifiers",
44
- "Vectors"
45
- ]
32
+ "export_modifiers",
33
+ "vectors"
34
+ ],
35
+ "unlocked_by": null,
36
+ "uuid": "7a1d481f-7f45-4646-81bc-7ca3c8cb5eb0"
46
37
  },
47
38
  {
48
- "uuid": "612f5f98-09a6-9d80-5820-edeec5ce1e1544073ed",
49
- "slug": "accumulate",
50
39
  "core": false,
51
- "unlocked_by": null,
52
40
  "difficulty": 1,
41
+ "slug": "accumulate",
53
42
  "topics": [
54
- "Functions",
55
- "Lists",
56
- "Map"
57
- ]
43
+ "functions",
44
+ "lists",
45
+ "map"
46
+ ],
47
+ "unlocked_by": null,
48
+ "uuid": "612f5f98-09a6-9d80-5820-edeec5ce1e1544073ed"
58
49
  }
59
- ]
60
- }
50
+ ],
51
+ "foregone": [],
52
+ "ignored": [
53
+ "_src",
54
+ "bin",
55
+ "docs"
56
+ ],
57
+ "language": "Idris"
58
+ }