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
@@ -1,34 +1,48 @@
1
- Execute tests with:
1
+ ## Run All Tests
2
2
 
3
- ```bash
4
- $ prove bob.t
5
- ```
3
+ There is a Perl 5 script with the extension `.t`, which will be used to test
4
+ your solution. You can run through the tests by using the command:
5
+
6
+ `prove .`
6
7
 
7
- ## Creating Your First Perl5 Module
8
+ Before you start the exercise, the output will likely look something like:
8
9
 
9
- In order to have your solution work correctly with the test specification,
10
- you'll need to create a Perl module. To get started, create a file in the
11
- perl5 directory called "Bob.pm", with the following contents:
10
+ ```
11
+ ./hello-world.t .. 1/4
12
+ # Failed test 'Say Hi!'
13
+ # at ./hello-world.t line 33.
14
+ # got: undef
15
+ # expected: 'Hello, World!'
16
+ # Looks like you failed 1 test of 4.
17
+ ./hello-world.t .. Dubious, test returned 1 (wstat 256, 0x100)
18
+ Failed 1/4 subtests
19
+ (less 1 skipped subtest: 2 okay)
20
+
21
+ Test Summary Report
22
+ -------------------
23
+ ./hello-world.t (Wstat: 256 Tests: 4 Failed: 1)
24
+ Failed test: 3
25
+ Non-zero exit status: 1
26
+ Files=1, Tests=4, 0 wallclock secs ( 0.03 usr 0.00 sys + 0.08 cusr 0.01 csys = 0.12 CPU)
27
+ Result: FAIL
28
+ ```
29
+ You will either need to modify or create a module with the extension `.pm`, and
30
+ write a solution to pass the tests. Once the tests are passing, the output from
31
+ the command above will likely look something like:
12
32
 
