trackler 2.2.1.0 → 2.2.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (126) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/problem-specifications/exercises/list-ops/canonical-data.json +27 -11
  4. data/problem-specifications/exercises/rotational-cipher/canonical-data.json +8 -8
  5. data/tracks/clojure/config.json +0 -2
  6. data/tracks/dart/config.json +0 -2
  7. data/tracks/elisp/config.json +0 -2
  8. data/tracks/elixir/config.json +0 -2
  9. data/tracks/erlang/config.json +190 -83
  10. data/tracks/go/config.json +0 -2
  11. data/tracks/groovy/config.json +55 -17
  12. data/tracks/idris/config.json +0 -2
  13. data/tracks/java/POLICIES.md +9 -1
  14. data/tracks/java/exercises/nucleotide-count/src/example/java/{DNA.java → NucleotideCounter.java} +4 -4
  15. data/tracks/java/exercises/nucleotide-count/src/test/java/{NucleotideTest.java → NucleotideCounterTest.java} +21 -21
  16. data/tracks/kotlin/exercises/rotational-cipher/README.md +39 -0
  17. data/tracks/lfe/config.json +0 -2
  18. data/tracks/lisp/config.json +4 -6
  19. data/tracks/lisp/config/exercise_readme.go.tmpl +16 -0
  20. data/tracks/lisp/exercises/allergies/README.md +84 -0
  21. data/tracks/lisp/exercises/anagram/README.md +60 -0
  22. data/tracks/lisp/exercises/atbash-cipher/README.md +81 -0
  23. data/tracks/lisp/exercises/beer-song/README.md +374 -0
  24. data/tracks/lisp/exercises/binary/README.md +82 -0
  25. data/tracks/lisp/exercises/bob/README.md +65 -0
  26. data/tracks/lisp/exercises/crypto-square/README.md +121 -0
  27. data/tracks/lisp/exercises/difference-of-squares/README.md +66 -0
  28. data/tracks/lisp/exercises/etl/README.md +98 -0
  29. data/tracks/lisp/exercises/gigasecond/README.md +58 -0
  30. data/tracks/lisp/exercises/grade-school/README.md +89 -0
  31. data/tracks/lisp/exercises/grains/README.md +81 -0
  32. data/tracks/lisp/exercises/hamming/README.md +89 -0
  33. data/tracks/lisp/exercises/leap/README.md +80 -0
  34. data/tracks/lisp/exercises/meetup/README.md +77 -0
  35. data/tracks/lisp/exercises/nucleotide-count/README.md +80 -0
  36. data/tracks/lisp/exercises/pascals-triangle/README.md +68 -0
  37. data/tracks/lisp/exercises/phone-number/README.md +81 -0
  38. data/tracks/lisp/exercises/prime-factors/README.md +83 -0
  39. data/tracks/lisp/exercises/raindrops/README.md +71 -0
  40. data/tracks/lisp/exercises/rna-transcription/README.md +72 -0
  41. data/tracks/lisp/exercises/robot-name/README.md +69 -0
  42. data/tracks/lisp/exercises/roman-numerals/README.md +96 -0
  43. data/tracks/lisp/exercises/scrabble-score/README.md +91 -0
  44. data/tracks/lisp/exercises/sieve/README.md +81 -0
  45. data/tracks/lisp/exercises/space-age/README.md +71 -0
  46. data/tracks/lisp/exercises/strain/README.md +87 -0
  47. data/tracks/lisp/exercises/triangle/README.md +73 -0
  48. data/tracks/lisp/exercises/trinary/README.md +75 -0
  49. data/tracks/lisp/exercises/word-count/README.md +66 -0
  50. data/tracks/perl5/config.json +0 -2
  51. data/tracks/perl6/config.json +0 -2
  52. data/tracks/php/config.json +0 -2
  53. data/tracks/pony/config.json +33 -0
  54. data/tracks/python/exercises/scale-generator/scale_generator_test.py +1 -1
  55. data/tracks/racket/config.json +0 -2
  56. data/tracks/ruby/config.json +0 -2
  57. data/tracks/rust/.gitignore +0 -1
  58. data/tracks/rust/_test/check-exercises.sh +7 -1
  59. data/tracks/rust/config.json +11 -0
  60. data/tracks/rust/config/maintainers.json +54 -0
  61. data/tracks/rust/exercises/acronym/src/lib.rs +0 -0
  62. data/tracks/rust/exercises/all-your-base/src/lib.rs +35 -0
  63. data/tracks/rust/exercises/allergies/src/lib.rs +0 -0
  64. data/tracks/rust/exercises/alphametics/src/lib.rs +5 -0
  65. data/tracks/rust/exercises/anagram/src/lib.rs +0 -0
  66. data/tracks/rust/exercises/atbash-cipher/src/lib.rs +0 -0
  67. data/tracks/rust/exercises/beer-song/src/lib.rs +0 -0
  68. data/tracks/rust/exercises/bob/src/lib.rs +0 -0
  69. data/tracks/rust/exercises/bowling/src/lib.rs +0 -0
  70. data/tracks/rust/exercises/bracket-push/src/lib.rs +0 -0
  71. data/tracks/rust/exercises/circular-buffer/src/lib.rs +0 -0
  72. data/tracks/rust/exercises/custom-set/src/lib.rs +0 -0
  73. data/tracks/rust/exercises/difference-of-squares/src/lib.rs +0 -0
  74. data/tracks/rust/exercises/dominoes/src/lib.rs +0 -0
  75. data/tracks/rust/exercises/etl/src/lib.rs +0 -0
  76. data/tracks/rust/exercises/forth/src/lib.rs +23 -0
  77. data/tracks/rust/exercises/gigasecond/src/lib.rs +7 -0
  78. data/tracks/rust/exercises/grade-school/src/lib.rs +26 -0
  79. data/tracks/rust/exercises/grains/src/lib.rs +7 -0
  80. data/tracks/rust/exercises/hamming/src/lib.rs +0 -0
  81. data/tracks/rust/exercises/hello-world/src/lib.rs +5 -0
  82. data/tracks/rust/exercises/hexadecimal/src/lib.rs +0 -0
  83. data/tracks/rust/exercises/largest-series-product/src/lib.rs +0 -0
  84. data/tracks/rust/exercises/leap/src/lib.rs +0 -0
  85. data/tracks/rust/exercises/luhn-from/src/lib.rs +0 -0
  86. data/tracks/rust/exercises/luhn-trait/src/lib.rs +0 -0
  87. data/tracks/rust/exercises/luhn/src/lib.rs +0 -0
  88. data/tracks/rust/exercises/minesweeper/src/lib.rs +0 -0
  89. data/tracks/rust/exercises/nucleotide-codons/src/lib.rs +0 -0
  90. data/tracks/rust/exercises/nucleotide-count/src/lib.rs +0 -0
  91. data/tracks/rust/exercises/ocr-numbers/src/lib.rs +7 -0
  92. data/tracks/rust/exercises/pangram/src/lib.rs +0 -0
  93. data/tracks/rust/exercises/parallel-letter-frequency/src/lib.rs +0 -0
  94. data/tracks/rust/exercises/pascals-triangle/src/lib.rs +11 -0
  95. data/tracks/rust/exercises/phone-number/src/lib.rs +0 -0
  96. data/tracks/rust/exercises/pig-latin/src/lib.rs +0 -0
  97. data/tracks/rust/exercises/protein-translation/src/lib.rs +0 -0
  98. data/tracks/rust/exercises/queen-attack/src/lib.rs +0 -0
  99. data/tracks/rust/exercises/raindrops/src/lib.rs +0 -0
  100. data/tracks/rust/exercises/react/src/lib.rs +89 -0
  101. data/tracks/rust/exercises/rectangles/src/lib.rs +0 -0
  102. data/tracks/rust/exercises/rna-transcription/src/lib.rs +0 -0
  103. data/tracks/rust/exercises/robot-name/src/lib.rs +0 -0
  104. data/tracks/rust/exercises/robot-simulator/src/lib.rs +44 -0
  105. data/tracks/rust/exercises/roman-numerals/src/lib.rs +0 -0
  106. data/tracks/rust/exercises/rotational-cipher/src/lib.rs +0 -0
  107. data/tracks/rust/exercises/run-length-encoding/src/lib.rs +0 -0
  108. data/tracks/rust/exercises/say/.meta/hints.md +19 -0
  109. data/tracks/rust/exercises/say/Cargo.lock +4 -0
  110. data/tracks/rust/exercises/say/Cargo.toml +4 -0
  111. data/tracks/rust/exercises/say/README.md +122 -0
  112. data/tracks/rust/exercises/say/example.rs +56 -0
  113. data/tracks/rust/exercises/say/src/lib.rs +4 -0
  114. data/tracks/rust/exercises/say/tests/say.rs +130 -0
  115. data/tracks/rust/exercises/scrabble-score/src/lib.rs +0 -0
  116. data/tracks/rust/exercises/sieve/src/lib.rs +0 -0
  117. data/tracks/rust/exercises/space-age/src/lib.rs +35 -0
  118. data/tracks/rust/exercises/sublist/src/lib.rs +0 -0
  119. data/tracks/rust/exercises/sum-of-multiples/src/lib.rs +0 -0
  120. data/tracks/rust/exercises/tournament/src/lib.rs +0 -0
  121. data/tracks/rust/exercises/triangle/src/lib.rs +0 -0
  122. data/tracks/rust/exercises/variable-length-quantity/src/lib.rs +9 -0
  123. data/tracks/rust/exercises/word-count/src/lib.rs +0 -0
  124. data/tracks/rust/exercises/wordy/src/lib.rs +0 -0
  125. data/tracks/scheme/config.json +0 -2
  126. metadata +45 -4
