trackler 1.0.4.0 → 1.0.4.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (118) hide show
  1. checksums.yaml +4 -4
  2. data/common/CONTRIBUTING.md +17 -2
  3. data/common/exercises/anagram/canonical-data.json +0 -14
  4. data/common/exercises/pig-latin/canonical-data.json +6 -1
  5. data/common/exercises/raindrops/description.md +4 -4
  6. data/common/exercises/raindrops/metadata.yml +1 -1
  7. data/common/exercises/roman-numerals/metadata.yml +1 -1
  8. data/lib/trackler/version.rb +1 -1
  9. data/tracks/c/config.json +12 -1
  10. data/tracks/c/exercises/roman-numerals/makefile +16 -0
  11. data/tracks/c/exercises/roman-numerals/src/example.c +43 -0
  12. data/tracks/c/exercises/roman-numerals/src/example.h +6 -0
  13. data/tracks/c/exercises/roman-numerals/test/test_roman_numerals.c +126 -0
  14. data/tracks/c/exercises/roman-numerals/test/vendor/unity.c +1300 -0
  15. data/tracks/c/exercises/roman-numerals/test/vendor/unity.h +274 -0
  16. data/tracks/c/exercises/roman-numerals/test/vendor/unity_internals.h +701 -0
  17. data/tracks/clojure/exercises/flatten-array/project.clj +4 -0
  18. data/tracks/csharp/exercises/protein-translation/ProteinTranslationTest.cs +1 -1
  19. data/tracks/elixir/exercises/bowling/bowling_test.exs +157 -62
  20. data/tracks/elixir/exercises/bowling/example.exs +33 -4
  21. data/tracks/erlang/config.json +176 -36
  22. data/tracks/go/.travis.yml +7 -1
  23. data/tracks/go/bin/test-without-stubs +29 -0
  24. data/tracks/go/exercises/robot-simulator/defs.go +1 -1
  25. data/tracks/go/exercises/variable-length-quantity/variable_length_quantity_test.go +31 -25
  26. data/tracks/haskell/.travis.yml +9 -5
  27. data/tracks/haskell/config.json +127 -121
  28. data/tracks/haskell/exercises/leap/src/LeapYear.hs +1 -1
  29. data/tracks/haskell/exercises/space-age/HINTS.md +14 -2
  30. data/tracks/haskell/exercises/space-age/{src/Example.hs → examples/success-double/SpaceAge.hs} +0 -0
  31. data/tracks/haskell/exercises/space-age/examples/success-double/package.yaml +19 -0
  32. data/tracks/haskell/exercises/space-age/examples/success-rational/SpaceAge.hs +24 -0
  33. data/tracks/haskell/exercises/space-age/examples/success-rational/package.yaml +19 -0
  34. data/tracks/haskell/exercises/space-age/src/SpaceAge.hs +4 -1
  35. data/tracks/haskell/exercises/space-age/test/Tests.hs +12 -5
  36. data/tracks/haskell/exercises/word-count/HINTS.md +21 -0
  37. data/tracks/haskell/exercises/word-count/examples/success-newtype/WordCount.hs +31 -0
  38. data/tracks/haskell/exercises/word-count/examples/success-newtype/package.yaml +21 -0
  39. data/tracks/haskell/exercises/word-count/examples/success-simple/WordCount.hs +13 -0
  40. data/tracks/haskell/exercises/word-count/examples/success-simple/package.yaml +20 -0
  41. data/tracks/haskell/exercises/word-count/package.yaml +0 -2
  42. data/tracks/haskell/exercises/word-count/src/WordCount.hs +2 -1
  43. data/tracks/haskell/exercises/word-count/test/Tests.hs +15 -6
  44. data/tracks/haskell/exercises/zebra-puzzle/package.yaml +19 -0
  45. data/tracks/haskell/exercises/zebra-puzzle/src/Example.hs +113 -0
  46. data/tracks/haskell/exercises/zebra-puzzle/src/ZebraPuzzle.hs +12 -0
  47. data/tracks/haskell/exercises/zebra-puzzle/stack.yaml +1 -0
  48. data/tracks/haskell/exercises/zebra-puzzle/test/Tests.hs +13 -0
  49. data/tracks/javascript/exercises/beer-song/beer-song.spec.js +5 -0
  50. data/tracks/lisp/config.json +147 -0
  51. data/tracks/ocaml/config.json +12 -0
  52. data/tracks/ocaml/exercises/atbash-cipher/.merlin +5 -0
  53. data/tracks/ocaml/exercises/atbash-cipher/HINTS.md +17 -0
  54. data/tracks/ocaml/exercises/atbash-cipher/Makefile +11 -0
  55. data/tracks/ocaml/exercises/atbash-cipher/atbash_cipher.mli +5 -0
  56. data/tracks/ocaml/exercises/atbash-cipher/example.ml +47 -0
  57. data/tracks/ocaml/exercises/atbash-cipher/test.ml +37 -0
  58. data/tracks/ocaml/exercises/meetup/.merlin +5 -0
  59. data/tracks/ocaml/exercises/meetup/Makefile +11 -0
  60. data/tracks/ocaml/exercises/meetup/example.ml +63 -0
  61. data/tracks/ocaml/exercises/meetup/meetup.mli +7 -0
  62. data/tracks/ocaml/exercises/meetup/test.ml +786 -0
  63. data/tracks/php/exercises/bowling/bowling_test.php +233 -10
  64. data/tracks/php/exercises/bowling/example.php +49 -6
  65. data/tracks/python/.travis.yml +5 -0
  66. data/tracks/python/config.json +33 -1
  67. data/tracks/python/exercises/flatten-array/example.py +18 -0
  68. data/tracks/python/exercises/flatten-array/flatten_array_test.py +40 -0
  69. data/tracks/python/exercises/robot-name/robot_name_test.py +8 -2
  70. data/tracks/r/config.json +32 -8
  71. data/tracks/ruby/bin/enable-executable +9 -5
  72. data/tracks/ruby/bin/executable-tests-check +7 -3
  73. data/tracks/ruby/bin/local-status-check +4 -4
  74. data/tracks/ruby/config.json +8 -1
  75. data/tracks/ruby/exercises/acronym/acronym_test.rb +0 -1
  76. data/tracks/ruby/exercises/anagram/.version +1 -0
  77. data/tracks/ruby/exercises/anagram/anagram_test.rb +101 -31
  78. data/tracks/ruby/exercises/anagram/example.rb +4 -0
  79. data/tracks/ruby/exercises/anagram/example.tt +19 -0
  80. data/tracks/ruby/exercises/gigasecond/.version +1 -1
  81. data/tracks/ruby/exercises/gigasecond/example.rb +1 -1
  82. data/tracks/ruby/exercises/gigasecond/gigasecond_test.rb +2 -2
  83. data/tracks/ruby/exercises/isogram/.version +1 -0
  84. data/tracks/ruby/exercises/isogram/example.rb +10 -0
  85. data/tracks/ruby/exercises/isogram/example.tt +20 -0
  86. data/tracks/ruby/exercises/isogram/isogram_test.rb +90 -0
  87. data/tracks/ruby/exercises/poker/example.rb +97 -39
  88. data/tracks/ruby/exercises/poker/poker_test.rb +67 -36
  89. data/tracks/ruby/exercises/sieve/.version +1 -0
  90. data/tracks/ruby/exercises/sieve/example.rb +4 -0
  91. data/tracks/ruby/exercises/sieve/example.tt +21 -0
  92. data/tracks/ruby/exercises/sieve/sieve_test.rb +36 -13
  93. data/tracks/ruby/exercises/word-count/example.tt +4 -3
  94. data/tracks/ruby/exercises/word-count/word_count_test.rb +38 -48
  95. data/tracks/ruby/lib/anagram_cases.rb +42 -0
  96. data/tracks/ruby/lib/isogram_cases.rb +24 -0
  97. data/tracks/ruby/lib/sieve_cases.rb +33 -0
  98. data/tracks/ruby/lib/word_count_cases.rb +19 -0
  99. data/tracks/scala/config.json +21 -0
  100. data/tracks/scala/docs/RESOURCES.md +1 -0
  101. data/tracks/scala/exercises/bracket-push/build.sbt +4 -0
  102. data/tracks/scala/exercises/bracket-push/example.scala +23 -0
  103. data/tracks/scala/exercises/bracket-push/src/main/scala/.keep +0 -0
  104. data/tracks/scala/exercises/bracket-push/src/test/scala/BracketsTest.scala +68 -0
  105. data/tracks/scala/exercises/change/src/test/scala/ChangeTest.scala +7 -0
  106. data/tracks/scala/exercises/sgf-parsing/build.sbt +7 -0
  107. data/tracks/scala/exercises/sgf-parsing/example.scala +66 -0
  108. data/tracks/scala/exercises/sgf-parsing/src/main/scala/.keep +0 -0
  109. data/tracks/scala/exercises/sgf-parsing/src/main/scala/Sgf.scala +17 -0
  110. data/tracks/scala/exercises/sgf-parsing/src/test/scala/SgfTest.scala +66 -0
  111. data/tracks/scala/exercises/zebra-puzzle/build.sbt +3 -0
  112. data/tracks/scala/exercises/zebra-puzzle/example.scala +152 -0
  113. data/tracks/scala/exercises/zebra-puzzle/src/main/scala/.keep +0 -0
  114. data/tracks/scala/exercises/zebra-puzzle/src/main/scala/ZebraPuzzle.scala +14 -0
  115. data/tracks/scala/exercises/zebra-puzzle/src/test/scala/ZebraPuzzleTest.scala +11 -0
  116. data/tracks/scala/testgen/src/main/scala/BracketPushTestGenerator.scala +44 -0
  117. metadata +63 -3
  118. data/tracks/haskell/exercises/word-count/src/Example.hs +0 -8
