trackler 2.0.6.6 → 2.0.6.7

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 (69) hide show
  1. checksums.yaml +4 -4
  2. data/common/exercises/perfect-numbers/description.md +2 -2
  3. data/lib/trackler/version.rb +1 -1
  4. data/tracks/c/exercises/allergies/src/allergies.h +2 -2
  5. data/tracks/c/exercises/allergies/src/example.h +2 -2
  6. data/tracks/c/exercises/anagram/src/anagram.h +2 -2
  7. data/tracks/c/exercises/anagram/test/test_anagram.c +66 -79
  8. data/tracks/c/exercises/atbash-cipher/src/example.h +2 -2
  9. data/tracks/c/exercises/beer-song/src/example.h +2 -2
  10. data/tracks/c/exercises/binary-search/src/example.h +2 -2
  11. data/tracks/c/exercises/bob/src/example.h +2 -2
  12. data/tracks/c/exercises/clock/src/clock.h +2 -2
  13. data/tracks/c/exercises/difference-of-squares/src/example.h +2 -2
  14. data/tracks/c/exercises/gigasecond/src/example.h +2 -2
  15. data/tracks/c/exercises/grains/src/example.h +2 -2
  16. data/tracks/c/exercises/hamming/src/example.h +2 -2
  17. data/tracks/c/exercises/hello-world/src/hello_world.h +2 -2
  18. data/tracks/c/exercises/largest-series-product/src/example.h +2 -2
  19. data/tracks/c/exercises/leap/src/example.h +2 -2
  20. data/tracks/c/exercises/meetup/src/example.h +2 -2
  21. data/tracks/c/exercises/nth-prime/src/example.h +2 -2
  22. data/tracks/c/exercises/pangram/src/example.h +2 -2
  23. data/tracks/c/exercises/phone-number/src/example.h +2 -2
  24. data/tracks/c/exercises/raindrops/src/example.h +2 -2
  25. data/tracks/c/exercises/rna-transcription/src/example.h +2 -2
  26. data/tracks/c/exercises/robot-simulator/src/robot_simulator.h +2 -2
  27. data/tracks/c/exercises/roman-numerals/src/example.h +2 -2
  28. data/tracks/c/exercises/series/src/series.h +2 -2
  29. data/tracks/c/exercises/sieve/src/sieve.h +2 -2
  30. data/tracks/c/exercises/sum-of-multiples/src/example.h +2 -2
  31. data/tracks/c/exercises/word-count/src/word_count.h +2 -2
  32. data/tracks/erlang/config.json +5 -0
  33. data/tracks/erlang/exercises/roman-numerals/example.erl +19 -0
  34. data/tracks/erlang/exercises/roman-numerals/roman_numerals.erl +6 -0
  35. data/tracks/erlang/exercises/roman-numerals/roman_numerals_tests.erl +46 -0
  36. data/tracks/haskell/exercises/allergies/src/Allergies.hs +9 -1
  37. data/tracks/haskell/exercises/grade-school/HINTS.md +3 -3
  38. data/tracks/haskell/exercises/grade-school/src/School.hs +7 -3
  39. data/tracks/haskell/exercises/meetup/HINTS.md +3 -5
  40. data/tracks/haskell/exercises/meetup/src/Meetup.hs +14 -2
  41. data/tracks/haskell/exercises/space-age/HINTS.md +3 -5
  42. data/tracks/haskell/exercises/space-age/src/SpaceAge.hs +8 -1
  43. data/tracks/java/config.json +7 -1
  44. data/tracks/java/exercises/settings.gradle +1 -0
  45. data/tracks/java/exercises/sublist/build.gradle +17 -0
  46. data/tracks/java/exercises/sublist/src/example/java/Relationship.java +1 -0
  47. data/tracks/java/exercises/sublist/src/example/java/RelationshipComputer.java +29 -0
  48. data/tracks/java/exercises/sublist/src/main/java/Relationship.java +5 -0
  49. data/tracks/java/exercises/sublist/src/main/java/RelationshipComputer.java +5 -0
  50. data/tracks/java/exercises/sublist/src/test/java/RelationshipComputerTest.java +183 -0
  51. data/tracks/lua/exercises/run-length-encoding/example.lua +1 -1
  52. data/tracks/lua/exercises/run-length-encoding/run-length-encoding_spec.lua +8 -0
  53. data/tracks/lua/exercises/sublist/sublist_spec.lua +4 -0
  54. data/tracks/ruby/{SETUP.md → exercises/TRACK_HINTS.md} +0 -0
  55. data/tracks/rust/{SETUP.md → exercises/TRACK_HINTS.md} +0 -0
  56. data/tracks/rust/problem_ordering.md +41 -0
  57. data/tracks/scala/config.json +14 -0
  58. data/tracks/scala/exercises/saddle-points/build.sbt +2 -2
  59. data/tracks/scala/exercises/say/build.sbt +2 -2
  60. data/tracks/scala/exercises/secret-handshake/build.sbt +2 -2
  61. data/tracks/scala/exercises/series/build.sbt +3 -2
  62. data/tracks/scheme/config.json +67 -14
  63. metadata +14 -10
  64. data/tracks/haskell/SETUP.md +0 -52
  65. data/tracks/haskell/exercises/allergies/.meta/DONT-TEST-STUB +0 -1
  66. data/tracks/haskell/exercises/grade-school/.meta/DONT-TEST-STUB +0 -2
  67. data/tracks/haskell/exercises/meetup/.meta/DONT-TEST-STUB +0 -2
  68. data/tracks/haskell/exercises/space-age/.meta/DONT-TEST-STUB +0 -1
  69. data/tracks/rust/problems.md +0 -88
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.0.6.6
4
+ version: 2.0.6.7
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-01-08 00:00:00.000000000 Z
11
+ date: 2017-01-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubyzip
@@ -2343,6 +2343,9 @@ files:
2343
2343
  - tracks/erlang/exercises/rna-transcription/rna_transcription_tests.erl