13
- ```bash
14
- package Bob;
33
+ ```
34
+ ./hello-world.t .. ok
35
+ All tests successful.
36
+ Files=1, Tests=4, 1 wallclock secs ( 0.01 usr 0.00 sys + 0.49 cusr 0.06 csys = 0.56 CPU)
37
+ Result: PASS
38
+ ```
15
39
 
16
- use strict;
17
- use Exporter;
18
- use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
40
+ Some exercises may have optional tests. You can test for these by adding the
41
+ flag `-v` (for 'verbose') to the above command, like so:
19
42
 
20
- $VERSION = 1.00;
21
- @ISA = qw(Exporter);
22
- @EXPORT = ();
23
- @EXPORT_OK = qw(hey);
24
- %EXPORT_TAGS = ( DEFAULT => [qw(&hey)],
25
- );
43
+ `prove . -v`
26
44
 
27
- sub hey {
28
- #
29
- # Your Perl solution goes here
30
- #
31
- }
45
+ As well as showing optional tests, it will include all of the tests that your solution currently passes.
32
46
 
33
- 1;
34
- ````
47
+ You can find a more in-depth explanation of the `Test::More` module on
48
+ [perldoc](http://perldoc.perl.org/Test/More.html#I%27m-ok%2c-you%27re-not-ok.).
@@ -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
@@ -4,79 +4,106 @@
4
4
  "repository": "https://github.com/exercism/plsql",
5
5
  "active": true,
6
6
  "test_pattern": "ut.*plsql",
7
- "deprecated": [
8
-
9
- ],
10
7
  "foregone": [
11
8
 
12
9
  ],
13
10
  "exercises": [
14
11
  {
15
- "difficulty": 1,
12
+ "uuid": "b779f211-ecec-45cc-8641-e7cf87ff66ce",
16
13
  "slug": "hamming",
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": "6722fe30-30d2-4e99-87de-03b1a6eee0d6",
23
23
  "slug": "gigasecond",
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": "eec6c29b-fbbb-48d5-a0e9-4c902281390e",
30
33
  "slug": "rna-transcription",
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": "2eaf11fe-e56e-4512-b8af-8fb637582a5e",
37
43
  "slug": "raindrops",
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": "f630b17b-59c1-448b-8880-85bb0c72ba5a",
44
53
  "slug": "difference-of-squares",
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": "fc75b71e-e3e6-43b2-940b-65c06a6f9bc5",
51
63
  "slug": "roman-numerals",
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": "bede5fe0-43bf-4483-9fc3-7030df042515",
58
73
  "slug": "nth-prime",
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": "50e2a7c5-3f71-448d-b203-65b7c0e3d6d5",
65
83
  "slug": "leap",
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": "1d661c32-c75d-4c0b-bf88-ed0112bb1ab2",
72
93
  "slug": "grains",
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": "6277f225-5d28-45f1-b020-9b821150ecfe",
79
103
  "slug": "binary",
104
+ "core": false,
105
+ "unlocked_by": null,
106
+ "difficulty": 1,
80
107
  "topics": [
81
108
 
82
109
  ]
@@ -7,5 +7,5 @@ install:
7
7
 
8
8
  script:
9
9
  - bin/fetch-configlet
10
- - bin/configlet .
10
+ - bin/configlet lint .
11
11
  - bin/test-exercises
@@ -5,8 +5,8 @@ sudo apt-get install -y python-software-properties
5
5
  sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
6
6
  sudo apt-get update -q
7
7
  sudo apt-get install -y \
8
- wget git apt-transport-https g++-5 build-essential \
9
- zlib1g-dev libncurses5-dev libssl-dev llvm-3.8
8
+ wget git apt-transport-https clang-3.9 build-essential \
9
+ zlib1g-dev libncurses5-dev libssl-dev llvm-3.9
10
10
 
11
11
  # Install pcre2 (uncomment if regex package is ever used)
12
12
  # wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre2-10.21.tar.bz2
@@ -16,4 +16,5 @@ sudo apt-get install -y \
16
16
 
17
17
  # Insall ponyc
18
18
  git clone "https://github.com/ponylang/ponyc"
19
- cd ponyc && make && sudo make install && cd -
19
+ git checkout release
20
+ cd ponyc && make CC=clang-3.9 CXX=clang++-3.9 && sudo make install && cd -
@@ -8,5 +8,5 @@ before_script:
8
8
 
9
9
  script:
10
10
  - bin/fetch-configlet
11
- - bin/configlet .
11
+ - bin/configlet lint .
12
12
  - bin/build.sh
data/tracks/r/README.md CHANGED
@@ -30,7 +30,7 @@ If stuck or in doubt just ask! We try our best to be friendly and helpful, so do
30
30
  - [gitter dev](https://gitter.im/exercism/dev): technical questions.
31
31
 
32
32
  ### How to contribute
33
- As a first step we recommend you read the [contributing guide](https://github.com/exercism/x-common/blob/master/CONTRIBUTING.md).
33
+ As a first step we recommend you read the [contributing guide](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md).
34
34
 
35
35
  #### Reporting or fixing bugs
36
36
  Typical examples for a bug: A typo, a missing test case, an unclear or ambiguous problem description.
@@ -43,15 +43,15 @@ If you have a dedicated opinion you are welcome to [write a comment](https://hel
43
43
  Please be detailed and include motivations or relevant links to support your opinion.
44
44
 
45
45
  #### Porting exercises
46
- Here is the [list of missing exercises](http://exercism.io/languages/r/todo). See here for more information about [porting an exercise](https://github.com/exercism/x-common/blob/master/CONTRIBUTING.md#porting-an-exercise-to-another-language-track).
46
+ Here is the [list of missing exercises](http://exercism.io/languages/r/todo). See here for more information about [porting an exercise](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md#porting-an-exercise-to-another-language-track).
47
47
  Of course you can also add a totally new exercise, but it might be a good idea to first discuss it in one of [our forums](#asking-for-help).
48
48
 
49
49
  #### Updating an exercise test suite
50
- Updating the test suite of an existing exercise is a special case because it usually affects all languages. Read more about it [here](https://github.com/exercism/x-common/blob/master/CONTRIBUTING.md#updating-an-exercise-test-suite).
50
+ Updating the test suite of an existing exercise is a special case because it usually affects all languages. Read more about it [here](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md#updating-an-exercise-test-suite).
51
51
  Note that the test suite must run within a couple of seconds.
52
52
 
53
53
  ### Repository structure and conventions
54
- A general description of all the files and directories can be found [here](https://github.com/exercism/x-common/blob/master/CONTRIBUTING.md#track-anatomy).
54
+ A general description of all the files and directories can be found [here](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md#track-anatomy).
55
55
 
56
56
  #### Directory structure
57
57
  ```bash
