trackler 2.2.1.102 → 2.2.1.103

Sign up to get free protection for your applications and to get access to all the features.
Files changed (114) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/problem-specifications/exercises/two-fer/metadata.yml +0 -1
  4. data/tracks/c/exercises/bob/.meta/description.md +10 -0
  5. data/tracks/cfml/exercises/acronym/.meta/{HINTS.md → hints.md} +0 -0
  6. data/tracks/cfml/exercises/anagram/.meta/{HINTS.md → hints.md} +0 -0
  7. data/tracks/cfml/exercises/atbash-cipher/.meta/{HINTS.md → hints.md} +0 -0
  8. data/tracks/cfml/exercises/bob/.meta/description.md +10 -0
  9. data/tracks/cfml/exercises/bob/.meta/{HINTS.md → hints.md} +0 -0
  10. data/tracks/cfml/exercises/diamond/.meta/{HINTS.md → hints.md} +0 -0
  11. data/tracks/cfml/exercises/difference-of-squares/.meta/{HINTS.md → hints.md} +0 -0
  12. data/tracks/cfml/exercises/flatten-array/.meta/{HINTS.md → hints.md} +0 -0
  13. data/tracks/cfml/exercises/gigasecond/.meta/{HINTS.md → hints.md} +0 -0
  14. data/tracks/cfml/exercises/grains/.meta/{HINTS.md → hints.md} +0 -0
  15. data/tracks/cfml/exercises/hamming/.meta/{HINTS.md → hints.md} +0 -0
  16. data/tracks/cfml/exercises/isogram/.meta/{HINTS.md → hints.md} +0 -0
  17. data/tracks/cfml/exercises/largest-series-product/.meta/{HINTS.md → hints.md} +0 -0
  18. data/tracks/cfml/exercises/luhn/.meta/{HINTS.md → hints.md} +0 -0
  19. data/tracks/cfml/exercises/markdown/.meta/{HINTS.md → hints.md} +0 -0
  20. data/tracks/cfml/exercises/nth-prime/.meta/{HINTS.md → hints.md} +0 -0
  21. data/tracks/cfml/exercises/pangram/.meta/{HINTS.md → hints.md} +0 -0
  22. data/tracks/cfml/exercises/pig-latin/.meta/{HINTS.md → hints.md} +0 -0
  23. data/tracks/cfml/exercises/raindrops/.meta/{HINTS.md → hints.md} +0 -0
  24. data/tracks/cfml/exercises/rna-transcription/.meta/{HINTS.md → hints.md} +0 -0
  25. data/tracks/cfml/exercises/saddle-points/.meta/{HINTS.md → hints.md} +0 -0
  26. data/tracks/cfml/exercises/scrabble-score/.meta/{HINTS.md → hints.md} +0 -0
  27. data/tracks/cfml/exercises/secret-handshake/.meta/{HINTS.md → hints.md} +0 -0
  28. data/tracks/cfml/exercises/space-age/.meta/{HINTS.md → hints.md} +0 -0
  29. data/tracks/cfml/exercises/sum-of-multiples/.meta/{HINTS.md → hints.md} +0 -0
  30. data/tracks/cfml/exercises/triangle/.meta/{HINTS.md → hints.md} +0 -0
  31. data/tracks/cfml/exercises/word-count/.meta/{HINTS.md → hints.md} +0 -0
  32. data/tracks/coffeescript/exercises/bob/.meta/description.md +10 -0
  33. data/tracks/common-lisp/exercises/bob/.meta/description.md +10 -0
  34. data/tracks/cpp/exercises/bob/.meta/description.md +10 -0
  35. data/tracks/crystal/exercises/triangle/README.md +52 -0
  36. data/tracks/csharp/exercises/complex-numbers/README.md +44 -0
  37. data/tracks/d/exercises/bob/.meta/description.md +10 -0
  38. data/tracks/dart/exercises/bob/.meta/description.md +10 -0
  39. data/tracks/dart/exercises/bob/README.md +0 -1
  40. data/tracks/ecmascript/exercises/bob/.meta/description.md +10 -0
  41. data/tracks/ecmascript/exercises/bob/README.md +1 -1
  42. data/tracks/elisp/config/exercise_readme.go.tmpl +0 -3
  43. data/tracks/elm/exercises/bob/.meta/description.md +10 -0
  44. data/tracks/elm/exercises/collatz-conjecture/README.md +63 -0
  45. data/tracks/erlang/exercises/bob/.meta/description.md +10 -0
  46. data/tracks/erlang/exercises/complex-numbers/{HINTS.md → .meta/hints.md} +0 -0
  47. data/tracks/erlang/exercises/robot-simulator/{HINTS.md → .meta/hints.md} +0 -0
  48. data/tracks/fortran/config/exercise_readme.go.tmpl +0 -3
  49. data/tracks/fsharp/exercises/clock/ClockTest.fs +9 -9
  50. data/tracks/fsharp/exercises/kindergarten-garden/KindergartenGardenTest.fs +1 -1
  51. data/tracks/fsharp/exercises/ocr-numbers/OcrNumbersTest.fs +35 -35
  52. data/tracks/fsharp/exercises/palindrome-products/PalindromeProductsTest.fs +1 -1
  53. data/tracks/fsharp/exercises/poker/PokerTest.fs +57 -57
  54. data/tracks/fsharp/exercises/prime-factors/PrimeFactorsTest.fs +1 -1
  55. data/tracks/fsharp/exercises/protein-translation/ProteinTranslationTest.fs +1 -1
  56. data/tracks/fsharp/exercises/proverb/ProverbTest.fs +13 -13
  57. data/tracks/fsharp/exercises/queen-attack/QueenAttackTest.fs +1 -1
  58. data/tracks/fsharp/exercises/rail-fence-cipher/RailFenceCipherTest.fs +1 -1
  59. data/tracks/fsharp/exercises/raindrops/RaindropsTest.fs +1 -1
  60. data/tracks/fsharp/exercises/rectangles/RectanglesTest.fs +70 -70
  61. data/tracks/fsharp/exercises/reverse-string/ReverseStringTest.fs +1 -1
  62. data/tracks/fsharp/exercises/robot-simulator/RobotSimulatorTest.fs +1 -1
  63. data/tracks/fsharp/exercises/roman-numerals/RomanNumeralsTest.fs +5 -1
  64. data/tracks/fsharp/exercises/run-length-encoding/RunLengthEncodingTest.fs +1 -1
  65. data/tracks/fsharp/exercises/word-count/Example.fs +1 -1
  66. data/tracks/fsharp/exercises/word-count/WordCount.fs +1 -1
  67. data/tracks/fsharp/exercises/word-count/WordCountTest.fs +12 -12
  68. data/tracks/fsharp/generators/Generators.fs +26 -40
  69. data/tracks/gnu-apl/config/exercise_readme.go.tmpl +0 -3
  70. data/tracks/go/exercises/armstrong-numbers/README.md +36 -0
  71. data/tracks/go/exercises/two-bucket/.meta/hints.md +23 -3
  72. data/tracks/go/exercises/two-bucket/README.md +23 -3
  73. data/tracks/go/exercises/two-bucket/bonus_test.go +22 -0
  74. data/tracks/go/exercises/two-bucket/example.go +9 -5
  75. data/tracks/go/exercises/two-bucket/two_bucket_test.go +31 -27
  76. data/tracks/haxe/config/exercise_readme.go.tmpl +0 -3
  77. data/tracks/haxe/exercises/leap/README.md +33 -0
  78. data/tracks/java/exercises/parallel-letter-frequency/.meta/{HINTS.md → hints.md} +0 -0
  79. data/tracks/java/exercises/protein-translation/README.md +2 -2
  80. data/tracks/lfe/exercises/bob/.meta/description.md +10 -0
  81. data/tracks/nim/config/exercise_readme.go.tmpl +0 -3
  82. data/tracks/objective-c/exercises/collatz-conjecture/README.md +50 -0
  83. data/tracks/objective-c/exercises/grains/README.md +50 -0
  84. data/tracks/objective-c/exercises/nth-prime/README.md +32 -0
  85. data/tracks/objective-c/exercises/say/README.md +86 -0
  86. data/tracks/objective-c/exercises/two-fer/README.md +36 -0
  87. data/tracks/php/exercises/collatz-conjecture/README.md +48 -0
  88. data/tracks/php/exercises/crypto-square/README.md +91 -0
  89. data/tracks/php/exercises/flatten-array/README.md +32 -0
  90. data/tracks/php/exercises/transpose/README.md +80 -0
  91. data/tracks/plsql/exercises/hello-world/README.md +41 -0
  92. data/tracks/powershell/config/exercise_readme.go.tmpl +0 -3
  93. data/tracks/prolog/config/exercise_readme.go.tmpl +0 -3
  94. data/tracks/python/exercises/bowling/README.md +92 -0
  95. data/tracks/r/config.json +12 -1
  96. data/tracks/r/exercises/bob/.meta/description.md +10 -0
  97. data/tracks/r/exercises/diamond/README.md +69 -0
  98. data/tracks/r/exercises/diamond/diamond.R +3 -0
  99. data/tracks/r/exercises/diamond/example.R +15 -0
  100. data/tracks/r/exercises/diamond/test_diamond.R +90 -0
  101. data/tracks/scala/exercises/bob/.meta/description.md +10 -0
  102. data/tracks/sml/exercises/bob/.meta/description.md +10 -0
  103. data/tracks/swift/exercises/rotational-cipher/README.md +45 -0
  104. data/tracks/typescript/exercises/bob/.meta/description.md +10 -0
  105. data/tracks/vbnet/exercises/bob/.meta/description.md +10 -0
  106. data/tracks/vimscript/exercises/bob/.meta/description.md +10 -0
  107. metadata +70 -38
  108. data/tracks/elisp/docs/EXERCISE_README_INSERT.md +0 -0
  109. data/tracks/fortran/docs/EXERCISE_README_INSERT.md +0 -0
  110. data/tracks/gnu-apl/config/exercise-readme-insert.md +0 -0
  111. data/tracks/haxe/docs/EXERCISE_README_INSERT.md +0 -0
  112. data/tracks/nim/docs/EXERCISE_README_INSERT.md +0 -0
  113. data/tracks/powershell/docs/EXERCISE_README_INSERT.md +0 -0
  114. data/tracks/prolog/docs/EXERCISE_README_INSERT.md +0 -0