2344
2344
  - tracks/erlang/exercises/robot-simulator/example.erl
2345
2345
  - tracks/erlang/exercises/robot-simulator/robot_simulator_tests.erl
2346
+ - tracks/erlang/exercises/roman-numerals/example.erl
2347
+ - tracks/erlang/exercises/roman-numerals/roman_numerals.erl
2348
+ - tracks/erlang/exercises/roman-numerals/roman_numerals_tests.erl
2346
2349
  - tracks/erlang/exercises/scrabble-score/example.erl
2347
2350
  - tracks/erlang/exercises/scrabble-score/scrabble_score_tests.erl
2348
2351
  - tracks/erlang/exercises/series/example.erl
@@ -2936,7 +2939,6 @@ files:
2936
2939
  - tracks/haskell/.travis.yml
2937
2940
  - tracks/haskell/LICENSE
2938
2941
  - tracks/haskell/README.md
2939
- - tracks/haskell/SETUP.md
2940
2942
  - tracks/haskell/bin/fetch-configlet
2941
2943
  - tracks/haskell/common/stack.yaml
2942
2944
  - tracks/haskell/config.json
@@ -2958,7 +2960,6 @@ files:
2958
2960
  - tracks/haskell/exercises/all-your-base/src/Base.hs
2959
2961
  - tracks/haskell/exercises/all-your-base/stack.yaml
2960
2962
  - tracks/haskell/exercises/all-your-base/test/Tests.hs
2961
- - tracks/haskell/exercises/allergies/.meta/DONT-TEST-STUB
2962
2963
  - tracks/haskell/exercises/allergies/HINTS.md
2963
2964
  - tracks/haskell/exercises/allergies/examples/success-standard/package.yaml
2964
2965
  - tracks/haskell/exercises/allergies/examples/success-standard/src/Allergies.hs