@@ -0,0 +1,14 @@
1
+ object ZebraPuzzle {
2
+
3
+ sealed trait Resident
4
+ case object Englishman extends Resident
5
+ case object Spaniard extends Resident
6
+ case object Ukrainian extends Resident
7
+ case object Norwegian extends Resident
8
+ case object Japanese extends Resident
9
+
10
+ case class Solution(waterDrinker: Resident, zebraOwner: Resident)
11
+
12
+ lazy val solve: Solution = ???
13
+ }
14
+
@@ -0,0 +1,11 @@
1
+ import org.scalatest.{FunSuite, Matchers}
2
+
3
+ import ZebraPuzzle._
4
+
5
+ class ZebraPuzzleTest extends FunSuite with Matchers {
6
+ test("solve the Zebra Puzzle") {
7
+ ZebraPuzzle.solve should be (
8
+ Solution(waterDrinker = Norwegian,
9
+ zebraOwner = Japanese))
10
+ }
11
+ }
@@ -0,0 +1,44 @@
1
+ import play.api.libs.json.Json
2
+
3
+ import scala.io.Source
4
+
5
+ class BracketPushTestGenerator {
6
+ implicit val testCaseReader = Json.reads[BracketTestCase]
7
+
8
+ private val filename = "bracket-push.json"
9
+ private val fileContents = Source.fromFile(filename).getLines.mkString
10
+ private val json = Json.parse(fileContents)
11
+
12
+ def write {
13
+ print("import org.scalatest.{FunSuite, Matchers}" + System.lineSeparator())
14
+ print(System.lineSeparator())
15
+ print("class BracketsTest extends FunSuite with Matchers {" + System.lineSeparator())
16
+
17
+ writeTestCases()
18
+
19
+ print("}" + System.lineSeparator())
20
+ }
21
+
22
+ private def writeTestCases(): Unit = {
23
+ val testCases = (json \ "cases").get.as[List[BracketTestCase]]
24
+
25
+ testCases.foreach(tc => {
26
+ print("\ttest(\"" + tc.description + "\") {" + System.lineSeparator())
27
+ println("pending")
28
+ println("Brackets.areBalanced(\"\"\"" + tc.input + "\"\"\") should be (" + tc.expected + ")")
29
+
30
+ print("\t}" + System.lineSeparator())
31
+ print(System.lineSeparator())
32
+ })
33
+ }
34
+ }
35
+
36
+ case class BracketTestCase(description: String,
37
+ input: String,
38
+ expected: Boolean)
39
+
40
+ object BracketPushTestGenerator {
41
+ def main(args: Array[String]): Unit = {
42
+ new BracketPushTestGenerator().write
43
+ }
44
+ }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trackler
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.4.0
4
+ version: 1.0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Katrina Owen
@@ -623,6 +623,13 @@ files:
623
623
  - tracks/c/exercises/rna-transcription/test/vendor/unity.c