@@ -99,7 +99,7 @@ Each exercise has the following structure:
99
99
  To report a bug you should [create an issue](https://help.github.com/articles/creating-an-issue/) [here](https://github.com/exercism/xr/issues).
100
100
 
101
101
  ### Writing a pull request
102
- To fix a bug you should [create a pull request from a fork](https://help.github.com/articles/creating-a-pull-request-from-a-fork/) [here](https://github.com/exercism/xr/pulls). See also [here](https://github.com/exercism/x-common/blob/master/CONTRIBUTING.md#git-basics) for more information.
102
+ To fix a bug you should [create a pull request from a fork](https://help.github.com/articles/creating-a-pull-request-from-a-fork/) [here](https://github.com/exercism/xr/pulls). See also [here](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md#git-basics) for more information.
103
103
 
104
104
  ### Development dependencies
105
105
  You'll need to have a recent version of [R](https://cran.r-project.org/) installed on your system, as well as the `testthat` package (run `install.packages('testthat')` from the R console to install) in order to run tests.
data/tracks/r/config.json CHANGED
@@ -4,184 +4,256 @@
4
4
  "repository": "https://github.com/exercism/r",
5
5
  "checklist_issue": 5,
6
6
  "active": false,
7
- "deprecated": [
8
-
9
- ],
10
7
  "foregone": [
11
8
 
12
9
  ],
13
10
  "exercises": [
14
11
  {
15
- "difficulty": 1,
12
+ "uuid": "285404a4-d8f8-469d-b183-920b08ba2430",
16
13
  "slug": "hello-world",
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": "4be11d9f-db6a-4edd-af35-7d33d2dc9c0f",
23
23
  "slug": "leap",
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": "da01ce65-8c7d-4646-ace4-c067d92f656b",
30
33
  "slug": "bob",
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": "dcc7171a-6b7d-4749-a300-a7270a095486",
37
43
  "slug": "hamming",
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": "12e17ede-ff59-45d1-8c66-b07b7ede5702",
44
53
  "slug": "rna-transcription",
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": "6a562684-5938-4ad9-b042-7b44a8cc4561",
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": "955604ef-266f-42c9-abde-ce0fdc2d33ad",
58
73
  "slug": "raindrops",
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": "fb1b7105-98f5-4f4f-8f5c-c410844cc4d3",
65
83
  "slug": "grains",
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": "105a3de5-3dea-4880-927a-6eed89a97a07",
72
93
  "slug": "anagram",
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": "b8b3a324-8d62-49d4-ba28-886883e5c549",
79
103
  "slug": "space-age",
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": "581b968c-f78f-4b60-9eb0-8c73eeeb96af",
86
113
  "slug": "sum-of-multiples",
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": "a7cbf043-504b-4fc8-b7fb-33a88ac7962d",
93
123
  "slug": "word-count",
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": "e5166378-e3fc-4393-b4f8-4c36da444c56",
100
133
  "slug": "phone-number",
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": "8bde91c5-2fe7-4f8d-91ec-ed05284b9a49",
107
143
  "slug": "rotational-cipher",
144
+ "core": false,
145
+ "unlocked_by": null,
146
+ "difficulty": 1,
108
147
  "topics": [
109
148
 
110
149
  ]
111
150
  },
112
151
  {
113
- "difficulty": 1,
152
+ "uuid": "c82dfe0c-77c9-4a3b-8110-962a9547ac64",
114
153
  "slug": "scrabble-score",
154
+ "core": false,
155
+ "unlocked_by": null,
156
+ "difficulty": 1,
115
157
  "topics": [
116
158
 
117
159
  ]
118
160
  },
119
161
  {
120
- "difficulty": 1,
162
+ "uuid": "4ea6d28b-f2bd-4785-ad9f-8eed6a9c67eb",
121
163
  "slug": "isogram",
164
+ "core": false,
165
+ "unlocked_by": null,
166
+ "difficulty": 1,
122
167
  "topics": [
123
168
 
124
169
  ]
125
170
  },
126
171
  {
127
- "difficulty": 1,
172
+ "uuid": "3fd2d6dd-6d4d-4b7f-9f1e-0de11899dcb5",
128
173
  "slug": "beer-song",
129
- "topics": [
130
-
174
+ "core": false,
175
+ "unlocked_by": null,
176
+ "difficulty": 1,
177
+ "topics": [
178
+
131
179
  ]
132
180
  },
133
181
  {
134
- "difficulty": 1,
182
+ "uuid": "cef7ba44-5b9a-4fc3-b853-9b598e743ba8",
135
183
  "slug": "perfect-numbers",
184
+ "core": false,
185
+ "unlocked_by": null,
186
+ "difficulty": 1,
136
187
  "topics": [
137
188
 
138
189
  ]
139
190
  },
140
191
  {
141
- "difficulty": 1,
192
+ "uuid": "ee849e23-d709-4e4a-ab89-07a87e13e4fb",
142
193
  "slug": "prime-factors",
194
+ "core": false,
195
+ "unlocked_by": null,
196
+ "difficulty": 1,
143
197
  "topics": [
144
198
 
145
199
  ]
146
200
  },
147
201
  {
148
- "difficulty": 1,
202
+ "uuid": "dabc8218-8ab8-4918-85d3-0afd5b6791c6",
149
203
  "slug": "sieve",
204
+ "core": false,
205
+ "unlocked_by": null,
206
+ "difficulty": 1,
150
207
  "topics": [
151
208
 
152
209
  ]
153
210
  },
154
211
  {
155
- "difficulty": 1,
212
+ "uuid": "a1b4bde3-2ee7-42dd-85c5-4303ae546d15",
156
213
  "slug": "largest-series-product",
214
+ "core": false,
215
+ "unlocked_by": null,
216
+ "difficulty": 1,
157
217
  "topics": [
158
218
 
159
219
  ]
160
220
  },
161
221
  {
162
- "difficulty": 1,
222
+ "uuid": "33157f48-a2d9-4fae-a9c8-5df547473f1a",
163
223
  "slug": "luhn",
224
+ "core": false,
225
+ "unlocked_by": null,
226
+ "difficulty": 1,
164
227
  "topics": [
165
228
 
166
229
  ]
167
230
  },
168
231
  {
169
- "difficulty": 1,
232
+ "uuid": "eacc30e1-d02c-4ccb-b1f7-3d4f16358726",
170
233
  "slug": "secret-handshake",
234
+ "core": false,
235
+ "unlocked_by": null,
236
+ "difficulty": 1,
171
237
  "topics": [
172
238
 
173
239
  ]
174
240
  },
175
241
  {
176
- "difficulty": 1,
242
+ "uuid": "f3e93545-7466-4635-b508-7e02517fdf06",
177
243
  "slug": "pascals-triangle",
244
+ "core": false,
245
+ "unlocked_by": null,
246
+ "difficulty": 1,
178
247
  "topics": [
179
248
 
180
249
  ]
181
250
  },
182
251
  {
183
- "difficulty": 1,
252
+ "uuid": "acf63670-7e56-47c1-9f33-7ec076d5270f",
184
253
  "slug": "tournament",
254
+ "core": false,
255
+ "unlocked_by": null,
256
+ "difficulty": 1,
185
257
  "topics": [
186
258
 
187
259
  ]
@@ -3,7 +3,7 @@ language: rust
3
3
  script:
4
4
  - "./_test/check-exercises.sh"
5
5
  - "./bin/fetch-configlet"
6
- - "./bin/configlet ."
6
+ - "./bin/configlet lint ."
7
7
  sudo: false
8
8
  rust:
9
9
  - stable