@@ -3106,7 +3107,6 @@ files:
3106
3107
  - tracks/haskell/exercises/go-counting/src/Counting.hs
3107
3108
  - tracks/haskell/exercises/go-counting/stack.yaml
3108
3109
  - tracks/haskell/exercises/go-counting/test/Tests.hs
3109
- - tracks/haskell/exercises/grade-school/.meta/DONT-TEST-STUB
3110
3110
  - tracks/haskell/exercises/grade-school/HINTS.md
3111
3111
  - tracks/haskell/exercises/grade-school/examples/success-standard/package.yaml
3112
3112
  - tracks/haskell/exercises/grade-school/examples/success-standard/src/School.hs
@@ -3190,7 +3190,6 @@ files:
3190
3190
  - tracks/haskell/exercises/matrix/src/Matrix.hs
3191
3191
  - tracks/haskell/exercises/matrix/stack.yaml
3192
3192
  - tracks/haskell/exercises/matrix/test/Tests.hs
3193
- - tracks/haskell/exercises/meetup/.meta/DONT-TEST-STUB
3194
3193
  - tracks/haskell/exercises/meetup/HINTS.md
3195
3194
  - tracks/haskell/exercises/meetup/examples/success-standard/package.yaml
3196
3195
  - tracks/haskell/exercises/meetup/examples/success-standard/src/Meetup.hs
@@ -3388,7 +3387,6 @@ files:
3388
3387
  - tracks/haskell/exercises/simple-linked-list/src/LinkedList.hs
3389
3388
  - tracks/haskell/exercises/simple-linked-list/stack.yaml
3390
3389
  - tracks/haskell/exercises/simple-linked-list/test/Tests.hs
3391
- - tracks/haskell/exercises/space-age/.meta/DONT-TEST-STUB
3392
3390
  - tracks/haskell/exercises/space-age/HINTS.md
3393
3391
  - tracks/haskell/exercises/space-age/examples/success-double/package.yaml
3394
3392
  - tracks/haskell/exercises/space-age/examples/success-double/src/SpaceAge.hs
@@ -3737,6 +3735,12 @@ files:
3737
3735
  - tracks/java/exercises/strain/src/example/java/Strain.java
3738
3736
  - tracks/java/exercises/strain/src/main/java/.keep
3739
3737
  - tracks/java/exercises/strain/src/test/java/StrainTest.java
3738
+ - tracks/java/exercises/sublist/build.gradle
3739
+ - tracks/java/exercises/sublist/src/example/java/Relationship.java
3740
+ - tracks/java/exercises/sublist/src/example/java/RelationshipComputer.java
3741
+ - tracks/java/exercises/sublist/src/main/java/Relationship.java
3742
+ - tracks/java/exercises/sublist/src/main/java/RelationshipComputer.java
3743
+ - tracks/java/exercises/sublist/src/test/java/RelationshipComputerTest.java
3740
3744
  - tracks/java/exercises/sum-of-multiples/build.gradle
3741
3745
  - tracks/java/exercises/sum-of-multiples/src/example/java/SumOfMultiples.java
3742
3746
  - tracks/java/exercises/sum-of-multiples/src/main/java/SumOfMultiples.java
@@ -5927,7 +5931,6 @@ files:
5927
5931
  - tracks/ruby/Makefile
5928
5932
  - tracks/ruby/README.md
5929
5933
  - tracks/ruby/Rakefile
5930
- - tracks/ruby/SETUP.md
5931
5934
  - tracks/ruby/bin/enable-executable
5932
5935
  - tracks/ruby/bin/executable-tests-check
5933
5936
  - tracks/ruby/bin/fetch-configlet
@@ -5941,6 +5944,7 @@ files:
5941
5944
  - tracks/ruby/docs/LEARNING.md
5942
5945
  - tracks/ruby/docs/RESOURCES.md
5943
5946
  - tracks/ruby/docs/TESTS.md