624
624
  - tracks/c/exercises/rna-transcription/test/vendor/unity.h
625
625
  - tracks/c/exercises/rna-transcription/test/vendor/unity_internals.h
626
+ - tracks/c/exercises/roman-numerals/makefile
627
+ - tracks/c/exercises/roman-numerals/src/example.c
628
+ - tracks/c/exercises/roman-numerals/src/example.h
629
+ - tracks/c/exercises/roman-numerals/test/test_roman_numerals.c
630
+ - tracks/c/exercises/roman-numerals/test/vendor/unity.c
631
+ - tracks/c/exercises/roman-numerals/test/vendor/unity.h
632
+ - tracks/c/exercises/roman-numerals/test/vendor/unity_internals.h
626
633
  - tracks/c/exercises/sum-of-multiples/makefile
627
634
  - tracks/c/exercises/sum-of-multiples/src/example.c
628
635
  - tracks/c/exercises/sum-of-multiples/src/example.h
@@ -713,6 +720,7 @@ files:
713
720
  - tracks/clojure/exercises/etl/project.clj
714
721
  - tracks/clojure/exercises/etl/src/example.clj
715
722
  - tracks/clojure/exercises/etl/test/etl_test.clj
723
+ - tracks/clojure/exercises/flatten-array/project.clj
716
724
  - tracks/clojure/exercises/flatten-array/src/example.clj