@@ -0,0 +1,56 @@
1
+ const SMALL: &'static [&'static str] = &["zero", "one", "two", "three", "four", "five",
2
+ "six", "seven", "eight", "nine", "ten",
3
+ "eleven", "twelve", "thirteen", "fourteen", "fifteen",
4
+ "sixteen", "seventeen", "eighteen", "nineteen"];
5
+
6
+ const TENS: &'static [&'static str] = &["ones", "ten", "twenty", "thirty", "forty",
7
+ "fifty", "sixty", "seventy", "eighty", "ninety"];
8
+
9
+ const SCALE: &'static [&'static str] = &["", "thousand", "million", "billion",
10
+ "trillion", "quadrillion", "quintillion"];
11
+
12
+ pub fn encode(n: u64) -> String {
13
+ if n < 20 {
14
+ SMALL[n as usize].to_string()
15
+ } else if n < 100 {
16
+ let small = n % 10;
17
+ let mut out = String::from(TENS[n as usize / 10]);
18
+ if small > 0 {
19
+ out.push('-');
20
+ out.push_str(SMALL[small as usize]);
21
+ }
22
+ out
23
+ } else if n < 1000 {
24
+ let mut out = String::from(SMALL[n as usize / 100]);
25
+ out.push_str(" hundred");
26
+ let ones = n % 100;
27
+ if ones > 0 {
28
+ out.push(' ');
29
+ out.push_str(&encode(ones));
30
+ }
31
+ out
32
+ } else {
33
+ let mut sets: Vec<u64> = Vec::new();
34
+ let mut val = n;
35
+ while val >= 1 {
36
+ sets.push(val % 1000);
37
+ val /= 1000;
38
+ }
39
+ let mut out = String::new();
40
+ while let Some(modu) = sets.pop() {
41
+ let len = sets.len();
42
+ if modu == 0 {
43
+ continue;
44
+ }
45
+ if out.len() > 0 {
46
+ out.push(' ');
47
+ }
48
+ out.push_str(&encode(modu));
49
+ if len > 0 {
50
+ out.push(' ');
51
+ out.push_str(SCALE[len]);
52
+ }
53
+ }
54
+ out
55
+ }
56
+ }
@@ -0,0 +1,4 @@
1
+ //
2
+ // See Rust Language Specific Instructions
3
+ // below normal exercise description.
4
+ //
@@ -0,0 +1,130 @@
1
+ extern crate say;
2
+
3
+ // Note: No tests created using 'and' with numbers.
4
+ // Aparently Most American English does not use the 'and' with numbers,
5
+ // where it is common in British English to use the 'and'.
6
+
7
+ #[test]
8
+ fn test_zero() {
9
+ assert_eq!(say::encode(0), String::from("zero"));
10
+ }
11
+
12
+ //
13
+ // If the below test is uncommented, it should not compile.
14
+ //
15
+ /*
16
+ #[test]
17
+ fn test_negative() {
18
+ assert_eq!(say::encode(-1), String::from("won't compile"));
19
+ }
20
+ */
21
+
22
+ #[test]
23
+ fn test_one() {
24
+ assert_eq!(say::encode(1), String::from("one"));
25
+ }
26
+
27
+ #[test]
28
+ #[ignore]
29
+ fn test_fourteen() {
30
+ assert_eq!(say::encode(14), String::from("fourteen"));
31
+ }
32
+
33
+ #[test]
34
+ #[ignore]
35
+ fn test_twenty() {
36
+ assert_eq!(say::encode(20), String::from("twenty"));
37
+ }
38
+
39
+ #[test]
40
+ #[ignore]
41
+ fn test_twenty_two() {
42
+ assert_eq!(say::encode(22), String::from("twenty-two"));
43
+ }
44
+
45
+ #[test]
46
+ #[ignore]
47
+ fn test_one_hundred() {
48
+ assert_eq!(say::encode(100), String::from("one hundred"));
49
+ }
50
+
51
+ // note, using American style with no and
52
+ #[test]
53
+ #[ignore]
54
+ fn test_one_hundred_twenty() {
55
+ assert_eq!(say::encode(120), String::from("one hundred twenty"));
56
+ }
57
+
58
+ #[test]
59
+ #[ignore]
60
+ fn test_one_hundred_twenty_three() {
61
+ assert_eq!(say::encode(123), String::from("one hundred twenty-three"));
62
+ }
63
+
64
+ #[test]
65
+ #[ignore]
66
+ fn test_one_thousand() {
67
+ assert_eq!(say::encode(1000), String::from("one thousand"));
68
+ }
69
+
70
+ #[test]
71
+ #[ignore]
72
+ fn test_one_thousand_two_hundred_thirty_four() {
73
+ assert_eq!(say::encode(1234), String::from("one thousand two hundred thirty-four"));
74
+ }
75
+
76
+ // note, using American style with no and
77
+ #[test]
78
+ #[ignore]
79
+ fn test_eight_hundred_and_ten_thousand() {
80
+ assert_eq!(say::encode(810_000), String::from("eight hundred ten thousand"));
81
+ }
82
+
83
+ #[test]
84
+ #[ignore]
85
+ fn test_one_million() {
86
+ assert_eq!(say::encode(1_000_000), String::from("one million"));
87
+ }
88
+
89
+ // note, using American style with no and
90
+ #[test]
91
+ #[ignore]
92
+ fn test_one_million_two() {
93
+ assert_eq!(say::encode(1_000_002), String::from("one million two"));
94
+ }
95
+
96
+ #[test]
97
+ #[ignore]
98
+ fn test_1002345() {
99
+ assert_eq!(say::encode(1_002_345),
100
+ String::from("one million two thousand three hundred forty-five"));
101
+ }
102
+
103
+ #[test]
104
+ #[ignore]
105
+ fn test_one_billion() {
106
+ assert_eq!(say::encode(1_000_000_000), String::from("one billion"));
107
+ }
108
+
109
+ #[test]
110
+ #[ignore]
111
+ fn test_987654321123() {
112
+ assert_eq!(say::encode(987_654_321_123),
113
+ String::from("nine hundred eighty-seven billion \
114
+ six hundred fifty-four million \
115
+ three hundred twenty-one thousand \
116
+ one hundred twenty-three"));
117
+ }
118
+
119
+ /*
120
+ This test is only if you implemented full parsing for u64 type.
121
+ */
122
+ #[test]
123
+ #[ignore]
124
+ fn test_max_u64() {
125
+ assert_eq!(say::encode(9_223_372_036_854_775_807),
126
+ String::from("nine quintillion two hundred twenty-three \
127
+ quadrillion three hundred seventy-two trillion \
128
+ thirty-six billion eight hundred fifty-four million \
129
+ seven hundred seventy-five thousand eight hundred seven"));
130
+ }
File without changes
@@ -0,0 +1,35 @@
1
+ // The code below is a stub. Just enough to satisfy the compiler.
2
+ // In order to pass the tests you can add-to or change any of this code.
3
+ #![allow(unused_variables)]
4
+
5
+ pub struct Duration;
6
+
7
+ impl From<u64> for Duration {
8
+ fn from(s: u64) -> Self {
9
+ unimplemented!()
10
+ }
11
+ }
12
+
13
+ pub trait Planet {
14
+ fn years_during(d: &Duration) -> f64 {
15
+ unimplemented!();
16
+ }
17
+ }
18
+
19
+ pub struct Mercury;
20
+ pub struct Venus;
21
+ pub struct Earth;
22
+ pub struct Mars;
23
+ pub struct Jupiter;
24
+ pub struct Saturn;
25
+ pub struct Uranus;
26
+ pub struct Neptune;
27
+
28
+ impl Planet for Mercury {}
29
+ impl Planet for Venus {}
30
+ impl Planet for Earth {}
31
+ impl Planet for Mars {}
32
+ impl Planet for Jupiter {}
33
+ impl Planet for Saturn {}
34
+ impl Planet for Uranus {}
35
+ impl Planet for Neptune {}
@@ -0,0 +1,9 @@
1
+ /// Convert a list of numbers to a stream of bytes encoded with variable length encoding.
2
+ pub fn to_bytes(values: &[u32]) -> Vec<u8> {
3
+ unimplemented!()
4
+ }
5
+
6
+ /// Given a stream of bytes, extract all numbers which are encoded in there.
7
+ pub fn from_bytes(bytes: &[u8]) -> Result<Vec<u32>, &'static str> {
8
+ unimplemented!()
9
+ }
File without changes
@@ -1,7 +1,5 @@
1
1
  {
2
- "slug": "scheme",
3
2
  "language": "Scheme",
4
- "repository": "https://github.com/exercism/scheme",
5
3
  "active": true,
6
4
  "exercises": [
7
5
  {
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.0
4
+ version: 2.2.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Katrina Owen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-07-22 00:00:00.000000000 Z
11
+ date: 2017-07-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubyzip
@@ -5652,9 +5652,9 @@ files:
5652
5652
  - tracks/java/exercises/nth-prime/src/test/java/PrimeCalculatorTest.java
5653
5653
  - tracks/java/exercises/nucleotide-count/README.md
5654
5654
  - tracks/java/exercises/nucleotide-count/build.gradle
5655
- - tracks/java/exercises/nucleotide-count/src/example/java/DNA.java
5655
+ - tracks/java/exercises/nucleotide-count/src/example/java/NucleotideCounter.java
5656
5656
  - tracks/java/exercises/nucleotide-count/src/main/java/.keep
5657
- - tracks/java/exercises/nucleotide-count/src/test/java/NucleotideTest.java
5657
+ - tracks/java/exercises/nucleotide-count/src/test/java/NucleotideCounterTest.java
5658
5658
  - tracks/java/exercises/ocr-numbers/README.md
5659
5659
  - tracks/java/exercises/ocr-numbers/build.gradle
5660
5660
  - tracks/java/exercises/ocr-numbers/src/example/java/Digit.java
@@ -6533,6 +6533,7 @@ files:
6533
6533
  - tracks/kotlin/exercises/roman-numerals/src/example/kotlin/RomanNumeral.kt
6534
6534
  - tracks/kotlin/exercises/roman-numerals/src/main/kotlin/.keep
6535
6535
  - tracks/kotlin/exercises/roman-numerals/src/test/kotlin/RomanNumeralTest.kt
6536
+ - tracks/kotlin/exercises/rotational-cipher/README.md
6536
6537
  - tracks/kotlin/exercises/rotational-cipher/build.gradle
6537
6538
  - tracks/kotlin/exercises/rotational-cipher/src/example/kotlin/RotationalCipher.kt
6538
6539
  - tracks/kotlin/exercises/rotational-cipher/src/main/kotlin/.keep
@@ -6864,98 +6865,129 @@ files:
6864
6865
  - tracks/lisp/bin/fetch-configlet
6865
6866
  - tracks/lisp/bin/xlisp-test.lisp
6866
6867
  - tracks/lisp/config.json
6868
+ - tracks/lisp/config/exercise_readme.go.tmpl
6867
6869
  - tracks/lisp/docs/ABOUT.md
6868
6870
  - tracks/lisp/docs/EXERCISE_README_INSERT.md
6869
6871
  - tracks/lisp/docs/INSTALLATION.md
6870
6872
  - tracks/lisp/docs/LEARNING.md
6871
6873
  - tracks/lisp/docs/RESOURCES.md
6872
6874
  - tracks/lisp/docs/TESTS.md
6875
+ - tracks/lisp/exercises/allergies/README.md
6873
6876
  - tracks/lisp/exercises/allergies/allergies-test.lisp
6874
6877
  - tracks/lisp/exercises/allergies/allergies.lisp
6875
6878
  - tracks/lisp/exercises/allergies/example.lisp
6879
+ - tracks/lisp/exercises/anagram/README.md
6876
6880
  - tracks/lisp/exercises/anagram/anagram-test.lisp
6877
6881
  - tracks/lisp/exercises/anagram/anagram.lisp
6878
6882
  - tracks/lisp/exercises/anagram/example.lisp
6883
+ - tracks/lisp/exercises/atbash-cipher/README.md
6879
6884
  - tracks/lisp/exercises/atbash-cipher/atbash-cipher-test.lisp
6880
6885
  - tracks/lisp/exercises/atbash-cipher/atbash-cipher.lisp
6881
6886
  - tracks/lisp/exercises/atbash-cipher/example.lisp
6887
+ - tracks/lisp/exercises/beer-song/README.md
6882
6888
  - tracks/lisp/exercises/beer-song/beer-song-test.lisp
6883
6889
  - tracks/lisp/exercises/beer-song/beer.lisp
6884
6890
  - tracks/lisp/exercises/beer-song/example.lisp
6891
+ - tracks/lisp/exercises/binary/README.md
6885
6892
  - tracks/lisp/exercises/binary/binary-test.lisp
6886
6893
  - tracks/lisp/exercises/binary/example.lisp
6894
+ - tracks/lisp/exercises/bob/README.md
6887
6895
  - tracks/lisp/exercises/bob/bob-test.lisp
6888
6896
  - tracks/lisp/exercises/bob/bob.lisp
6889
6897
  - tracks/lisp/exercises/bob/example.lisp
6898
+ - tracks/lisp/exercises/crypto-square/README.md
6890
6899
  - tracks/lisp/exercises/crypto-square/crypto-square-test.lisp
6891
6900
  - tracks/lisp/exercises/crypto-square/crypto-square.lisp
6892
6901
  - tracks/lisp/exercises/crypto-square/example.lisp
6902
+ - tracks/lisp/exercises/difference-of-squares/README.md
6893
6903
  - tracks/lisp/exercises/difference-of-squares/difference-of-squares-test.lisp
6894
6904
  - tracks/lisp/exercises/difference-of-squares/example.lisp
6895
6905
  - tracks/lisp/exercises/difference-of-squares/squares.lisp
6906
+ - tracks/lisp/exercises/etl/README.md
6896
6907
  - tracks/lisp/exercises/etl/etl-test.lisp
6897
6908
  - tracks/lisp/exercises/etl/etl.lisp
6898
6909
  - tracks/lisp/exercises/etl/example.lisp
6910
+ - tracks/lisp/exercises/gigasecond/README.md
6899
6911
  - tracks/lisp/exercises/gigasecond/example.lisp
6900
6912
  - tracks/lisp/exercises/gigasecond/gigasecond-test.lisp
6901
6913
  - tracks/lisp/exercises/gigasecond/gigasecond.lisp
6914
+ - tracks/lisp/exercises/grade-school/README.md
6902
6915
  - tracks/lisp/exercises/grade-school/example.lisp
6903
6916
  - tracks/lisp/exercises/grade-school/grade-school-test.lisp
6904
6917
  - tracks/lisp/exercises/grade-school/school.lisp
6918
+ - tracks/lisp/exercises/grains/README.md
6905
6919
  - tracks/lisp/exercises/grains/example.lisp
6906
6920
  - tracks/lisp/exercises/grains/grains-test.lisp
6907
6921
  - tracks/lisp/exercises/grains/grains.lisp
6922
+ - tracks/lisp/exercises/hamming/README.md
6908
6923
  - tracks/lisp/exercises/hamming/example.lisp
6909
6924
  - tracks/lisp/exercises/hamming/hamming-test.lisp
6910
6925
  - tracks/lisp/exercises/hamming/hamming.lisp
6926
+ - tracks/lisp/exercises/leap/README.md
6911
6927
  - tracks/lisp/exercises/leap/example.lisp
6912
6928
  - tracks/lisp/exercises/leap/leap-test.lisp
6913
6929
  - tracks/lisp/exercises/leap/leap-year.lisp
6930
+ - tracks/lisp/exercises/meetup/README.md
6914
6931
  - tracks/lisp/exercises/meetup/example.lisp
6915
6932
  - tracks/lisp/exercises/meetup/meetup-test.lisp
6916
6933
  - tracks/lisp/exercises/meetup/meetup.lisp
6934
+ - tracks/lisp/exercises/nucleotide-count/README.md
6917
6935
  - tracks/lisp/exercises/nucleotide-count/dna.lisp
6918
6936
  - tracks/lisp/exercises/nucleotide-count/example.lisp
6919
6937
  - tracks/lisp/exercises/nucleotide-count/nucleotide-count-test.lisp
6938
+ - tracks/lisp/exercises/pascals-triangle/README.md
6920
6939
  - tracks/lisp/exercises/pascals-triangle/example.lisp
6921
6940
  - tracks/lisp/exercises/pascals-triangle/pascal.lisp
6922
6941
  - tracks/lisp/exercises/pascals-triangle/pascals-triangle-test.lisp
6942
+ - tracks/lisp/exercises/phone-number/README.md
6923
6943
  - tracks/lisp/exercises/phone-number/example.lisp
6924
6944
  - tracks/lisp/exercises/phone-number/phone-number-test.lisp
6925
6945
  - tracks/lisp/exercises/phone-number/phone.lisp
6946
+ - tracks/lisp/exercises/prime-factors/README.md
6926
6947
  - tracks/lisp/exercises/prime-factors/example.lisp
6927
6948
  - tracks/lisp/exercises/prime-factors/prime-factors-test.lisp
6928
6949
  - tracks/lisp/exercises/prime-factors/prime-factors.lisp
6950
+ - tracks/lisp/exercises/raindrops/README.md
6929
6951
  - tracks/lisp/exercises/raindrops/example.lisp
6930
6952
  - tracks/lisp/exercises/raindrops/raindrops-test.lisp
6931
6953
  - tracks/lisp/exercises/raindrops/raindrops.lisp
6954
+ - tracks/lisp/exercises/rna-transcription/README.md
6932
6955
  - tracks/lisp/exercises/rna-transcription/dna.lisp
6933
6956
  - tracks/lisp/exercises/rna-transcription/example.lisp
6934
6957
  - tracks/lisp/exercises/rna-transcription/rna-transcription-test.lisp
6958
+ - tracks/lisp/exercises/robot-name/README.md
6935
6959
  - tracks/lisp/exercises/robot-name/example.lisp
6936
6960
  - tracks/lisp/exercises/robot-name/robot-name-test.lisp
6937
6961
  - tracks/lisp/exercises/robot-name/robot.lisp
6962
+ - tracks/lisp/exercises/roman-numerals/README.md
6938
6963
  - tracks/lisp/exercises/roman-numerals/example.lisp
6939
6964
  - tracks/lisp/exercises/roman-numerals/roman-numerals-test.lisp
6940
6965
  - tracks/lisp/exercises/roman-numerals/roman.lisp
6966
+ - tracks/lisp/exercises/scrabble-score/README.md
6941
6967
  - tracks/lisp/exercises/scrabble-score/example.lisp
6942
6968
  - tracks/lisp/exercises/scrabble-score/scrabble-score-test.lisp
6943
6969
  - tracks/lisp/exercises/scrabble-score/scrabble-score.lisp
6970
+ - tracks/lisp/exercises/sieve/README.md
6944
6971
  - tracks/lisp/exercises/sieve/example.lisp
6945
6972
  - tracks/lisp/exercises/sieve/sieve-test.lisp
6946
6973
  - tracks/lisp/exercises/sieve/sieve.lisp
6974
+ - tracks/lisp/exercises/space-age/README.md
6947
6975
  - tracks/lisp/exercises/space-age/example.lisp
6948
6976
  - tracks/lisp/exercises/space-age/space-age-test.lisp
6949
6977
  - tracks/lisp/exercises/space-age/space-age.lisp
6978
+ - tracks/lisp/exercises/strain/README.md
6950
6979
  - tracks/lisp/exercises/strain/example.lisp
6951
6980
  - tracks/lisp/exercises/strain/strain-test.lisp
6952
6981
  - tracks/lisp/exercises/strain/strain.lisp
6982
+ - tracks/lisp/exercises/triangle/README.md
6953
6983
  - tracks/lisp/exercises/triangle/example.lisp
6954
6984
  - tracks/lisp/exercises/triangle/triangle-test.lisp
6955
6985
  - tracks/lisp/exercises/triangle/triangle.lisp
6986
+ - tracks/lisp/exercises/trinary/README.md
6956
6987
  - tracks/lisp/exercises/trinary/example.lisp
6957
6988
  - tracks/lisp/exercises/trinary/trinary-test.lisp
6958
6989
  - tracks/lisp/exercises/trinary/trinary.lisp
6990
+ - tracks/lisp/exercises/word-count/README.md
6959
6991
  - tracks/lisp/exercises/word-count/example.lisp
6960
6992
  - tracks/lisp/exercises/word-count/word-count-test.lisp
6961
6993
  - tracks/lisp/exercises/word-count/word-count.lisp
@@ -9657,6 +9689,7 @@ files:
9657
9689
  - tracks/rust/config.json
9658
9690
  - tracks/rust/config/exercise-readme-insert.md
9659
9691
  - tracks/rust/config/exercise_readme.go.tmpl
9692
+ - tracks/rust/config/maintainers.json
9660
9693
  - tracks/rust/docs/ABOUT.md
9661
9694
  - tracks/rust/docs/INSTALLATION.md
9662
9695
  - tracks/rust/docs/LEARNING.md
@@ -9914,6 +9947,7 @@ files:
9914
9947
  - tracks/rust/exercises/pig-latin/Cargo.toml
9915
9948
  - tracks/rust/exercises/pig-latin/README.md
9916
9949
  - tracks/rust/exercises/pig-latin/example.rs
9950
+ - tracks/rust/exercises/pig-latin/src/lib.rs
9917
9951
  - tracks/rust/exercises/pig-latin/tests/pig-latin.rs
9918
9952
  - tracks/rust/exercises/protein-translation/.gitignore
9919
9953
  - tracks/rust/exercises/protein-translation/Cargo.lock
@@ -9991,6 +10025,13 @@ files:
9991
10025
  - tracks/rust/exercises/run-length-encoding/example.rs
9992
10026
  - tracks/rust/exercises/run-length-encoding/src/lib.rs
9993
10027
  - tracks/rust/exercises/run-length-encoding/tests/run-length-encoding.rs
10028
+ - tracks/rust/exercises/say/.meta/hints.md
10029
+ - tracks/rust/exercises/say/Cargo.lock
10030
+ - tracks/rust/exercises/say/Cargo.toml
10031
+ - tracks/rust/exercises/say/README.md
10032
+ - tracks/rust/exercises/say/example.rs
10033
+ - tracks/rust/exercises/say/src/lib.rs
10034
+ - tracks/rust/exercises/say/tests/say.rs
9994
10035
  - tracks/rust/exercises/scrabble-score/.gitignore
9995
10036
  - tracks/rust/exercises/scrabble-score/Cargo.lock
9996
10037
  - tracks/rust/exercises/scrabble-score/Cargo.toml