5947
+ - tracks/ruby/exercises/TRACK_HINTS.md
5944
5948
  - tracks/ruby/exercises/accumulate/accumulate_test.rb
5945
5949
  - tracks/ruby/exercises/accumulate/example.rb
5946
5950
  - tracks/ruby/exercises/acronym/.meta/.version
@@ -6250,7 +6254,6 @@ files:
6250
6254
  - tracks/rust/.travis.yml
6251
6255
  - tracks/rust/LICENSE
6252
6256
  - tracks/rust/README.md
6253
- - tracks/rust/SETUP.md
6254
6257
  - tracks/rust/_test/check-exercises.sh
6255
6258
  - tracks/rust/bin/fetch-configlet
6256
6259
  - tracks/rust/config.json
@@ -6259,6 +6262,7 @@ files:
6259
6262
  - tracks/rust/docs/LEARNING.md
6260
6263
  - tracks/rust/docs/RESOURCES.md
6261
6264
  - tracks/rust/docs/TESTS.md
6265
+ - tracks/rust/exercises/TRACK_HINTS.md
6262
6266
  - tracks/rust/exercises/acronym/Cargo.lock
6263
6267
  - tracks/rust/exercises/acronym/Cargo.toml
6264
6268
  - tracks/rust/exercises/acronym/example.rs
@@ -6516,7 +6520,7 @@ files:
6516
6520
  - tracks/rust/exercises/wordy/example.rs
6517
6521
  - tracks/rust/exercises/wordy/tests/wordy.rs
6518
6522
  - tracks/rust/img/icon.png
6519
- - tracks/rust/problems.md
6523
+ - tracks/rust/problem_ordering.md
6520
6524
  - tracks/scala/.git
6521
6525
  - tracks/scala/.gitignore
6522
6526
  - tracks/scala/.travis.yml