717
725
  - tracks/clojure/exercises/flatten-array/test/flatten_array_test.clj
718
726
  - tracks/clojure/exercises/gigasecond/project.clj
@@ -3093,8 +3101,11 @@ files:
3093
3101
  - tracks/haskell/exercises/simple-linked-list/stack.yaml
3094
3102
  - tracks/haskell/exercises/simple-linked-list/test/Tests.hs
3095
3103
  - tracks/haskell/exercises/space-age/HINTS.md
3104
+ - tracks/haskell/exercises/space-age/examples/success-double/SpaceAge.hs
3105
+ - tracks/haskell/exercises/space-age/examples/success-double/package.yaml
3106
+ - tracks/haskell/exercises/space-age/examples/success-rational/SpaceAge.hs
3107
+ - tracks/haskell/exercises/space-age/examples/success-rational/package.yaml
3096
3108
  - tracks/haskell/exercises/space-age/package.yaml
3097
- - tracks/haskell/exercises/space-age/src/Example.hs
3098
3109
  - tracks/haskell/exercises/space-age/src/SpaceAge.hs
3099
3110
  - tracks/haskell/exercises/space-age/stack.yaml
3100
3111
  - tracks/haskell/exercises/space-age/test/Tests.hs
@@ -3125,8 +3136,12 @@ files:
3125
3136
  - tracks/haskell/exercises/trinary/src/Trinary.hs
3126
3137
  - tracks/haskell/exercises/trinary/stack.yaml
3127
3138
  - tracks/haskell/exercises/trinary/test/Tests.hs
3139
+ - tracks/haskell/exercises/word-count/HINTS.md
3140
+ - tracks/haskell/exercises/word-count/examples/success-newtype/WordCount.hs
3141
+ - tracks/haskell/exercises/word-count/examples/success-newtype/package.yaml
3142
+ - tracks/haskell/exercises/word-count/examples/success-simple/WordCount.hs
3143
+ - tracks/haskell/exercises/word-count/examples/success-simple/package.yaml
3128
3144
  - tracks/haskell/exercises/word-count/package.yaml