@@ -322,8 +322,19 @@
322
322
  ],
323
323
  "unlocked_by": "sum-of-multiples",
324
324
  "uuid": "2f7b585f-f82f-4dca-9588-2df3250184e6"
325
+ },
326
+ {
327
+ "uuid": "7cad82d6-0db6-d680-4133-81d850d6e7a925454a0",
328
+ "slug": "diamond",
329
+ "core": false,
330
+ "unlocked_by": "pascals-triangle",
331
+ "difficulty": 3,
332
+ "topics": [
333
+ "text-formatting",
334
+ "control-flow-(loops)"
335
+ ]
325
336
  }
326
337
  ],
327
338
  "foregone": [],
328
339
  "language": "R"
329
- }
340
+ }
@@ -0,0 +1,10 @@
1
+ Bob is a lackadaisical teenager. In conversation, his responses are very limited.
2
+
3
+ Bob answers 'Sure.' if you ask him a question.
4
+
5
+ He answers 'Whoa, chill out!' if you yell at him.
6
+
7
+ He says 'Fine. Be that way!' if you address him without actually saying
8
+ anything.
9
+
10
+ He answers 'Whatever.' to anything else.
@@ -0,0 +1,69 @@
1
+ # Diamond
2
+
3
+ The diamond kata takes as its input a letter, and outputs it in a diamond
4
+ shape. Given a letter, it prints a diamond starting with 'A', with the
5
+ supplied letter at the widest point.
6
+
7
+ ## Requirements
8
+
9
+ * The first row contains one 'A'.
10
+ * The last row contains one 'A'.
11
+ * All rows, except the first and last, have exactly two identical letters.
12
+ * All rows have as many trailing spaces as leading spaces. (This might be 0).
13
+ * The diamond is horizontally symmetric.
14
+ * The diamond is vertically symmetric.
15
+ * The diamond has a square shape (width equals height).
16
+ * The letters form a diamond shape.
17
+ * The top half has the letters in ascending order.
18
+ * The bottom half has the letters in descending order.
19
+ * The four corners (containing the spaces) are triangles.
20
+
21
+ ## Examples
22
+
23
+ In the following examples, spaces are indicated by `·` characters.
24
+
25
+ Diamond for letter 'A':
26
+
27
+ ```plain
28
+ A
29
+ ```
30
+
31
+ Diamond for letter 'C':
32
+
33
+ ```plain
34
+ ··A··
35
+ ·B·B·
36
+ C···C
37
+ ·B·B·
38
+ ··A··
39
+ ```
40
+
41
+ Diamond for letter 'E':
42
+
43
+ ```plain
44
+ ····A····
45
+ ···B·B···
46
+ ··C···C··
47
+ ·D·····D·
48
+ E·······E
49
+ ·D·····D·
50
+ ··C···C··
51
+ ···B·B···
52
+ ····A····
53
+ ```
54
+
55
+ ## Installation
56
+ See [this guide](https://github.com/exercism/xr/blob/master/docs/INSTALLATION.md) for instructions on how to setup your local R environment.
57
+
58
+ ## How to implement your solution
59
+ In each problem folder, there is a file named `<exercise_name>.R` containing a function that returns a `NULL` value. Place your implementation inside the body of the function.
60
+
61
+ ## How to run tests
62
+ Inside of RStudio, simply execute the `test_<exercise_name>.R` script. This can be conveniently done with [testthat's `auto_test` function](https://www.rdocumentation.org/packages/testthat/topics/auto_test). Because exercism code and tests are in the same folder, use this same path for both `code_path` and `test_path` parameters. On the command-line, you can also run `Rscript test_<exercise_name>.R`.
63
+
64
+ ## Source
65
+
66
+ Seb Rose [http://claysnow.co.uk/recycling-tests-in-tdd/](http://claysnow.co.uk/recycling-tests-in-tdd/)
67
+
68
+ ## Submitting Incomplete Solutions
69
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,3 @@
1
+ diamond <- function(letter) {
2
+
3
+ }
@@ -0,0 +1,15 @@
1
+ diamond <- function(letter) {
2
+
3
+ nrows <- which(LETTERS == letter)
4
+
5
+ row_x <- function(x) {
6
+ row <- rep(" ", nrows * 2 - 1)
7
+ row[nrows - (x - 1)] <- LETTERS[x]
8
+ row[nrows + (x - 1)] <- LETTERS[x]
9
+ paste(row, collapse = "")
10
+ }
11
+
12
+ top <- lapply(seq(nrows), row_x)
13
+ paste(c(top, rev(top)[-1]), collapse = "\n")
14
+
15
+ }
@@ -0,0 +1,90 @@
1
+ source("./diamond.R")
2
+ library(testthat)
3
+
4
+ test_that("Degenerate case with a single 'A' row", {
5
+ expect_equal(diamond("A"), "A")
6
+ })
7
+
8
+ test_that("Degenerate case with no row having 3 distinct groups of spaces", {
9
+ expect_equal(diamond("B"), paste(sep = "\n",
10
+ " A ",
11
+ "B B",
12
+ " A "))
13
+ })
14
+
15
+ test_that("Smallest non-degenerate case with odd diamond side length", {
16
+ expect_equal(diamond("C"), paste(sep = "\n",
17
+ " A ",
18
+ " B B ",
19
+ "C C",
20
+ " B B ",
21
+ " A "))
22
+ })
23
+
24
+ test_that("Smallest non-degenerate case with even diamond side length", {
25
+ expect_equal(diamond("D"), paste(sep = "\n",
26
+ " A ",
27
+ " B B ",
28
+ " C C ",
29
+ "D D",
30
+ " C C ",
31
+ " B B ",
32
+ " A "))
33
+ })
34
+
35
+ test_that("Largest possible diamond", {
36
+ expect_equal(diamond("Z"), paste(sep = "\n",
37
+ " A ",
38
+ " B B ",
39
+ " C C ",
40
+ " D D ",
41
+ " E E ",
42
+ " F F ",
43
+ " G G ",
44
+ " H H ",
45
+ " I I ",
46
+ " J J ",
47
+ " K K ",
48
+ " L L ",
49
+ " M M ",
50
+ " N N ",
51
+ " O O ",
52
+ " P P ",
53
+ " Q Q ",
54
+ " R R ",
55
+ " S S ",
56
+ " T T ",
57
+ " U U ",
58
+ " V V ",
59
+ " W W ",
60
+ " X X ",
61
+ " Y Y ",
62
+ "Z Z",
63
+ " Y Y ",
64
+ " X X ",
65
+ " W W ",
66
+ " V V ",
67
+ " U U ",
68
+ " T T ",
69
+ " S S ",
70
+ " R R ",
71
+ " Q Q ",
72
+ " P P ",
73
+ " O O ",
74
+ " N N ",
75
+ " M M ",
76
+ " L L ",
77
+ " K K ",
78
+ " J J ",
79
+ " I I ",
80
+ " H H ",
81
+ " G G ",
82
+ " F F ",
83
+ " E E ",
84
+ " D D ",
85
+ " C C ",
86
+ " B B ",
87
+ " A "))
88
+ })
89
+
90
+ message("All tests passed for exercise: diamonds")
@@ -0,0 +1,10 @@
1
+ Bob is a lackadaisical teenager. In conversation, his responses are very limited.
2
+
3
+ Bob answers 'Sure.' if you ask him a question.
4
+
5
+ He answers 'Whoa, chill out!' if you yell at him.
6
+
7
+ He says 'Fine. Be that way!' if you address him without actually saying
8
+ anything.
9
+
10
+ He answers 'Whatever.' to anything else.
@@ -0,0 +1,10 @@
1
+ Bob is a lackadaisical teenager. In conversation, his responses are very limited.
2
+
3
+ Bob answers 'Sure.' if you ask him a question.
4
+
5
+ He answers 'Whoa, chill out!' if you yell at him.
6
+
7
+ He says 'Fine. Be that way!' if you address him without actually saying
8
+ anything.
9
+
10
+ He answers 'Whatever.' to anything else.
@@ -0,0 +1,45 @@
1
+ # Rotational Cipher
2
+
3
+ Create an implementation of the rotational cipher, also sometimes called the Caesar cipher.
4
+
5
+ The Caesar cipher is a simple shift cipher that relies on
6
+ transposing all the letters in the alphabet using an integer key
7
+ between `0` and `26`. Using a key of `0` or `26` will always yield
8
+ the same output due to modular arithmetic. The letter is shifted
9
+ for as many values as the value of the key.
10
+
11
+ The general notation for rotational ciphers is `ROT + <key>`.
12
+ The most commonly used rotational cipher is `ROT13`.
13
+
14
+ A `ROT13` on the Latin alphabet would be as follows:
15
+
16
+ ```text
17
+ Plain: abcdefghijklmnopqrstuvwxyz
18
+ Cipher: nopqrstuvwxyzabcdefghijklm
19
+ ```
20
+
21
+ It is stronger than the Atbash cipher because it has 27 possible keys, and 25 usable keys.
22
+
23
+ Ciphertext is written out in the same formatting as the input including spaces and punctuation.
24
+
25
+ ## Examples
26
+
27
+ - ROT5 `omg` gives `trl`
28
+ - ROT0 `c` gives `c`
29
+ - ROT26 `Cool` gives `Cool`
30
+ - ROT13 `The quick brown fox jumps over the lazy dog.` gives `Gur dhvpx oebja sbk whzcf bire gur ynml qbt.`
31
+ - ROT13 `Gur dhvpx oebja sbk whzcf bire gur ynml qbt.` gives `The quick brown fox jumps over the lazy dog.`
32
+
33
+ ## Setup
34
+
35
+ Go through the project setup instructions for Xcode using Swift:
36
+
37
+ http://exercism.io/languages/swift
38
+
39
+
40
+ ## Source
41
+
42
+ Wikipedia [https://en.wikipedia.org/wiki/Caesar_cipher](https://en.wikipedia.org/wiki/Caesar_cipher)
43
+
44
+ ## Submitting Incomplete Solutions
45
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,10 @@
1
+ Bob is a lackadaisical teenager. In conversation, his responses are very limited.
2
+
3
+ Bob answers 'Sure.' if you ask him a question.
4
+
5
+ He answers 'Whoa, chill out!' if you yell at him.
6
+
7
+ He says 'Fine. Be that way!' if you address him without actually saying
8
+ anything.
9
+
10
+ He answers 'Whatever.' to anything else.
@@ -0,0 +1,10 @@
1
+ Bob is a lackadaisical teenager. In conversation, his responses are very limited.
2
+
3
+ Bob answers 'Sure.' if you ask him a question.
4
+
5
+ He answers 'Whoa, chill out!' if you yell at him.
6
+
7
+ He says 'Fine. Be that way!' if you address him without actually saying
8
+ anything.
9
+
10
+ He answers 'Whatever.' to anything else.
@@ -0,0 +1,10 @@
1
+ Bob is a lackadaisical teenager. In conversation, his responses are very limited.
2
+
3
+ Bob answers 'Sure.' if you ask him a question.
4
+
5
+ He answers 'Whoa, chill out!' if you yell at him.
6
+
7
+ He says 'Fine. Be that way!' if you address him without actually saying
8
+ anything.
9
+
10
+ He answers 'Whatever.' to anything else.
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trackler
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.1.102
4
+ version: 2.2.1.103
5
5
  platform: ruby
6
6
  authors:
7
7
  - Katrina Owen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-02-03 00:00:00.000000000 Z
11
+ date: 2018-02-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubyzip
@@ -780,6 +780,7 @@ files:
780
780
  - tracks/c/exercises/binary/test/vendor/unity.c
781
781
  - tracks/c/exercises/binary/test/vendor/unity.h
782
782
  - tracks/c/exercises/binary/test/vendor/unity_internals.h
783
+ - tracks/c/exercises/bob/.meta/description.md
783
784
  - tracks/c/exercises/bob/README.md
784
785
  - tracks/c/exercises/bob/makefile
785
786
  - tracks/c/exercises/bob/src/example.c
@@ -1142,7 +1143,7 @@ files:
1142
1143
  - tracks/cfml/docs/RESOURCES.md
1143
1144
  - tracks/cfml/docs/SNIPPET.txt
1144
1145
  - tracks/cfml/docs/TESTS.md
1145
- - tracks/cfml/exercises/acronym/.meta/HINTS.md
1146
+ - tracks/cfml/exercises/acronym/.meta/hints.md
1146
1147
  - tracks/cfml/exercises/acronym/Acronym.cfc
1147
1148
  - tracks/cfml/exercises/acronym/AcronymTest.cfc
1148
1149
  - tracks/cfml/exercises/acronym/README.md
@@ -1151,7 +1152,7 @@ files:
1151
1152
  - tracks/cfml/exercises/acronym/TestRunner.cfc
1152
1153
  - tracks/cfml/exercises/acronym/box.json
1153
1154
  - tracks/cfml/exercises/acronym/index.cfm
1154
- - tracks/cfml/exercises/anagram/.meta/HINTS.md
1155
+ - tracks/cfml/exercises/anagram/.meta/hints.md
1155
1156
  - tracks/cfml/exercises/anagram/Anagram.cfc
1156
1157
  - tracks/cfml/exercises/anagram/AnagramTest.cfc
1157
1158
  - tracks/cfml/exercises/anagram/README.md
@@ -1160,7 +1161,7 @@ files:
1160
1161
  - tracks/cfml/exercises/anagram/TestRunner.cfc
1161
1162
  - tracks/cfml/exercises/anagram/box.json
1162
1163
  - tracks/cfml/exercises/anagram/index.cfm
1163
- - tracks/cfml/exercises/atbash-cipher/.meta/HINTS.md
1164
+ - tracks/cfml/exercises/atbash-cipher/.meta/hints.md
1164
1165
  - tracks/cfml/exercises/atbash-cipher/AtbashCipher.cfc
1165
1166
  - tracks/cfml/exercises/atbash-cipher/AtbashCipherTest.cfc
1166
1167
  - tracks/cfml/exercises/atbash-cipher/README.md
@@ -1169,7 +1170,8 @@ files:
1169
1170
  - tracks/cfml/exercises/atbash-cipher/TestRunner.cfc
1170
1171
  - tracks/cfml/exercises/atbash-cipher/box.json
1171
1172
  - tracks/cfml/exercises/atbash-cipher/index.cfm
1172
- - tracks/cfml/exercises/bob/.meta/HINTS.md
1173
+ - tracks/cfml/exercises/bob/.meta/description.md
1174
+ - tracks/cfml/exercises/bob/.meta/hints.md
1173
1175
  - tracks/cfml/exercises/bob/Bob.cfc
1174
1176
  - tracks/cfml/exercises/bob/BobTest.cfc
1175
1177
  - tracks/cfml/exercises/bob/README.md
@@ -1178,7 +1180,7 @@ files:
1178
1180
  - tracks/cfml/exercises/bob/TestRunner.cfc
1179
1181
  - tracks/cfml/exercises/bob/box.json
1180
1182
  - tracks/cfml/exercises/bob/index.cfm
1181
- - tracks/cfml/exercises/diamond/.meta/HINTS.md
1183
+ - tracks/cfml/exercises/diamond/.meta/hints.md
1182
1184
  - tracks/cfml/exercises/diamond/Diamond.cfc
1183
1185
  - tracks/cfml/exercises/diamond/DiamondTest.cfc
1184
1186
  - tracks/cfml/exercises/diamond/README.md
@@ -1187,7 +1189,7 @@ files:
1187
1189
  - tracks/cfml/exercises/diamond/TestRunner.cfc
1188
1190
  - tracks/cfml/exercises/diamond/box.json
1189
1191
  - tracks/cfml/exercises/diamond/index.cfm
1190
- - tracks/cfml/exercises/difference-of-squares/.meta/HINTS.md
1192
+ - tracks/cfml/exercises/difference-of-squares/.meta/hints.md
1191
1193
  - tracks/cfml/exercises/difference-of-squares/DifferenceOfSquares.cfc
1192
1194
  - tracks/cfml/exercises/difference-of-squares/DifferenceOfSquaresTest.cfc
1193
1195
  - tracks/cfml/exercises/difference-of-squares/README.md
@@ -1196,7 +1198,7 @@ files:
1196
1198
  - tracks/cfml/exercises/difference-of-squares/TestRunner.cfc
1197
1199
  - tracks/cfml/exercises/difference-of-squares/box.json
1198
1200
  - tracks/cfml/exercises/difference-of-squares/index.cfm
1199
- - tracks/cfml/exercises/flatten-array/.meta/HINTS.md
1201
+ - tracks/cfml/exercises/flatten-array/.meta/hints.md
1200
1202
  - tracks/cfml/exercises/flatten-array/FlattenArray.cfc
1201
1203
  - tracks/cfml/exercises/flatten-array/FlattenArrayTest.cfc
1202
1204
  - tracks/cfml/exercises/flatten-array/README.md
@@ -1205,7 +1207,7 @@ files:
1205
1207
  - tracks/cfml/exercises/flatten-array/TestRunner.cfc
1206
1208
  - tracks/cfml/exercises/flatten-array/box.json
1207
1209
  - tracks/cfml/exercises/flatten-array/index.cfm
1208
- - tracks/cfml/exercises/gigasecond/.meta/HINTS.md
1210
+ - tracks/cfml/exercises/gigasecond/.meta/hints.md
1209
1211
  - tracks/cfml/exercises/gigasecond/Gigasecond.cfc
1210
1212
  - tracks/cfml/exercises/gigasecond/GigasecondTest.cfc
1211
1213
  - tracks/cfml/exercises/gigasecond/README.md
@@ -1214,7 +1216,7 @@ files:
1214
1216
  - tracks/cfml/exercises/gigasecond/TestRunner.cfc
1215
1217
  - tracks/cfml/exercises/gigasecond/box.json
1216
1218
  - tracks/cfml/exercises/gigasecond/index.cfm
1217
- - tracks/cfml/exercises/grains/.meta/HINTS.md
1219
+ - tracks/cfml/exercises/grains/.meta/hints.md
1218
1220
  - tracks/cfml/exercises/grains/Grains.cfc
1219
1221
  - tracks/cfml/exercises/grains/GrainsTest.cfc
1220
1222
  - tracks/cfml/exercises/grains/README.md
@@ -1223,7 +1225,7 @@ files:
1223
1225
  - tracks/cfml/exercises/grains/TestRunner.cfc
1224
1226
  - tracks/cfml/exercises/grains/box.json
1225
1227
  - tracks/cfml/exercises/grains/index.cfm
1226
- - tracks/cfml/exercises/hamming/.meta/HINTS.md
1228
+ - tracks/cfml/exercises/hamming/.meta/hints.md
1227
1229
  - tracks/cfml/exercises/hamming/Hamming.cfc
1228
1230
  - tracks/cfml/exercises/hamming/HammingTest.cfc
1229
1231
  - tracks/cfml/exercises/hamming/README.md
@@ -1240,7 +1242,7 @@ files:
1240
1242
  - tracks/cfml/exercises/hello-world/TestRunner.cfc
1241
1243
  - tracks/cfml/exercises/hello-world/box.json
1242
1244
  - tracks/cfml/exercises/hello-world/index.cfm
1243
- - tracks/cfml/exercises/isogram/.meta/HINTS.md
1245
+ - tracks/cfml/exercises/isogram/.meta/hints.md
1244
1246
  - tracks/cfml/exercises/isogram/Isogram.cfc
1245
1247
  - tracks/cfml/exercises/isogram/IsogramTest.cfc
1246
1248
  - tracks/cfml/exercises/isogram/README.md
@@ -1249,7 +1251,7 @@ files:
1249
1251
  - tracks/cfml/exercises/isogram/TestRunner.cfc
1250
1252
  - tracks/cfml/exercises/isogram/box.json
1251
1253
  - tracks/cfml/exercises/isogram/index.cfm
1252
- - tracks/cfml/exercises/largest-series-product/.meta/HINTS.md
1254
+ - tracks/cfml/exercises/largest-series-product/.meta/hints.md
1253
1255
  - tracks/cfml/exercises/largest-series-product/LargestSeriesProduct.cfc
1254
1256
  - tracks/cfml/exercises/largest-series-product/LargestSeriesProductTest.cfc
1255
1257
  - tracks/cfml/exercises/largest-series-product/README.md
@@ -1266,7 +1268,7 @@ files:
1266
1268
  - tracks/cfml/exercises/leap/TestRunner.cfc
1267
1269
  - tracks/cfml/exercises/leap/box.json
1268
1270
  - tracks/cfml/exercises/leap/index.cfm
1269
- - tracks/cfml/exercises/luhn/.meta/HINTS.md
1271
+ - tracks/cfml/exercises/luhn/.meta/hints.md
1270
1272
  - tracks/cfml/exercises/luhn/Luhn.cfc
1271
1273
  - tracks/cfml/exercises/luhn/LuhnTest.cfc
1272
1274
  - tracks/cfml/exercises/luhn/README.md
@@ -1275,7 +1277,7 @@ files:
1275
1277
  - tracks/cfml/exercises/luhn/TestRunner.cfc
1276
1278
  - tracks/cfml/exercises/luhn/box.json
1277
1279
  - tracks/cfml/exercises/luhn/index.cfm
1278
- - tracks/cfml/exercises/markdown/.meta/HINTS.md
1280
+ - tracks/cfml/exercises/markdown/.meta/hints.md
1279
1281
  - tracks/cfml/exercises/markdown/Markdown.cfc
1280
1282
  - tracks/cfml/exercises/markdown/MarkdownTest.cfc
1281
1283
  - tracks/cfml/exercises/markdown/README.md
@@ -1284,7 +1286,7 @@ files:
1284
1286
  - tracks/cfml/exercises/markdown/TestRunner.cfc
1285
1287
  - tracks/cfml/exercises/markdown/box.json
1286
1288
  - tracks/cfml/exercises/markdown/index.cfm
1287
- - tracks/cfml/exercises/nth-prime/.meta/HINTS.md
1289
+ - tracks/cfml/exercises/nth-prime/.meta/hints.md
1288
1290
  - tracks/cfml/exercises/nth-prime/NthPrime.cfc
1289
1291
  - tracks/cfml/exercises/nth-prime/NthPrimeTest.cfc
1290
1292
  - tracks/cfml/exercises/nth-prime/README.md
@@ -1293,7 +1295,7 @@ files:
1293
1295
  - tracks/cfml/exercises/nth-prime/TestRunner.cfc
1294
1296
  - tracks/cfml/exercises/nth-prime/box.json
1295
1297
  - tracks/cfml/exercises/nth-prime/index.cfm
1296
- - tracks/cfml/exercises/pangram/.meta/HINTS.md
1298
+ - tracks/cfml/exercises/pangram/.meta/hints.md
1297
1299
  - tracks/cfml/exercises/pangram/Pangram.cfc
1298
1300
  - tracks/cfml/exercises/pangram/PangramTest.cfc
1299
1301
  - tracks/cfml/exercises/pangram/README.md
@@ -1302,7 +1304,7 @@ files:
1302
1304
  - tracks/cfml/exercises/pangram/TestRunner.cfc
1303
1305
  - tracks/cfml/exercises/pangram/box.json
1304
1306
  - tracks/cfml/exercises/pangram/index.cfm
1305
- - tracks/cfml/exercises/pig-latin/.meta/HINTS.md
1307
+ - tracks/cfml/exercises/pig-latin/.meta/hints.md
1306
1308
  - tracks/cfml/exercises/pig-latin/PigLatin.cfc
1307
1309
  - tracks/cfml/exercises/pig-latin/PigLatinTest.cfc
1308
1310
  - tracks/cfml/exercises/pig-latin/README.md
@@ -1311,7 +1313,7 @@ files:
1311
1313
  - tracks/cfml/exercises/pig-latin/TestRunner.cfc
1312
1314
  - tracks/cfml/exercises/pig-latin/box.json
1313
1315
  - tracks/cfml/exercises/pig-latin/index.cfm
1314
- - tracks/cfml/exercises/raindrops/.meta/HINTS.md
1316
+ - tracks/cfml/exercises/raindrops/.meta/hints.md
1315
1317
  - tracks/cfml/exercises/raindrops/README.md
1316
1318
  - tracks/cfml/exercises/raindrops/Raindrops.cfc
1317
1319
  - tracks/cfml/exercises/raindrops/RaindropsTest.cfc
@@ -1320,7 +1322,7 @@ files:
1320
1322
  - tracks/cfml/exercises/raindrops/TestRunner.cfc
1321
1323
  - tracks/cfml/exercises/raindrops/box.json
1322
1324
  - tracks/cfml/exercises/raindrops/index.cfm
1323
- - tracks/cfml/exercises/rna-transcription/.meta/HINTS.md
1325
+ - tracks/cfml/exercises/rna-transcription/.meta/hints.md
1324
1326
  - tracks/cfml/exercises/rna-transcription/README.md
1325
1327
  - tracks/cfml/exercises/rna-transcription/RnaTranscription.cfc
1326
1328
  - tracks/cfml/exercises/rna-transcription/RnaTranscriptionTest.cfc
@@ -1329,7 +1331,7 @@ files:
1329
1331
  - tracks/cfml/exercises/rna-transcription/TestRunner.cfc
1330
1332
  - tracks/cfml/exercises/rna-transcription/box.json
1331
1333
  - tracks/cfml/exercises/rna-transcription/index.cfm
1332
- - tracks/cfml/exercises/saddle-points/.meta/HINTS.md
1334
+ - tracks/cfml/exercises/saddle-points/.meta/hints.md
1333
1335
  - tracks/cfml/exercises/saddle-points/README.md
1334
1336
  - tracks/cfml/exercises/saddle-points/SaddlePoints.cfc
1335
1337
  - tracks/cfml/exercises/saddle-points/SaddlePointsTest.cfc
@@ -1338,7 +1340,7 @@ files:
1338
1340
  - tracks/cfml/exercises/saddle-points/TestRunner.cfc
1339
1341
  - tracks/cfml/exercises/saddle-points/box.json
1340
1342
  - tracks/cfml/exercises/saddle-points/index.cfm
1341
- - tracks/cfml/exercises/scrabble-score/.meta/HINTS.md
1343
+ - tracks/cfml/exercises/scrabble-score/.meta/hints.md
1342
1344
  - tracks/cfml/exercises/scrabble-score/README.md
1343
1345
  - tracks/cfml/exercises/scrabble-score/ScrabbleScore.cfc
1344
1346
  - tracks/cfml/exercises/scrabble-score/ScrabbleScoreTest.cfc
@@ -1347,7 +1349,7 @@ files:
1347
1349
  - tracks/cfml/exercises/scrabble-score/TestRunner.cfc
1348
1350
  - tracks/cfml/exercises/scrabble-score/box.json
1349
1351
  - tracks/cfml/exercises/scrabble-score/index.cfm
1350
- - tracks/cfml/exercises/secret-handshake/.meta/HINTS.md
1352
+ - tracks/cfml/exercises/secret-handshake/.meta/hints.md
1351
1353
  - tracks/cfml/exercises/secret-handshake/README.md
1352
1354
  - tracks/cfml/exercises/secret-handshake/SecretHandshake.cfc
1353
1355
  - tracks/cfml/exercises/secret-handshake/SecretHandshakeTest.cfc
@@ -1356,7 +1358,7 @@ files:
1356
1358
  - tracks/cfml/exercises/secret-handshake/TestRunner.cfc
1357
1359
  - tracks/cfml/exercises/secret-handshake/box.json
1358
1360
  - tracks/cfml/exercises/secret-handshake/index.cfm
1359
- - tracks/cfml/exercises/space-age/.meta/HINTS.md
1361
+ - tracks/cfml/exercises/space-age/.meta/hints.md
1360
1362
  - tracks/cfml/exercises/space-age/README.md
1361
1363
  - tracks/cfml/exercises/space-age/Solution.cfc
1362
1364
  - tracks/cfml/exercises/space-age/SolutionTest.cfc
@@ -1365,7 +1367,7 @@ files:
1365
1367
  - tracks/cfml/exercises/space-age/TestRunner.cfc
1366
1368
  - tracks/cfml/exercises/space-age/box.json
1367
1369
  - tracks/cfml/exercises/space-age/index.cfm
1368
- - tracks/cfml/exercises/sum-of-multiples/.meta/HINTS.md
1370
+ - tracks/cfml/exercises/sum-of-multiples/.meta/hints.md
1369
1371
  - tracks/cfml/exercises/sum-of-multiples/README.md
1370
1372
  - tracks/cfml/exercises/sum-of-multiples/Solution.cfc
1371
1373
  - tracks/cfml/exercises/sum-of-multiples/SolutionTest.cfc
@@ -1374,7 +1376,7 @@ files:
1374
1376
  - tracks/cfml/exercises/sum-of-multiples/TestRunner.cfc
1375
1377
  - tracks/cfml/exercises/sum-of-multiples/box.json
1376
1378
  - tracks/cfml/exercises/sum-of-multiples/index.cfm
1377
- - tracks/cfml/exercises/triangle/.meta/HINTS.md
1379
+ - tracks/cfml/exercises/triangle/.meta/hints.md
1378
1380
  - tracks/cfml/exercises/triangle/README.md
1379
1381
  - tracks/cfml/exercises/triangle/Solution.cfc
1380
1382
  - tracks/cfml/exercises/triangle/SolutionTest.cfc
@@ -1383,7 +1385,7 @@ files:
1383
1385
  - tracks/cfml/exercises/triangle/TriangleTest.cfc
1384
1386
  - tracks/cfml/exercises/triangle/box.json
1385
1387
  - tracks/cfml/exercises/triangle/index.cfm
1386
- - tracks/cfml/exercises/word-count/.meta/HINTS.md
1388
+ - tracks/cfml/exercises/word-count/.meta/hints.md
1387
1389
  - tracks/cfml/exercises/word-count/README.md
1388
1390
  - tracks/cfml/exercises/word-count/Solution.cfc
1389
1391
  - tracks/cfml/exercises/word-count/SolutionTest.cfc
@@ -1796,6 +1798,7 @@ files:
1796
1798
  - tracks/coffeescript/exercises/binary/README.md
1797
1799
  - tracks/coffeescript/exercises/binary/binary_test.spec.coffee
1798
1800
  - tracks/coffeescript/exercises/binary/example.coffee
1801
+ - tracks/coffeescript/exercises/bob/.meta/description.md
1799
1802
  - tracks/coffeescript/exercises/bob/README.md
1800
1803
  - tracks/coffeescript/exercises/bob/bob_test.spec.coffee
1801
1804
  - tracks/coffeescript/exercises/bob/example.coffee
@@ -1884,6 +1887,7 @@ files:
1884
1887
  - tracks/common-lisp/exercises/binary/README.md
1885
1888
  - tracks/common-lisp/exercises/binary/binary-test.lisp
1886
1889
  - tracks/common-lisp/exercises/binary/example.lisp
1890
+ - tracks/common-lisp/exercises/bob/.meta/description.md
1887
1891
  - tracks/common-lisp/exercises/bob/README.md
1888
1892
  - tracks/common-lisp/exercises/bob/bob-test.lisp
1889
1893
  - tracks/common-lisp/exercises/bob/bob.lisp
@@ -2080,6 +2084,7 @@ files:
2080
2084
  - tracks/cpp/exercises/binary/binary_test.cpp
2081
2085
  - tracks/cpp/exercises/binary/example.cpp
2082
2086
  - tracks/cpp/exercises/binary/example.h
2087
+ - tracks/cpp/exercises/bob/.meta/description.md
2083
2088
  - tracks/cpp/exercises/bob/CMakeLists.txt
2084
2089
  - tracks/cpp/exercises/bob/README.md
2085
2090
  - tracks/cpp/exercises/bob/bob_test.cpp
@@ -2358,6 +2363,7 @@ files:
2358
2363
  - tracks/crystal/exercises/sieve/spec/sieve_spec.cr
2359
2364
  - tracks/crystal/exercises/sieve/src/example.cr
2360
2365
  - tracks/crystal/exercises/sieve/src/sieve.cr
2366
+ - tracks/crystal/exercises/triangle/README.md
2361
2367
  - tracks/crystal/exercises/triangle/spec/triangle_spec.cr
2362
2368
  - tracks/crystal/exercises/triangle/src/example.cr
2363
2369
  - tracks/crystal/exercises/triangle/src/triangle.cr
@@ -2518,6 +2524,7 @@ files:
2518
2524
  - tracks/csharp/exercises/complex-numbers/ComplexNumbers.csproj
2519
2525
  - tracks/csharp/exercises/complex-numbers/ComplexNumbersTest.cs
2520
2526
  - tracks/csharp/exercises/complex-numbers/Example.cs
2527
+ - tracks/csharp/exercises/complex-numbers/README.md
2521
2528
  - tracks/csharp/exercises/connect/Connect.cs
2522
2529
  - tracks/csharp/exercises/connect/Connect.csproj
2523
2530
  - tracks/csharp/exercises/connect/ConnectTest.cs
@@ -3155,6 +3162,7 @@ files:
3155
3162
  - tracks/d/docs/RESOURCES.md
3156
3163
  - tracks/d/docs/SNIPPET.txt
3157
3164
  - tracks/d/docs/TESTS.md
3165
+ - tracks/d/exercises/bob/.meta/description.md
3158
3166
  - tracks/d/exercises/bob/README.md
3159
3167
  - tracks/d/exercises/bob/dub.sdl
3160
3168
  - tracks/d/exercises/bob/example/bob.d
@@ -3254,6 +3262,7 @@ files:
3254
3262
  - tracks/dart/exercises/anagram/pubspec.lock
3255
3263
  - tracks/dart/exercises/anagram/pubspec.yaml
3256
3264
  - tracks/dart/exercises/anagram/test/anagram_test.dart
3265
+ - tracks/dart/exercises/bob/.meta/description.md
3257
3266
  - tracks/dart/exercises/bob/README.md
3258
3267
  - tracks/dart/exercises/bob/lib/bob.dart
3259
3268
  - tracks/dart/exercises/bob/lib/example.dart
@@ -3554,6 +3563,7 @@ files:
3554
3563
  - tracks/ecmascript/exercises/binary/binary.spec.js
3555
3564
  - tracks/ecmascript/exercises/binary/example.js
3556
3565
  - tracks/ecmascript/exercises/binary/package.json
3566
+ - tracks/ecmascript/exercises/bob/.meta/description.md
3557
3567
  - tracks/ecmascript/exercises/bob/README.md
3558
3568
  - tracks/ecmascript/exercises/bob/bob.js
3559
3569
  - tracks/ecmascript/exercises/bob/bob.spec.js
@@ -3894,7 +3904,6 @@ files:
3894
3904
  - tracks/elisp/config/exercise_readme.go.tmpl
3895
3905
  - tracks/elisp/config/maintainers.json
3896
3906
  - tracks/elisp/docs/ABOUT.org
3897
- - tracks/elisp/docs/EXERCISE_README_INSERT.md
3898
3907
  - tracks/elisp/docs/INSTALLATION.org
3899
3908
  - tracks/elisp/docs/LEARNING.org
3900
3909
  - tracks/elisp/docs/RESOURCES.org
@@ -4429,6 +4438,7 @@ files:
4429
4438
  - tracks/elm/exercises/atbash-cipher/package.json
4430
4439
  - tracks/elm/exercises/atbash-cipher/tests/Tests.elm
4431
4440
  - tracks/elm/exercises/atbash-cipher/tests/elm-package.json
4441
+ - tracks/elm/exercises/bob/.meta/description.md
4432
4442
  - tracks/elm/exercises/bob/Bob.elm
4433
4443
  - tracks/elm/exercises/bob/Bob.example.elm
4434
4444
  - tracks/elm/exercises/bob/README.md
@@ -4438,6 +4448,7 @@ files:
4438
4448
  - tracks/elm/exercises/bob/tests/elm-package.json
4439
4449
  - tracks/elm/exercises/collatz-conjecture/CollatzConjecture.elm
4440
4450
  - tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
4451
+ - tracks/elm/exercises/collatz-conjecture/README.md
4441
4452
  - tracks/elm/exercises/collatz-conjecture/elm-package.json
4442
4453
  - tracks/elm/exercises/collatz-conjecture/package.json
4443
4454
  - tracks/elm/exercises/collatz-conjecture/tests/Tests.elm
@@ -4711,6 +4722,7 @@ files:
4711
4722
  - tracks/erlang/exercises/beer-song/src/beer_song.erl
4712
4723
  - tracks/erlang/exercises/beer-song/src/example.erl
4713
4724
  - tracks/erlang/exercises/beer-song/test/beer_song_tests.erl
4725
+ - tracks/erlang/exercises/bob/.meta/description.md
4714
4726
  - tracks/erlang/exercises/bob/README.md
4715
4727
  - tracks/erlang/exercises/bob/rebar.config
4716
4728
  - tracks/erlang/exercises/bob/src/bob.app.src
@@ -4735,7 +4747,7 @@ files:
4735
4747
  - tracks/erlang/exercises/collatz-conjecture/src/collatz_conjecture.erl
4736
4748
  - tracks/erlang/exercises/collatz-conjecture/src/example.erl
4737
4749
  - tracks/erlang/exercises/collatz-conjecture/test/collatz_conjecture_tests.erl
4738
- - tracks/erlang/exercises/complex-numbers/HINTS.md
4750
+ - tracks/erlang/exercises/complex-numbers/.meta/hints.md
4739
4751
  - tracks/erlang/exercises/complex-numbers/README.md
4740
4752
  - tracks/erlang/exercises/complex-numbers/rebar.config
4741
4753
  - tracks/erlang/exercises/complex-numbers/src/complex_numbers.app.src
@@ -4856,7 +4868,7 @@ files:
4856
4868
  - tracks/erlang/exercises/rna-transcription/src/rna_transcription.app.src
4857
4869
  - tracks/erlang/exercises/rna-transcription/src/rna_transcription.erl
4858
4870
  - tracks/erlang/exercises/rna-transcription/test/rna_transcription_tests.erl
4859
- - tracks/erlang/exercises/robot-simulator/HINTS.md
4871
+ - tracks/erlang/exercises/robot-simulator/.meta/hints.md
4860
4872
  - tracks/erlang/exercises/robot-simulator/README.md
4861
4873
  - tracks/erlang/exercises/robot-simulator/rebar.config
4862
4874
  - tracks/erlang/exercises/robot-simulator/src/example.erl
@@ -5009,7 +5021,6 @@ files:
5009
5021
  - tracks/fortran/config/exercise_readme.go.tmpl
5010
5022
  - tracks/fortran/config/maintainers.json
5011
5023
  - tracks/fortran/docs/ABOUT.md
5012
- - tracks/fortran/docs/EXERCISE_README_INSERT.md
5013
5024
  - tracks/fortran/docs/INSTALLATION.md
5014
5025
  - tracks/fortran/docs/LEARNING.md
5015
5026
  - tracks/fortran/docs/RESOURCES.md
@@ -5818,7 +5829,6 @@ files:
5818
5829
  - tracks/gnu-apl/bin/install-apl
5819
5830
  - tracks/gnu-apl/bin/run-all-tests
5820
5831
  - tracks/gnu-apl/config.json
5821
- - tracks/gnu-apl/config/exercise-readme-insert.md
5822
5832
  - tracks/gnu-apl/config/exercise_readme.go.tmpl
5823
5833
  - tracks/gnu-apl/config/maintainers.json
5824
5834
  - tracks/gnu-apl/docs/ABOUT.md
@@ -5900,6 +5910,7 @@ files:
5900
5910
  - tracks/go/exercises/anagram/cases_test.go
5901
5911
  - tracks/go/exercises/anagram/example.go
5902
5912
  - tracks/go/exercises/armstrong-numbers/.meta/gen.go
5913
+ - tracks/go/exercises/armstrong-numbers/README.md
5903
5914
  - tracks/go/exercises/armstrong-numbers/armstrong_test.go
5904
5915
  - tracks/go/exercises/armstrong-numbers/cases_test.go
5905
5916
  - tracks/go/exercises/armstrong-numbers/example.go
@@ -6329,6 +6340,7 @@ files:
6329
6340
  - tracks/go/exercises/two-bucket/.meta/gen.go
6330
6341
  - tracks/go/exercises/two-bucket/.meta/hints.md
6331
6342
  - tracks/go/exercises/two-bucket/README.md
6343
+ - tracks/go/exercises/two-bucket/bonus_test.go
6332
6344
  - tracks/go/exercises/two-bucket/cases_test.go
6333
6345
  - tracks/go/exercises/two-bucket/example.go
6334
6346
  - tracks/go/exercises/two-bucket/two_bucket_test.go
@@ -7185,7 +7197,6 @@ files:
7185
7197
  - tracks/haxe/config.json
7186
7198
  - tracks/haxe/config/exercise_readme.go.tmpl
7187
7199
  - tracks/haxe/config/maintainers.json
7188
- - tracks/haxe/docs/EXERCISE_README_INSERT.md
7189
7200
  - tracks/haxe/docs/INSTALLATION.md
7190
7201
  - tracks/haxe/docs/LEARNING.md
7191
7202
  - tracks/haxe/docs/SNIPPET.txt
@@ -7207,6 +7218,7 @@ files:
7207
7218
  - tracks/haxe/exercises/hello-world/test/TestMain.hx
7208
7219
  - tracks/haxe/exercises/hello-world/test/TestSuite.hx
7209
7220
  - tracks/haxe/exercises/leap/.munit
7221
+ - tracks/haxe/exercises/leap/README.md
7210
7222
  - tracks/haxe/exercises/leap/src/Leap.hx
7211
7223
  - tracks/haxe/exercises/leap/src/example.hx
7212
7224
  - tracks/haxe/exercises/leap/test.hxml
@@ -7631,7 +7643,7 @@ files:
7631
7643
  - tracks/java/exercises/pangram/build.gradle
7632
7644
  - tracks/java/exercises/pangram/src/main/java/PangramChecker.java
7633
7645
  - tracks/java/exercises/pangram/src/test/java/PangramCheckerTest.java
7634
- - tracks/java/exercises/parallel-letter-frequency/.meta/HINTS.md
7646
+ - tracks/java/exercises/parallel-letter-frequency/.meta/hints.md
7635
7647
  - tracks/java/exercises/parallel-letter-frequency/.meta/src/reference/java/ParallelLetterFrequency.java
7636
7648
  - tracks/java/exercises/parallel-letter-frequency/README.md
7637
7649
  - tracks/java/exercises/parallel-letter-frequency/build.gradle
@@ -8879,6 +8891,7 @@ files:
8879
8891
  - tracks/lfe/exercises/binary/src/example.lfe
8880
8892
  - tracks/lfe/exercises/binary/test/binary-string-tests.lfe
8881
8893
  - tracks/lfe/exercises/bob/.gitignore
8894
+ - tracks/lfe/exercises/bob/.meta/description.md
8882
8895
  - tracks/lfe/exercises/bob/Makefile
8883
8896
  - tracks/lfe/exercises/bob/README.md
8884
8897
  - tracks/lfe/exercises/bob/rebar.config
@@ -9407,7 +9420,6 @@ files:
9407
9420
  - tracks/nim/config.json
9408
9421
  - tracks/nim/config/exercise_readme.go.tmpl
9409
9422
  - tracks/nim/config/maintainers.json
9410
- - tracks/nim/docs/EXERCISE_README_INSERT.md
9411
9423
  - tracks/nim/docs/SNIPPET.txt
9412
9424
  - tracks/nim/exercises/anagram/README.md
9413
9425
  - tracks/nim/exercises/anagram/anagram_test.nim
@@ -9511,6 +9523,7 @@ files:
9511
9523
  - tracks/objective-c/exercises/collatz-conjecture/CollatzConjectureExample.h
9512
9524
  - tracks/objective-c/exercises/collatz-conjecture/CollatzConjectureExample.m
9513
9525
  - tracks/objective-c/exercises/collatz-conjecture/CollatzConjectureTest.m
9526
+ - tracks/objective-c/exercises/collatz-conjecture/README.md
9514
9527
  - tracks/objective-c/exercises/crypto-square/CryptoSquareExample.h
9515
9528
  - tracks/objective-c/exercises/crypto-square/CryptoSquareExample.m
9516
9529
  - tracks/objective-c/exercises/crypto-square/CryptoSquareTest.m
@@ -9538,6 +9551,7 @@ files:
9538
9551
  - tracks/objective-c/exercises/grains/GrainsExample.h
9539
9552
  - tracks/objective-c/exercises/grains/GrainsExample.m
9540
9553
  - tracks/objective-c/exercises/grains/GrainsTest.m
9554
+ - tracks/objective-c/exercises/grains/README.md
9541
9555
  - tracks/objective-c/exercises/hamming/HammingExample.h
9542
9556
  - tracks/objective-c/exercises/hamming/HammingExample.m
9543
9557
  - tracks/objective-c/exercises/hamming/HammingTest.m
@@ -9569,6 +9583,7 @@ files:
9569
9583
  - tracks/objective-c/exercises/nth-prime/NthPrimeExample.h
9570
9584
  - tracks/objective-c/exercises/nth-prime/NthPrimeExample.m
9571
9585
  - tracks/objective-c/exercises/nth-prime/NthPrimeTest.m
9586
+ - tracks/objective-c/exercises/nth-prime/README.md
9572
9587
  - tracks/objective-c/exercises/nucleotide-count/NucleotideCountExample.h
9573
9588
  - tracks/objective-c/exercises/nucleotide-count/NucleotideCountExample.m
9574
9589
  - tracks/objective-c/exercises/nucleotide-count/NucleotideCountTest.m
@@ -9609,6 +9624,7 @@ files:
9609
9624
  - tracks/objective-c/exercises/run-length-encoding/RunLengthEncodingExample.h
9610
9625
  - tracks/objective-c/exercises/run-length-encoding/RunLengthEncodingExample.m
9611
9626
  - tracks/objective-c/exercises/run-length-encoding/RunLengthEncodingTest.m
9627
+ - tracks/objective-c/exercises/say/README.md
9612
9628
  - tracks/objective-c/exercises/say/SayExample.h
9613
9629
  - tracks/objective-c/exercises/say/SayExample.m
9614
9630
  - tracks/objective-c/exercises/say/SayTest.m
@@ -9644,6 +9660,7 @@ files:
9644
9660
  - tracks/objective-c/exercises/triangle/TriangleExample.h
9645
9661
  - tracks/objective-c/exercises/triangle/TriangleExample.m
9646
9662
  - tracks/objective-c/exercises/triangle/TriangleTest.m
9663
+ - tracks/objective-c/exercises/two-fer/README.md
9647
9664
  - tracks/objective-c/exercises/two-fer/TwoFerExample.h
9648
9665
  - tracks/objective-c/exercises/two-fer/TwoFerExample.m
9649
9666
  - tracks/objective-c/exercises/two-fer/TwoFerTest.m
@@ -10499,11 +10516,13 @@ files:
10499
10516
  - tracks/php/exercises/clock/README.md
10500
10517
  - tracks/php/exercises/clock/clock_test.php
10501
10518
  - tracks/php/exercises/clock/example.php
10519
+ - tracks/php/exercises/collatz-conjecture/README.md
10502
10520
  - tracks/php/exercises/collatz-conjecture/collatz-conjecture_test.php
10503
10521
  - tracks/php/exercises/collatz-conjecture/example.php
10504
10522
  - tracks/php/exercises/connect/README.md
10505
10523
  - tracks/php/exercises/connect/connect_test.php
10506
10524
  - tracks/php/exercises/connect/example.php
10525
+ - tracks/php/exercises/crypto-square/README.md
10507
10526
  - tracks/php/exercises/crypto-square/crypto-square_test.php
10508
10527
  - tracks/php/exercises/crypto-square/example.php
10509
10528
  - tracks/php/exercises/difference-of-squares/README.md
@@ -10512,6 +10531,7 @@ files:
10512
10531
  - tracks/php/exercises/etl/README.md
10513
10532
  - tracks/php/exercises/etl/etl_test.php
10514
10533
  - tracks/php/exercises/etl/example.php
10534
+ - tracks/php/exercises/flatten-array/README.md
10515
10535
  - tracks/php/exercises/flatten-array/example.php
10516
10536
  - tracks/php/exercises/flatten-array/flatten-array_test.php
10517
10537
  - tracks/php/exercises/gigasecond/README.md
@@ -10620,6 +10640,7 @@ files:
10620
10640
  - tracks/php/exercises/sum-of-multiples/README.md
10621
10641
  - tracks/php/exercises/sum-of-multiples/example.php
10622
10642
  - tracks/php/exercises/sum-of-multiples/sum-of-multiples_test.php
10643
+ - tracks/php/exercises/transpose/README.md
10623
10644
  - tracks/php/exercises/transpose/example.php
10624
10645
  - tracks/php/exercises/transpose/transpose_test.php
10625
10646
  - tracks/php/exercises/triangle/README.md
@@ -10672,6 +10693,7 @@ files:
10672
10693
  - tracks/plsql/exercises/hamming/example.plsql
10673
10694
  - tracks/plsql/exercises/hamming/hamming#.plsql
10674
10695
  - tracks/plsql/exercises/hamming/ut_hamming#.plsql
10696
+ - tracks/plsql/exercises/hello-world/README.md
10675
10697
  - tracks/plsql/exercises/hello-world/example.plsql
10676
10698
  - tracks/plsql/exercises/hello-world/hello_world#.plsql
10677
10699
  - tracks/plsql/exercises/hello-world/ut_hello_world#.plsql
@@ -10752,7 +10774,6 @@ files:
10752
10774
  - tracks/powershell/config.json
10753
10775
  - tracks/powershell/config/exercise_readme.go.tmpl
10754
10776
  - tracks/powershell/config/maintainers.json
10755
- - tracks/powershell/docs/EXERCISE_README_INSERT.md
10756
10777
  - tracks/powershell/docs/INSTRUCTIONS.md
10757
10778
  - tracks/powershell/docs/SNIPPET.txt
10758
10779
  - tracks/powershell/exercises/hamming/.version
@@ -10776,7 +10797,6 @@ files:
10776
10797
  - tracks/prolog/config/exercise_readme.go.tmpl
10777
10798
  - tracks/prolog/config/maintainers.json
10778
10799
  - tracks/prolog/docs/ABOUT.md
10779
- - tracks/prolog/docs/EXERCISE_README_INSERT.md
10780
10800
  - tracks/prolog/docs/INSTALLATION.md
10781
10801
  - tracks/prolog/docs/LEARNING.md
10782
10802
  - tracks/prolog/docs/RESOURCES.md
@@ -11066,6 +11086,7 @@ files:
11066
11086
  - tracks/python/exercises/book-store/book_store_test.py
11067
11087
  - tracks/python/exercises/book-store/example.py
11068
11088
  - tracks/python/exercises/bowling/.gitignore
11089
+ - tracks/python/exercises/bowling/README.md
11069
11090
  - tracks/python/exercises/bowling/bowling.py
11070
11091
  - tracks/python/exercises/bowling/bowling_test.py
11071
11092
  - tracks/python/exercises/bowling/example.py
@@ -11503,6 +11524,7 @@ files:
11503
11524
  - tracks/r/exercises/beer-song/beer-song.R
11504
11525
  - tracks/r/exercises/beer-song/example.R
11505
11526
  - tracks/r/exercises/beer-song/test_beer-song.R
11527
+ - tracks/r/exercises/bob/.meta/description.md
11506
11528
  - tracks/r/exercises/bob/README.md
11507
11529
  - tracks/r/exercises/bob/bob.R
11508
11530
  - tracks/r/exercises/bob/example.R
@@ -11511,6 +11533,10 @@ files:
11511
11533
  - tracks/r/exercises/collatz-conjecture/collatz-conjecture.R
11512
11534
  - tracks/r/exercises/collatz-conjecture/example.R
11513
11535
  - tracks/r/exercises/collatz-conjecture/test_collatz-conjecture.R
11536
+ - tracks/r/exercises/diamond/README.md
11537
+ - tracks/r/exercises/diamond/diamond.R
11538
+ - tracks/r/exercises/diamond/example.R
11539
+ - tracks/r/exercises/diamond/test_diamond.R
11514
11540
  - tracks/r/exercises/difference-of-squares/README.md
11515
11541
  - tracks/r/exercises/difference-of-squares/difference-of-squares.R
11516
11542
  - tracks/r/exercises/difference-of-squares/example.R
@@ -12883,6 +12909,7 @@ files:
12883
12909
  - tracks/scala/exercises/binary/example.scala
12884
12910
  - tracks/scala/exercises/binary/src/main/scala/.keep
12885
12911
  - tracks/scala/exercises/binary/src/test/scala/BinaryTest.scala
12912
+ - tracks/scala/exercises/bob/.meta/description.md
12886
12913
  - tracks/scala/exercises/bob/README.md
12887
12914
  - tracks/scala/exercises/bob/build.sbt
12888
12915
  - tracks/scala/exercises/bob/example.scala
@@ -13485,6 +13512,7 @@ files:
13485
13512
  - tracks/sml/exercises/binary/example.sml
13486
13513
  - tracks/sml/exercises/binary/test.sml
13487
13514
  - tracks/sml/exercises/binary/testlib.sml
13515
+ - tracks/sml/exercises/bob/.meta/description.md
13488
13516
  - tracks/sml/exercises/bob/README.md
13489
13517
  - tracks/sml/exercises/bob/bob.sml
13490
13518
  - tracks/sml/exercises/bob/example.sml
@@ -14048,6 +14076,7 @@ files:
14048
14076
  - tracks/swift/exercises/roman-numerals/Tests/RomanNumeralsTests/RomanNumeralsTests.swift
14049
14077
  - tracks/swift/exercises/rotational-cipher/.gitignore
14050
14078
  - tracks/swift/exercises/rotational-cipher/Package.swift
14079
+ - tracks/swift/exercises/rotational-cipher/README.md
14051
14080
  - tracks/swift/exercises/rotational-cipher/Sources/RotationalCipher.swift
14052
14081
  - tracks/swift/exercises/rotational-cipher/Sources/RotationalCipherExample.swift
14053
14082
  - tracks/swift/exercises/rotational-cipher/Tests/LinuxMain.swift
@@ -14271,6 +14300,7 @@ files:
14271
14300
  - tracks/typescript/exercises/binary-search/tsconfig.json
14272
14301
  - tracks/typescript/exercises/binary-search/tslint.json
14273
14302
  - tracks/typescript/exercises/binary-search/yarn.lock
14303
+ - tracks/typescript/exercises/bob/.meta/description.md
14274
14304
  - tracks/typescript/exercises/bob/README.md
14275
14305
  - tracks/typescript/exercises/bob/bob.example.ts
14276
14306
  - tracks/typescript/exercises/bob/bob.test.ts
@@ -14588,6 +14618,7 @@ files:
14588
14618
  - tracks/vbnet/exercises/binary/BinaryTest.vb
14589
14619
  - tracks/vbnet/exercises/binary/Example.vb
14590
14620
  - tracks/vbnet/exercises/binary/README.md
14621
+ - tracks/vbnet/exercises/bob/.meta/description.md
14591
14622
  - tracks/vbnet/exercises/bob/BobTest.vb
14592
14623
  - tracks/vbnet/exercises/bob/Example.vb
14593
14624
  - tracks/vbnet/exercises/bob/README.md
@@ -14631,6 +14662,7 @@ files:
14631
14662
  - tracks/vimscript/exercises/beer-song/beer_song.vader
14632
14663
  - tracks/vimscript/exercises/beer-song/beer_song.vim
14633
14664
  - tracks/vimscript/exercises/beer-song/example.vim
14665
+ - tracks/vimscript/exercises/bob/.meta/description.md
14634
14666
  - tracks/vimscript/exercises/bob/README.md
14635
14667
  - tracks/vimscript/exercises/bob/bob.vader
14636
14668
  - tracks/vimscript/exercises/bob/bob.vim