@@ -1,52 +0,0 @@
1
-
2
- ## Getting Started
3
-
4
- For installation and learning resources, refer to the
5
- [exercism help page](http://exercism.io/languages/haskell).
6
-
7
- ## Running the tests
8
-
9
- To run the test suite, execute the following command:
10
-
11
- ```bash
12
- stack test
13
- ```
14
-
15
- #### If you get an error message like this...
16
-
17
- ```
18
- No .cabal file found in directory
19
- ```
20
-
21
- You are probably running an old stack version and need
22
- to upgrade it.
23
-
24
- #### Otherwise, if you get an error message like this...
25
-
26
- ```
27
- No compiler found, expected minor version match with...
28
- Try running "stack setup" to install the correct GHC...
29
- ```
30
-
31
- Just do as it says and it will download and install
32
- the correct compiler version:
33
-
34
- ```bash
35
- stack setup
36
- ```
37
-
38
- ## Running *GHCi*
39
-
40
- If you want to play with your solution in GHCi, just run the command:
41
-
42
- ```bash
43
- stack ghci
44
- ```
45
-
46
- ## Feedback, Issues, Pull Requests
47
-
48
- The [exercism/xhaskell](https://github.com/exercism/xhaskell) repository on
49
- GitHub is the home for all of the Haskell exercises.
50
-
51
- If you have feedback about an exercise, or want to help implementing a new
52
- one, head over there and create an issue. We'll do our best to help you!
@@ -1 +0,0 @@
1
- We would have to export all the allergens in the stub; let students figure that out.
@@ -1,2 +0,0 @@
1
- No type signatures on functions (TODO: Should we have them?),
2
- and this makes it impossible to ensure that the result of `grade` is `Eq`.
@@ -1,2 +0,0 @@
1
- Can't build because the parameters of meetupDay are unused
2
- Would also have to export all the individual days of the week in stub; let students figure that out.
@@ -1 +0,0 @@
1
- We would have to export all the planets in the stub; let students figure that out.
@@ -1,88 +0,0 @@
1
- # Rust Track Problem Order
2
-
3
- The actual source of truth of problem order is [config.json](config.json), but this file documents our reasoning behind the problem order in that file.
4
-
5
- ## Background
6
-
7
- - https://github.com/exercism/xrust/issues/126
8
- - https://github.com/exercism/xrust/issues/127
9
- - http://designisrefactoring.com/2016/07/09/exercism-shouldnt-make-you-cry/
10
-
11
- # The Problems, By Section
12
-
13
- ## Introduction
14
-
15
- The first section contains the sort of stuff you expect when learning any programming languages: conditionals, booleans, looping and some higher-order functions.
16
-
17
- problem | topics
18
- ----- | -----
19
- hello-world | Some/None. println!
20
- gigasecond | crates, math
21
- leap | math, booleans, conditionals
22
- raindrops | case (or `format`). Mutable string
23
- bob | chars, string functions
24
- beer-song | case, string concatenation, vector (optional), loop
25
- difference-of-squares | fold & map
26
- sum-of-multiples | algorithm, borrowing
27
- grains | math, panic
28
-
29
- ## Getting Rusty
30
-
31
- Problems begin to use more Rust-specific features. Try to only introduce one new language feature at a time. And if several problems rely on a feature, try to group them so as to reinforce its usage.
32
-
33
- problem | topics
34
- ----- | -----
35
- hamming | Result
36
- pascals-triangle | Math, Vec, Index (optional)
37
- scrabble-score | chaining higher-order functions, HashMap (optional)
38
- pangram | filter, ascii (optional)
39
- nucleotide-count | Result, filter, entry api, mutablity, match
40
- largest-series-product | Result, windows, higher-order functions, char
41
- word-count | hashmap, str vs string, chars, entry api
42
- atbash-cipher | str vs string, primitive types, iterators, chars, ascii
43
- etl | btree
44
- acronym | map, flat_map, filter, loops, Vec
45
- sieve | vector, map, while let (optional)
46
- rna-transcription | match, struct, str vs string
47
- triangle | Math, Struct. Enum, Trait, Box -- depending on implementation
48
- roman-numerals | mutable, results, loops, struct, traits
49
- all-your-base | Result, enumerate, fold, map
50
- grade-school | struct, entry api, Vec, Option
51
- robot-simulator | Immutability, enum
52
- bracket-push | From trait, stack or recursion
53
- queen-attack | struct, trait (optional), Result
54
- bowling | struct, Result, goofy bowling logic
55
- sublist | enum, generic over type
56
- space-age | Custom Trait, From Trait, Default Trait implementation
57
- allergies | struct, enum, bitwise (probably), vectors, filter
58
- variable-length-quantity | Encodings, slices, bitwise, Result
59
- phone-number | option, format, unwrap_or, iters, match
60
- wordy | Result, string parsing, operators (optional)
61
- tournament | enum, sorting, hashmap, structs
62
- custom-set | generic over type, vector, equality, struct
63
- alphametics | string parsing, combinations, math, external crates (optional)
64
-
65
- ## Rust Gets Strange
66
-
67
- Exercises that pay the cost of Rust's [strangeness budget](http://words.steveklabnik.com/the-language-strangeness-budget). Features that are very specific to Rust.
68
-
69
- problem | topics
70
- ----- | -----
71
- anagram | lifetimes, str vs string, loops, iter, vector
72
- nucleotide-codons | struct, hash map, lifetimes, Result
73
- robot-name | struct, slices, randomness, lifetimes, self mut
74
-
75
- ## Putting it all Together
76
-
77
- These problems don’t necessarily require additional Rust knowledge, but they do require complex solutions.
78
-
79
- problem | topics
80
- ----- | -----
81
- ocr-numbers | Lines, Chunks, slices
82
- minesweeper | Board state
83
- dominoes | Graph theory, searching
84
- parallel-letter-frequency | multi-threading
85
- rectangles | Enum, structs, traits, Lifetimes
86
- forth | Parser reimplementation
87
- circular-buffer | Buffer reimplementation, Generics
88
- react | Lifetimes, generics, closures