3129
- - tracks/haskell/exercises/word-count/src/Example.hs
3130
3145
  - tracks/haskell/exercises/word-count/src/WordCount.hs
3131
3146
  - tracks/haskell/exercises/word-count/stack.yaml
3132
3147
  - tracks/haskell/exercises/word-count/test/Tests.hs
@@ -3136,6 +3151,11 @@ files:
3136
3151
  - tracks/haskell/exercises/wordy/src/WordProblem.hs
3137
3152
  - tracks/haskell/exercises/wordy/stack.yaml
3138
3153
  - tracks/haskell/exercises/wordy/test/Tests.hs
3154
+ - tracks/haskell/exercises/zebra-puzzle/package.yaml
3155
+ - tracks/haskell/exercises/zebra-puzzle/src/Example.hs
3156
+ - tracks/haskell/exercises/zebra-puzzle/src/ZebraPuzzle.hs
3157
+ - tracks/haskell/exercises/zebra-puzzle/stack.yaml
3158
+ - tracks/haskell/exercises/zebra-puzzle/test/Tests.hs
3139
3159
  - tracks/haskell/exercises/zipper/package.yaml
3140
3160
  - tracks/haskell/exercises/zipper/src/Example.hs
3141
3161
  - tracks/haskell/exercises/zipper/src/Zipper.hs
@@ -4459,6 +4479,12 @@ files:
4459
4479
  - tracks/ocaml/exercises/anagram/anagram.mli
4460
4480
  - tracks/ocaml/exercises/anagram/example.ml
4461
4481
  - tracks/ocaml/exercises/anagram/test.ml
4482
+ - tracks/ocaml/exercises/atbash-cipher/.merlin
4483
+ - tracks/ocaml/exercises/atbash-cipher/HINTS.md
4484
+ - tracks/ocaml/exercises/atbash-cipher/Makefile
4485
+ - tracks/ocaml/exercises/atbash-cipher/atbash_cipher.mli
4486
+ - tracks/ocaml/exercises/atbash-cipher/example.ml
4487
+ - tracks/ocaml/exercises/atbash-cipher/test.ml
4462
4488
  - tracks/ocaml/exercises/beer-song/.merlin
4463
4489
  - tracks/ocaml/exercises/beer-song/Makefile
4464
4490
  - tracks/ocaml/exercises/beer-song/beer_song.mli
@@ -4530,6 +4556,11 @@ files:
4530
4556
  - tracks/ocaml/exercises/luhn/example.ml
4531
4557
  - tracks/ocaml/exercises/luhn/luhn.mli
4532
4558
  - tracks/ocaml/exercises/luhn/test.ml
4559
+ - tracks/ocaml/exercises/meetup/.merlin
4560
+ - tracks/ocaml/exercises/meetup/Makefile
4561
+ - tracks/ocaml/exercises/meetup/example.ml
4562
+ - tracks/ocaml/exercises/meetup/meetup.mli
4563
+ - tracks/ocaml/exercises/meetup/test.ml
4533
4564
  - tracks/ocaml/exercises/minesweeper/.merlin
4534
4565
  - tracks/ocaml/exercises/minesweeper/Makefile
4535
4566
  - tracks/ocaml/exercises/minesweeper/example.ml
@@ -5071,6 +5102,8 @@ files:
5071
5102
  - tracks/python/exercises/difference-of-squares/example.py
5072
5103
  - tracks/python/exercises/etl/etl_test.py
5073
5104
  - tracks/python/exercises/etl/example.py
5105
+ - tracks/python/exercises/flatten-array/example.py
5106
+ - tracks/python/exercises/flatten-array/flatten_array_test.py
5074
5107
  - tracks/python/exercises/gigasecond/example.py
5075
5108
  - tracks/python/exercises/gigasecond/gigasecond_test.py
5076
5109
  - tracks/python/exercises/grade-school/example.py
@@ -5331,8 +5364,10 @@ files:
5331
5364
  - tracks/ruby/exercises/alphametics/alphametics_test.rb
5332
5365
  - tracks/ruby/exercises/alphametics/example.rb
5333
5366
  - tracks/ruby/exercises/alphametics/example.tt
5367
+ - tracks/ruby/exercises/anagram/.version
5334
5368
  - tracks/ruby/exercises/anagram/anagram_test.rb
5335
5369
  - tracks/ruby/exercises/anagram/example.rb
5370
+ - tracks/ruby/exercises/anagram/example.tt
5336
5371
  - tracks/ruby/exercises/atbash-cipher/atbash_cipher_test.rb
5337
5372
  - tracks/ruby/exercises/atbash-cipher/example.rb
5338
5373
  - tracks/ruby/exercises/beer-song/beer_song_test.rb
@@ -5403,6 +5438,10 @@ files:
5403
5438
  - tracks/ruby/exercises/hexadecimal/hexadecimal_test.rb
5404
5439
  - tracks/ruby/exercises/house/example.rb
5405
5440
  - tracks/ruby/exercises/house/house_test.rb
5441
+ - tracks/ruby/exercises/isogram/.version
5442
+ - tracks/ruby/exercises/isogram/example.rb
5443
+ - tracks/ruby/exercises/isogram/example.tt
5444
+ - tracks/ruby/exercises/isogram/isogram_test.rb
5406
5445
  - tracks/ruby/exercises/kindergarten-garden/example.rb
5407
5446
  - tracks/ruby/exercises/kindergarten-garden/kindergarten_garden_test.rb
5408
5447
  - tracks/ruby/exercises/largest-series-product/.version
@@ -5497,7 +5536,9 @@ files:
5497
5536
  - tracks/ruby/exercises/secret-handshake/secret_handshake_test.rb
5498
5537
  - tracks/ruby/exercises/series/example.rb
5499
5538
  - tracks/ruby/exercises/series/series_test.rb
5539
+ - tracks/ruby/exercises/sieve/.version
5500
5540
  - tracks/ruby/exercises/sieve/example.rb
5541
+ - tracks/ruby/exercises/sieve/example.tt
5501
5542
  - tracks/ruby/exercises/sieve/sieve_test.rb
5502
5543
  - tracks/ruby/exercises/simple-cipher/example.rb
5503
5544
  - tracks/ruby/exercises/simple-cipher/simple_cipher_test.rb
@@ -5529,6 +5570,7 @@ files:
5529
5570
  - tracks/ruby/img/icon.png
5530
5571
  - tracks/ruby/lib/acronym_cases.rb
5531
5572
  - tracks/ruby/lib/alphametics_cases.rb
5573
+ - tracks/ruby/lib/anagram_cases.rb
5532
5574
  - tracks/ruby/lib/binary_cases.rb
5533
5575
  - tracks/ruby/lib/bookkeeping.md
5534
5576
  - tracks/ruby/lib/bracket_push_cases.rb
@@ -5542,6 +5584,7 @@ files:
5542
5584
  - tracks/ruby/lib/hamming_cases.rb
5543
5585
  - tracks/ruby/lib/hello_world_cases.rb
5544
5586
  - tracks/ruby/lib/helper.rb
5587
+ - tracks/ruby/lib/isogram_cases.rb
5545
5588
  - tracks/ruby/lib/largest_series_product_cases.rb
5546
5589
  - tracks/ruby/lib/leap_cases.rb
5547
5590
  - tracks/ruby/lib/nth_prime_cases.rb
@@ -5550,7 +5593,9 @@ files:
5550
5593
  - tracks/ruby/lib/rna_transcription_cases.rb
5551
5594
  - tracks/ruby/lib/roman_numerals_cases.rb
5552
5595
  - tracks/ruby/lib/run_length_encoding_cases.rb
5596
+ - tracks/ruby/lib/sieve_cases.rb
5553
5597
  - tracks/ruby/lib/two_bucket_cases.rb
5598
+ - tracks/ruby/lib/word_count_cases.rb
5554
5599
  - tracks/rust/.git
5555
5600
  - tracks/rust/.gitignore
5556
5601
  - tracks/rust/.travis.yml
@@ -5813,6 +5858,10 @@ files:
5813
5858
  - tracks/scala/exercises/bob/example.scala
5814
5859
  - tracks/scala/exercises/bob/src/main/scala/.keep
5815
5860
  - tracks/scala/exercises/bob/src/test/scala/bob_test.scala
5861
+ - tracks/scala/exercises/bracket-push/build.sbt
5862
+ - tracks/scala/exercises/bracket-push/example.scala
5863
+ - tracks/scala/exercises/bracket-push/src/main/scala/.keep
5864
+ - tracks/scala/exercises/bracket-push/src/test/scala/BracketsTest.scala
5816
5865
  - tracks/scala/exercises/change/build.sbt
5817
5866
  - tracks/scala/exercises/change/example.scala
5818
5867
  - tracks/scala/exercises/change/src/main/scala/.keep
@@ -6007,6 +6056,11 @@ files:
6007
6056
  - tracks/scala/exercises/series/example.scala
6008
6057
  - tracks/scala/exercises/series/src/main/scala/.keep
6009
6058
  - tracks/scala/exercises/series/src/test/scala/SeriesTest.scala
6059
+ - tracks/scala/exercises/sgf-parsing/build.sbt
6060
+ - tracks/scala/exercises/sgf-parsing/example.scala
6061
+ - tracks/scala/exercises/sgf-parsing/src/main/scala/.keep
6062
+ - tracks/scala/exercises/sgf-parsing/src/main/scala/Sgf.scala
6063
+ - tracks/scala/exercises/sgf-parsing/src/test/scala/SgfTest.scala
6010
6064
  - tracks/scala/exercises/sieve/build.sbt
6011
6065
  - tracks/scala/exercises/sieve/example.scala
6012
6066
  - tracks/scala/exercises/sieve/src/main/scala/.keep
@@ -6043,6 +6097,11 @@ files:
6043
6097
  - tracks/scala/exercises/wordy/example.scala
6044
6098
  - tracks/scala/exercises/wordy/src/main/scala/.keep
6045
6099
  - tracks/scala/exercises/wordy/src/test/scala/WordProblemTest.scala
6100
+ - tracks/scala/exercises/zebra-puzzle/build.sbt
6101
+ - tracks/scala/exercises/zebra-puzzle/example.scala
6102
+ - tracks/scala/exercises/zebra-puzzle/src/main/scala/.keep
6103
+ - tracks/scala/exercises/zebra-puzzle/src/main/scala/ZebraPuzzle.scala
6104
+ - tracks/scala/exercises/zebra-puzzle/src/test/scala/ZebraPuzzleTest.scala
6046
6105
  - tracks/scala/exercises/zipper/build.sbt
6047
6106
  - tracks/scala/exercises/zipper/example.scala
6048
6107
  - tracks/scala/exercises/zipper/src/main/scala/Zipper.scala
@@ -6052,6 +6111,7 @@ files:
6052
6111
  - tracks/scala/project/build.properties
6053
6112
  - tracks/scala/testgen/build.sbt
6054
6113
  - tracks/scala/testgen/src/main/scala/AllYourBaseTestGenerator.scala
6114
+ - tracks/scala/testgen/src/main/scala/BracketPushTestGenerator.scala
6055
6115
  - tracks/scala/testgen/src/main/scala/CustomSetTestGenerator.scala
6056
6116
  - tracks/scala/testgen/src/main/scala/PangramsTestGenerator.scala
6057
6117
  - tracks/scheme/.git
@@ -1,8 +0,0 @@
1
- module WordCount (wordCount) where
2
- import Data.Char (toLower, isAlphaNum)
3
- import Data.Map.Strict (Map, fromListWith)
4
- import Data.List.Split (wordsBy)
5
-
6
- wordCount :: String -> Map String Int
7
- wordCount = fromListWith (+) . map pair . wordsBy (not . isAlphaNum)
8
- where pair word = (map toLower word, 1)