trackler 2.0.6.11 → 2.0.6.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (276) hide show
  1. checksums.yaml +4 -4
  2. data/common/CONTRIBUTING.md +6 -1
  3. data/common/exercises/difference-of-squares/metadata.yml +1 -1
  4. data/common/exercises/luhn/canonical-data.json +2 -2
  5. data/common/exercises/rectangles/canonical-data.json +25 -0
  6. data/common/exercises/rectangles/description.md +11 -3
  7. data/lib/trackler/version.rb +1 -1
  8. data/tracks/ceylon/config.json +9 -0
  9. data/tracks/ceylon/exercises/anagram/source/anagram/AnagramTest.ceylon +38 -39
  10. data/tracks/ceylon/exercises/bracket-push/source/bracketpush/BracketsTest.ceylon +28 -29
  11. data/tracks/ceylon/exercises/largest-series-product/example/Series.ceylon +13 -0
  12. data/tracks/ceylon/exercises/largest-series-product/source/largestseriesproduct/Series.ceylon +5 -0
  13. data/tracks/ceylon/exercises/largest-series-product/source/largestseriesproduct/SeriesTest.ceylon +30 -0
  14. data/tracks/ceylon/exercises/largest-series-product/source/largestseriesproduct/module.ceylon +3 -0
  15. data/tracks/csharp/config.json +41 -0
  16. data/tracks/csharp/exercises/alphametics/AlphameticsTest.cs +122 -0
  17. data/tracks/csharp/exercises/alphametics/Example.cs +139 -0
  18. data/tracks/csharp/exercises/dot-dsl/DotDslTest.cs +91 -0
  19. data/tracks/csharp/exercises/dot-dsl/Example.cs +90 -0
  20. data/tracks/csharp/exercises/dot-dsl/HINTS.md +2 -0
  21. data/tracks/csharp/exercises/error-handling/ErrorHandlingTest.cs +65 -0
  22. data/tracks/csharp/exercises/error-handling/Example.cs +34 -0
  23. data/tracks/csharp/exercises/exercises.csproj +1 -1
  24. data/tracks/csharp/exercises/hangman/Example.cs +85 -0
  25. data/tracks/csharp/exercises/hangman/HangmanTest.cs +140 -0
  26. data/tracks/csharp/exercises/ledger/Example.cs +106 -0
  27. data/tracks/csharp/exercises/ledger/Ledger.cs +166 -0
  28. data/tracks/csharp/exercises/ledger/LedgerTest.cs +168 -0
  29. data/tracks/elixir/exercises/allergies/allergies_test.exs +2 -2
  30. data/tracks/elixir/exercises/markdown/example.exs +3 -3
  31. data/tracks/elixir/exercises/phone-number/example.exs +0 -2
  32. data/tracks/elixir/exercises/queen-attack/example.exs +1 -1
  33. data/tracks/elixir/exercises/wordy/example.exs +6 -6
  34. data/tracks/elixir/exercises/zipper/zipper_test.exs +12 -12
  35. data/tracks/elixir/mix.exs +1 -1
  36. data/tracks/fsharp/config.json +8 -8
  37. data/tracks/fsharp/docs/ABOUT.md +4 -0
  38. data/tracks/fsharp/exercises/alphametics/AlphameticsTest.fs +33 -13
  39. data/tracks/fsharp/exercises/alphametics/Example.fs +29 -64
  40. data/tracks/fsharp/exercises/binary-search-tree/BinarySearchTreeTest.fs +14 -14
  41. data/tracks/fsharp/exercises/binary-search-tree/Example.fs +17 -14
  42. data/tracks/fsharp/exercises/triangle/TriangleTest.fs +0 -5
  43. data/tracks/go/README.md +3 -3
  44. data/tracks/go/config.json +10 -3
  45. data/tracks/go/exercises/acronym/acronym.go +5 -0
  46. data/tracks/go/exercises/bob/example_gen.go +1 -1
  47. data/tracks/go/exercises/clock/example_gen.go +1 -1
  48. data/tracks/go/exercises/connect/example_gen.go +1 -1
  49. data/tracks/go/exercises/custom-set/example_gen.go +1 -1
  50. data/tracks/go/exercises/gigasecond/example_gen.go +1 -1
  51. data/tracks/go/exercises/hamming/example_gen.go +1 -1
  52. data/tracks/go/exercises/largest-series-product/example_gen.go +1 -1
  53. data/tracks/go/exercises/leap/cases_test.go +5 -7
  54. data/tracks/go/exercises/leap/example.go +1 -1
  55. data/tracks/go/exercises/leap/example_gen.go +1 -1
  56. data/tracks/go/exercises/leap/leap.go +1 -1
  57. data/tracks/go/exercises/leap/leap_test.go +1 -1
  58. data/tracks/go/exercises/meetup/example_gen.go +1 -1
  59. data/tracks/go/exercises/nucleotide-count/nucleotide_count_test.go +0 -5
  60. data/tracks/go/exercises/pangram/pangram.go +5 -0
  61. data/tracks/go/exercises/raindrops/example_gen.go +1 -1
  62. data/tracks/go/exercises/rna-transcription/example_gen.go +1 -1
  63. data/tracks/go/exercises/roman-numerals/example_gen.go +1 -1
  64. data/tracks/go/exercises/word-count/example_gen.go +1 -1
  65. data/tracks/go/gen/gen.go +3 -2
  66. data/tracks/haskell/exercises/accumulate/src/Accumulate.hs +1 -1
  67. data/tracks/haskell/exercises/all-your-base/src/Base.hs +1 -1
  68. data/tracks/haskell/exercises/allergies/src/Allergies.hs +2 -2
  69. data/tracks/haskell/exercises/alphametics/src/Alphametics.hs +1 -1
  70. data/tracks/haskell/exercises/anagram/src/Anagram.hs +1 -1
  71. data/tracks/haskell/exercises/atbash-cipher/src/Atbash.hs +2 -2
  72. data/tracks/haskell/exercises/bank-account/src/BankAccount.hs +4 -4
  73. data/tracks/haskell/exercises/binary/src/Binary.hs +1 -1
  74. data/tracks/haskell/exercises/binary-search-tree/src/BST.hs +8 -8
  75. data/tracks/haskell/exercises/bob/src/Bob.hs +1 -1
  76. data/tracks/haskell/exercises/bowling/src/Bowling.hs +1 -1
  77. data/tracks/haskell/exercises/change/src/Change.hs +1 -1
  78. data/tracks/haskell/exercises/clock/src/Clock.hs +4 -4
  79. data/tracks/haskell/exercises/connect/src/Connect.hs +1 -1
  80. data/tracks/haskell/exercises/crypto-square/src/CryptoSquare.hs +1 -1
  81. data/tracks/haskell/exercises/custom-set/src/CustomSet.hs +13 -13
  82. data/tracks/haskell/exercises/difference-of-squares/src/Squares.hs +3 -3
  83. data/tracks/haskell/exercises/dominoes/src/Dominoes.hs +1 -1
  84. data/tracks/haskell/exercises/etl/src/ETL.hs +1 -1
  85. data/tracks/haskell/exercises/forth/src/Forth.hs +3 -3
  86. data/tracks/haskell/exercises/gigasecond/src/Gigasecond.hs +1 -1
  87. data/tracks/haskell/exercises/go-counting/src/Counting.hs +2 -2
  88. data/tracks/haskell/exercises/grade-school/src/School.hs +4 -4
  89. data/tracks/haskell/exercises/grains/src/Grains.hs +2 -2
  90. data/tracks/haskell/exercises/hamming/src/Hamming.hs +1 -1
  91. data/tracks/haskell/exercises/hexadecimal/src/Hexadecimal.hs +1 -1
  92. data/tracks/haskell/exercises/kindergarten-garden/src/Garden.hs +3 -3
  93. data/tracks/haskell/exercises/largest-series-product/src/Series.hs +1 -1
  94. data/tracks/haskell/exercises/leap/src/LeapYear.hs +1 -1
  95. data/tracks/haskell/exercises/lens-person/src/Person.hs +4 -4
  96. data/tracks/haskell/exercises/linked-list/src/Deque.hs +5 -5
  97. data/tracks/haskell/exercises/list-ops/src/ListOps.hs +8 -8
  98. data/tracks/haskell/exercises/luhn/src/Luhn.hs +5 -5
  99. data/tracks/haskell/exercises/matrix/src/Matrix.hs +10 -10
  100. data/tracks/haskell/exercises/meetup/src/Meetup.hs +1 -1
  101. data/tracks/haskell/exercises/minesweeper/src/Minesweeper.hs +1 -1
  102. data/tracks/haskell/exercises/nth-prime/src/Prime.hs +1 -1
  103. data/tracks/haskell/exercises/nucleotide-count/src/DNA.hs +2 -2
  104. data/tracks/haskell/exercises/ocr-numbers/src/OCR.hs +1 -1
  105. data/tracks/haskell/exercises/octal/src/Octal.hs +2 -2
  106. data/tracks/haskell/exercises/palindrome-products/src/Palindromes.hs +2 -2
  107. data/tracks/haskell/exercises/parallel-letter-frequency/src/Frequency.hs +1 -1
  108. data/tracks/haskell/exercises/pascals-triangle/src/Triangle.hs +1 -1
  109. data/tracks/haskell/exercises/phone-number/src/Phone.hs +3 -3
  110. data/tracks/haskell/exercises/pig-latin/src/PigLatin.hs +1 -1
  111. data/tracks/haskell/exercises/pov/src/POV.hs +2 -2
  112. data/tracks/haskell/exercises/prime-factors/src/PrimeFactors.hs +1 -1
  113. data/tracks/haskell/exercises/pythagorean-triplet/src/Triplet.hs +3 -3
  114. data/tracks/haskell/exercises/queen-attack/src/Queens.hs +2 -2
  115. data/tracks/haskell/exercises/raindrops/src/Raindrops.hs +1 -1
  116. data/tracks/haskell/exercises/rna-transcription/src/DNA.hs +1 -1
  117. data/tracks/haskell/exercises/robot-name/src/Robot.hs +3 -3
  118. data/tracks/haskell/exercises/robot-simulator/src/Robot.hs +6 -6
  119. data/tracks/haskell/exercises/roman-numerals/src/Roman.hs +1 -1
  120. data/tracks/haskell/exercises/run-length-encoding/src/RunLength.hs +2 -2
  121. data/tracks/haskell/exercises/saddle-points/src/Matrix.hs +1 -1
  122. data/tracks/haskell/exercises/say/src/Say.hs +1 -1
  123. data/tracks/haskell/exercises/scrabble-score/src/Scrabble.hs +2 -2
  124. data/tracks/haskell/exercises/secret-handshake/src/SecretHandshake.hs +1 -1
  125. data/tracks/haskell/exercises/series/src/Series.hs +1 -1
  126. data/tracks/haskell/exercises/sgf-parsing/src/Sgf.hs +1 -1
  127. data/tracks/haskell/exercises/sieve/src/Sieve.hs +1 -1
  128. data/tracks/haskell/exercises/simple-cipher/src/Cipher.hs +3 -3
  129. data/tracks/haskell/exercises/simple-linked-list/src/LinkedList.hs +8 -8
  130. data/tracks/haskell/exercises/space-age/src/SpaceAge.hs +1 -1
  131. data/tracks/haskell/exercises/strain/src/Strain.hs +2 -2
  132. data/tracks/haskell/exercises/sublist/src/Sublist.hs +1 -1
  133. data/tracks/haskell/exercises/sum-of-multiples/src/SumOfMultiples.hs +1 -1
  134. data/tracks/haskell/exercises/triangle/src/Triangle.hs +1 -1
  135. data/tracks/haskell/exercises/trinary/src/Trinary.hs +2 -2
  136. data/tracks/haskell/exercises/word-count/src/WordCount.hs +1 -1
  137. data/tracks/haskell/exercises/wordy/src/WordProblem.hs +1 -1
  138. data/tracks/haskell/exercises/zebra-puzzle/src/ZebraPuzzle.hs +1 -1
  139. data/tracks/haskell/exercises/zipper/src/Zipper.hs +9 -9
  140. data/tracks/java/docs/MAINTAINING.md +48 -0
  141. data/tracks/java/exercises/queen-attack/src/test/java/QueenAttackCalculatorTest.java +51 -51
  142. data/tracks/kotlin/exercises/etl/src/example/kotlin/ETL.kt +1 -1
  143. data/tracks/kotlin/exercises/etl/src/test/kotlin/ETLTest.kt +19 -19
  144. data/tracks/kotlin/exercises/pangram/src/test/kotlin/PangramTest.kt +5 -0
  145. data/tracks/lisp/docs/ABOUT.md +9 -0
  146. data/tracks/lua/exercises/transpose/example.lua +1 -1
  147. data/tracks/lua/exercises/transpose/transpose_spec.lua +16 -0
  148. data/tracks/pascal/config.json +36 -36
  149. data/tracks/pascal/exercises/bob/uBobTests.pas +0 -1
  150. data/tracks/pascal/exercises/hamming/uHammingTests.pas +0 -1
  151. data/tracks/pascal/exercises/leap/uLeapTests.pas +0 -1
  152. data/tracks/pascal/exercises/saddle-points/uSaddlePointsExample.pas +11 -0
  153. data/tracks/pascal/exercises/saddle-points/uSaddlePointsTests.pas +9 -1
  154. data/tracks/perl6/exercises/atbash-cipher/cipher.t +1 -1
  155. data/tracks/php/config.json +7 -0
  156. data/tracks/php/exercises/robot-simulator/example.php +148 -0
  157. data/tracks/php/exercises/robot-simulator/robot-simulator_test.php +168 -0
  158. data/tracks/pony/config.json +16 -7
  159. data/tracks/pony/exercises/roman-numerals/example.pony +35 -0
  160. data/tracks/pony/exercises/roman-numerals/test.pony +45 -0
  161. data/tracks/python/requirements-travis.txt +1 -1
  162. data/tracks/ruby/.rubocop.yml +1 -1
  163. data/tracks/ruby/bin/enable-executable +1 -1
  164. data/tracks/ruby/bin/executable-tests-check +1 -1
  165. data/tracks/ruby/exercises/acronym/example.tt +2 -3
  166. data/tracks/ruby/exercises/all-your-base/example.tt +2 -2
  167. data/tracks/ruby/exercises/alphametics/example.tt +2 -2
  168. data/tracks/ruby/exercises/anagram/example.tt +2 -3
  169. data/tracks/ruby/exercises/binary/example.tt +2 -3
  170. data/tracks/ruby/exercises/bowling/example.tt +2 -3
  171. data/tracks/ruby/exercises/bracket-push/example.tt +2 -3
  172. data/tracks/ruby/exercises/clock/example.tt +2 -3
  173. data/tracks/ruby/exercises/connect/example.rb +1 -1
  174. data/tracks/ruby/exercises/connect/example.tt +1 -1
  175. data/tracks/ruby/exercises/custom-set/example.tt +2 -3
  176. data/tracks/ruby/exercises/diamond/example.rb +1 -1
  177. data/tracks/ruby/exercises/difference-of-squares/example.tt +2 -3
  178. data/tracks/ruby/exercises/dominoes/example.tt +2 -2
  179. data/tracks/ruby/exercises/gigasecond/example.tt +2 -3
  180. data/tracks/ruby/exercises/grains/example.tt +2 -2
  181. data/tracks/ruby/exercises/hamming/example.tt +2 -3
  182. data/tracks/ruby/exercises/hello-world/example.tt +1 -2
  183. data/tracks/ruby/exercises/isogram/example.tt +2 -2
  184. data/tracks/ruby/exercises/largest-series-product/example.tt +2 -4
  185. data/tracks/ruby/exercises/leap/example.tt +2 -3
  186. data/tracks/ruby/exercises/nth-prime/example.tt +2 -4
  187. data/tracks/ruby/exercises/pangram/example.tt +2 -2
  188. data/tracks/ruby/exercises/queen-attack/example.tt +2 -3
  189. data/tracks/ruby/exercises/raindrops/example.tt +2 -3
  190. data/tracks/ruby/exercises/rna-transcription/example.tt +2 -3
  191. data/tracks/ruby/exercises/roman-numerals/example.tt +2 -3
  192. data/tracks/ruby/exercises/run-length-encoding/example.tt +2 -3
  193. data/tracks/ruby/exercises/sieve/example.tt +2 -4
  194. data/tracks/ruby/exercises/simple-linked-list/simple_linked_list_test.rb +6 -6
  195. data/tracks/ruby/exercises/tournament/example.tt +2 -3
  196. data/tracks/ruby/exercises/transpose/example.tt +2 -3
  197. data/tracks/ruby/exercises/triangle/example.tt +2 -3
  198. data/tracks/ruby/exercises/two-bucket/example.tt +2 -3
  199. data/tracks/ruby/exercises/word-count/example.tt +2 -3
  200. data/tracks/ruby/exercises/wordy/example.tt +2 -2
  201. data/tracks/ruby/lib/acronym_cases.rb +2 -0
  202. data/tracks/ruby/lib/all_your_base_cases.rb +3 -1
  203. data/tracks/ruby/lib/alphametics_cases.rb +6 -4
  204. data/tracks/ruby/lib/anagram_cases.rb +2 -0
  205. data/tracks/ruby/lib/binary_cases.rb +2 -0
  206. data/tracks/ruby/lib/bowling_cases.rb +2 -0
  207. data/tracks/ruby/lib/bracket_push_cases.rb +2 -0
  208. data/tracks/ruby/lib/clock_cases.rb +2 -0
  209. data/tracks/ruby/lib/connect_cases.rb +2 -0
  210. data/tracks/ruby/lib/custom_set_cases.rb +2 -0
  211. data/tracks/ruby/lib/difference_of_squares_cases.rb +2 -0
  212. data/tracks/ruby/lib/dominoes_cases.rb +2 -0
  213. data/tracks/ruby/lib/exercise_cases.rb +2 -0
  214. data/tracks/ruby/lib/generator/files/track_files.rb +3 -3
  215. data/tracks/ruby/lib/generator/files.rb +1 -1
  216. data/tracks/ruby/lib/generator/template_values.rb +5 -14
  217. data/tracks/ruby/lib/gigasecond_cases.rb +2 -0
  218. data/tracks/ruby/lib/grains_cases.rb +3 -1
  219. data/tracks/ruby/lib/hamming_cases.rb +2 -0
  220. data/tracks/ruby/lib/hello_world_cases.rb +2 -0
  221. data/tracks/ruby/lib/isogram_cases.rb +3 -1
  222. data/tracks/ruby/lib/largest_series_product_cases.rb +2 -0
  223. data/tracks/ruby/lib/leap_cases.rb +2 -0
  224. data/tracks/ruby/lib/nth_prime_cases.rb +2 -0
  225. data/tracks/ruby/lib/pangram_cases.rb +3 -1
  226. data/tracks/ruby/lib/queen_attack_cases.rb +2 -0
  227. data/tracks/ruby/lib/raindrops_cases.rb +2 -0
  228. data/tracks/ruby/lib/rna_transcription_cases.rb +2 -0
  229. data/tracks/ruby/lib/roman_numerals_cases.rb +2 -0
  230. data/tracks/ruby/lib/run_length_encoding_cases.rb +2 -0
  231. data/tracks/ruby/lib/sieve_cases.rb +2 -0
  232. data/tracks/ruby/lib/tournament_cases.rb +2 -0
  233. data/tracks/ruby/lib/transpose_cases.rb +2 -0
  234. data/tracks/ruby/lib/triangle_cases.rb +2 -0
  235. data/tracks/ruby/lib/two_bucket_cases.rb +2 -0
  236. data/tracks/ruby/lib/word_count_cases.rb +2 -0
  237. data/tracks/ruby/lib/wordy_cases.rb +2 -0
  238. data/tracks/ruby/test/fixtures/xruby/exercises/alpha/example.tt +2 -2
  239. data/tracks/ruby/test/fixtures/xruby/lib/alpha_cases.rb +1 -1
  240. data/tracks/ruby/test/generator/command_line_test.rb +1 -1
  241. data/tracks/ruby/test/generator/template_values_test.rb +7 -7
  242. data/tracks/rust/.travis.yml +4 -0
  243. data/tracks/rust/_test/check-exercises.sh +11 -2
  244. data/tracks/rust/config.json +9 -0
  245. data/tracks/rust/exercises/luhn/.gitignore +7 -0
  246. data/tracks/rust/exercises/luhn/Cargo.toml +3 -0
  247. data/tracks/rust/exercises/luhn/example.rs +13 -0
  248. data/tracks/rust/exercises/luhn/tests/luhn.rs +38 -0
  249. data/tracks/rust/exercises/parallel-letter-frequency/HINTS.md +32 -0
  250. data/tracks/rust/exercises/parallel-letter-frequency/benches/benchmark.rs +99 -0
  251. data/tracks/scala/config.json +57 -1
  252. data/tracks/scala/exercises/allergies/build.sbt +2 -2
  253. data/tracks/scala/exercises/atbash-cipher/build.sbt +2 -2
  254. data/tracks/scala/exercises/bank-account/build.sbt +3 -2
  255. data/tracks/scala/exercises/binary-search-tree/build.sbt +2 -2
  256. data/tracks/scala/exercises/clock/build.sbt +2 -2
  257. data/tracks/scala/exercises/crypto-square/build.sbt +2 -2
  258. data/tracks/scala/exercises/custom-set/build.sbt +3 -2
  259. data/tracks/scala/exercises/food-chain/build.sbt +3 -2
  260. data/tracks/scala/exercises/house/build.sbt +2 -2
  261. data/tracks/scala/exercises/kindergarten-garden/build.sbt +3 -2
  262. data/tracks/scala/exercises/largest-series-product/build.sbt +2 -2
  263. data/tracks/scala/exercises/linked-list/build.sbt +3 -2
  264. data/tracks/scala/exercises/matrix/build.sbt +2 -2
  265. data/tracks/scala/exercises/minesweeper/build.sbt +2 -2
  266. data/tracks/scala/exercises/nth-prime/build.sbt +2 -2
  267. data/tracks/scala/exercises/ocr-numbers/build.sbt +2 -2
  268. data/tracks/scala/exercises/palindrome-products/build.sbt +2 -2
  269. data/tracks/scala/exercises/prime-factors/build.sbt +3 -2
  270. data/tracks/scala/exercises/queen-attack/build.sbt +2 -2
  271. data/tracks/scala/exercises/raindrops/build.sbt +2 -2
  272. data/tracks/scala/exercises/robot-simulator/build.sbt +2 -2
  273. data/tracks/scala/exercises/triangle/build.sbt +2 -2
  274. data/tracks/scala/exercises/trinary/build.sbt +2 -2
  275. data/tracks/scala/exercises/wordy/build.sbt +3 -3
  276. metadata +33 -2
@@ -9,13 +9,13 @@ module BankAccount
9
9
  data BankAccount = Dummy
10
10
 
11
11
  closeAccount :: BankAccount -> IO ()
12
- closeAccount = undefined
12
+ closeAccount = error "You need to implement this function."
13
13
 
14
14
  getBalance :: BankAccount -> IO (Maybe Integer)
15
- getBalance = undefined
15
+ getBalance = error "You need to implement this function."
16
16
 
17
17
  incrementBalance :: BankAccount -> Integer -> IO (Maybe Integer)
18
- incrementBalance = undefined
18
+ incrementBalance = error "You need to implement this function."
19
19
 
20
20
  openAccount :: IO BankAccount
21
- openAccount = undefined
21
+ openAccount = error "You need to implement this function."
@@ -1,3 +1,3 @@
1
1
  module Binary (toDecimal) where
2
2
 
3
- toDecimal = undefined
3
+ toDecimal = error "You need to implement this function."
@@ -13,25 +13,25 @@ module BST
13
13
  data BST a = Dummy deriving (Eq, Show)
14
14
 
15
15
  bstLeft :: BST a -> Maybe (BST a)
16
- bstLeft = undefined
16
+ bstLeft = error "You need to implement this function."
17
17
 
18
18
  bstRight :: BST a -> Maybe (BST a)
19
- bstRight = undefined
19
+ bstRight = error "You need to implement this function."
20
20
 
21
21
  bstValue :: BST a -> Maybe a
22
- bstValue = undefined
22
+ bstValue = error "You need to implement this function."
23
23
 
24
24
  empty :: BST a
25
- empty = undefined
25
+ empty = error "You need to implement this function."
26
26
 
27
27
  fromList :: Ord a => [a] -> BST a
28
- fromList = undefined
28
+ fromList = error "You need to implement this function."
29
29
 
30
30
  insert :: Ord a => a -> BST a -> BST a
31
- insert = undefined
31
+ insert = error "You need to implement this function."
32
32
 
33
33
  singleton :: a -> BST a
34
- singleton = undefined
34
+ singleton = error "You need to implement this function."
35
35
 
36
36
  toList :: BST a -> [a]
37
- toList = undefined
37
+ toList = error "You need to implement this function."
@@ -1,4 +1,4 @@
1
1
  module Bob (responseFor) where
2
2
 
3
3
  responseFor :: String -> String
4
- responseFor = undefined
4
+ responseFor = error "You need to implement this function."
@@ -5,5 +5,5 @@ data BowlingError = IncompleteGame
5
5
  deriving (Eq, Show)
6
6
 
7
7
  score :: [Int] -> Either BowlingError Int
8
- score = undefined
8
+ score = error "You need to implement this function."
9
9
 
@@ -1,4 +1,4 @@
1
1
  module Change (findFewestCoins) where
2
2
 
3
3
  findFewestCoins :: Integer -> [Integer] -> Maybe [Integer]
4
- findFewestCoins target coins = undefined
4
+ findFewestCoins target coins = error "You need to implement this function."
@@ -3,13 +3,13 @@ module Clock (clockHour, clockMin, fromHourMin, toString) where
3
3
  data Clock = Dummy
4
4
 
5
5
  clockHour :: Clock -> Int
6
- clockHour = undefined
6
+ clockHour = error "You need to implement this function."
7
7
 
8
8
  clockMin :: Clock -> Int
9
- clockMin = undefined
9
+ clockMin = error "You need to implement this function."
10
10
 
11
11
  fromHourMin :: Int -> Int -> Clock
12
- fromHourMin = undefined
12
+ fromHourMin = error "You need to implement this function."
13
13
 
14
14
  toString :: Clock -> String
15
- toString = undefined
15
+ toString = error "You need to implement this function."
@@ -3,4 +3,4 @@ module Connect (Mark(..), winner) where
3
3
  data Mark = Cross | Nought deriving (Eq, Show)
4
4
 
5
5
  winner :: [String] -> Maybe Mark
6
- winner = undefined
6
+ winner = error "You need to implement this function."
@@ -1,4 +1,4 @@
1
1
  module CryptoSquare (encode) where
2
2
 
3
3
  encode :: String -> String
4
- encode = undefined
4
+ encode = error "You need to implement this function."
@@ -19,40 +19,40 @@ import Prelude hiding (null)
19
19
  data CustomSet a = Dummy deriving (Eq, Show)
20
20
 
21
21
  delete :: a -> CustomSet a -> CustomSet a
22
- delete = undefined
22
+ delete = error "You need to implement this function."
23
23
 
24
24
  difference :: CustomSet a -> CustomSet a -> CustomSet a
25
- difference = undefined
25
+ difference = error "You need to implement this function."
26
26
 
27
27
  empty :: CustomSet a
28
- empty = undefined
28
+ empty = error "You need to implement this function."
29
29
 
30
30
  fromList :: [a] -> CustomSet a
31
- fromList = undefined
31
+ fromList = error "You need to implement this function."
32
32
 
33
33
  insert :: a -> CustomSet a -> CustomSet a
34
- insert = undefined
34
+ insert = error "You need to implement this function."
35
35
 
36
36
  intersection :: CustomSet a -> CustomSet a -> CustomSet a
37
- intersection = undefined
37
+ intersection = error "You need to implement this function."
38
38
 
39
39
  isDisjointFrom :: CustomSet a -> CustomSet a -> Bool
40
- isDisjointFrom = undefined
40
+ isDisjointFrom = error "You need to implement this function."
41
41
 
42
42
  isSubsetOf :: CustomSet a -> CustomSet a -> Bool
43
- isSubsetOf = undefined
43
+ isSubsetOf = error "You need to implement this function."
44
44
 
45
45
  member :: a -> CustomSet a -> Bool
46
- member = undefined
46
+ member = error "You need to implement this function."
47
47
 
48
48
  null :: CustomSet a -> Bool
49
- null = undefined
49
+ null = error "You need to implement this function."
50
50
 
51
51
  size :: CustomSet a -> Int
52
- size = undefined
52
+ size = error "You need to implement this function."
53
53
 
54
54
  toList :: CustomSet a -> [a]
55
- toList = undefined
55
+ toList = error "You need to implement this function."
56
56
 
57
57
  union :: CustomSet a -> CustomSet a -> CustomSet a
58
- union = undefined
58
+ union = error "You need to implement this function."
@@ -1,10 +1,10 @@
1
1
  module Squares (difference, squareOfSums, sumOfSquares) where
2
2
 
3
3
  difference :: Integral a => a -> a
4
- difference = undefined
4
+ difference = error "You need to implement this function."
5
5
 
6
6
  squareOfSums :: Integral a => a -> a
7
- squareOfSums = undefined
7
+ squareOfSums = error "You need to implement this function."
8
8
 
9
9
  sumOfSquares :: Integral a => a -> a
10
- sumOfSquares = undefined
10
+ sumOfSquares = error "You need to implement this function."
@@ -1,4 +1,4 @@
1
1
  module Dominoes (chain) where
2
2
 
3
3
  chain :: [(Int, Int)] -> Maybe [(Int, Int)]
4
- chain dominoes = undefined
4
+ chain dominoes = error "You need to implement this function."
@@ -3,4 +3,4 @@ module ETL (transform) where
3
3
  import Data.Map (Map)
4
4
 
5
5
  transform :: Map a String -> Map Char a
6
- transform = undefined
6
+ transform = error "You need to implement this function."
@@ -20,10 +20,10 @@ data ForthError
20
20
  data ForthState = Dummy
21
21
 
22
22
  empty :: ForthState
23
- empty = undefined
23
+ empty = error "You need to implement this function."
24
24
 
25
25
  evalText :: Text -> ForthState -> Either ForthError ForthState
26
- evalText = undefined
26
+ evalText = error "You need to implement this function."
27
27
 
28
28
  toList :: ForthState -> [Int]
29
- toList = undefined
29
+ toList = error "You need to implement this function."
@@ -3,4 +3,4 @@ module Gigasecond (fromDay) where
3
3
  import Data.Time.Clock (UTCTime)
4
4
 
5
5
  fromDay :: UTCTime -> UTCTime
6
- fromDay = undefined
6
+ fromDay = error "You need to implement this function."
@@ -10,7 +10,7 @@ data Color = Black | White deriving (Eq, Ord, Show)
10
10
  type Coord = (Int, Int)
11
11
 
12
12
  territories :: [String] -> [(Set Coord, Maybe Color)]
13
- territories = undefined
13
+ territories = error "You need to implement this function."
14
14
 
15
15
  territoryFor :: [String] -> Coord -> Maybe (Set Coord, Maybe Color)
16
- territoryFor = undefined
16
+ territoryFor = error "You need to implement this function."
@@ -3,13 +3,13 @@ module School (School, add, empty, grade, sorted) where
3
3
  data School = Dummy
4
4
 
5
5
  add :: Int -> String -> School -> School
6
- add gradeNum student school = undefined
6
+ add gradeNum student school = error "You need to implement this function."
7
7
 
8
8
  empty :: School
9
- empty = undefined
9
+ empty = error "You need to implement this function."
10
10
 
11
11
  grade :: Int -> School -> [String]
12
- grade gradeNum school = undefined
12
+ grade gradeNum school = error "You need to implement this function."
13
13
 
14
14
  sorted :: School -> [(Int, [String])]
15
- sorted school = undefined
15
+ sorted school = error "You need to implement this function."
@@ -1,7 +1,7 @@
1
1
  module Grains (square, total) where
2
2
 
3
3
  square :: Integer -> Maybe Integer
4
- square n = undefined
4
+ square n = error "You need to implement this function."
5
5
 
6
6
  total :: Integer
7
- total = undefined
7
+ total = error "You need to implement this function."
@@ -1,3 +1,3 @@
1
1
  module Hamming (distance) where
2
2
 
3
- distance = undefined
3
+ distance = error "You need to implement this function."
@@ -1,3 +1,3 @@
1
1
  module Hexadecimal (hexToInt) where
2
2
 
3
- hexToInt = undefined
3
+ hexToInt = error "You need to implement this function."
@@ -14,10 +14,10 @@ data Plant = Clover
14
14
  deriving (Eq, Show)
15
15
 
16
16
  defaultGarden :: String -> Map String [Plant]
17
- defaultGarden = undefined
17
+ defaultGarden = error "You need to implement this function."
18
18
 
19
19
  garden :: [String] -> String -> Map String [Plant]
20
- garden = undefined
20
+ garden = error "You need to implement this function."
21
21
 
22
22
  lookupPlants :: String -> Map String [Plant] -> [Plant]
23
- lookupPlants = undefined
23
+ lookupPlants = error "You need to implement this function."
@@ -1,4 +1,4 @@
1
1
  module Series (largestProduct) where
2
2
 
3
3
  largestProduct :: Int -> String -> Maybe Integer
4
- largestProduct = undefined
4
+ largestProduct = error "You need to implement this function."
@@ -1,4 +1,4 @@
1
1
  module LeapYear (isLeapYear) where
2
2
 
3
3
  isLeapYear :: Integer -> Bool
4
- isLeapYear year = undefined
4
+ isLeapYear year = error "You need to implement this function."
@@ -31,13 +31,13 @@ data Address = Address { _street :: String
31
31
  }
32
32
 
33
33
  bornStreet :: Born -> String
34
- bornStreet = undefined
34
+ bornStreet = error "You need to implement this function."
35
35
 
36
36
  setCurrentStreet :: String -> Person -> Person
37
- setCurrentStreet = undefined
37
+ setCurrentStreet = error "You need to implement this function."
38
38
 
39
39
  setBirthMonth :: Int -> Person -> Person
40
- setBirthMonth = undefined
40
+ setBirthMonth = error "You need to implement this function."
41
41
 
42
42
  renameStreets :: (String -> String) -> Person -> Person
43
- renameStreets = undefined
43
+ renameStreets = error "You need to implement this function."
@@ -3,16 +3,16 @@ module Deque (Deque, mkDeque, pop, push, shift, unshift) where
3
3
  data Deque a = Dummy
4
4
 
5
5
  mkDeque :: IO (Deque a)
6
- mkDeque = undefined
6
+ mkDeque = error "You need to implement this function."
7
7
 
8
8
  pop :: Deque a -> IO (Maybe a)
9
- pop = undefined
9
+ pop = error "You need to implement this function."
10
10
 
11
11
  push :: Deque a -> a -> IO ()
12
- push = undefined
12
+ push = error "You need to implement this function."
13
13
 
14
14
  unshift :: Deque a -> a -> IO ()
15
- unshift = undefined
15
+ unshift = error "You need to implement this function."
16
16
 
17
17
  shift :: Deque a -> IO (Maybe a)
18
- shift = undefined
18
+ shift = error "You need to implement this function."
@@ -13,25 +13,25 @@ import Prelude hiding
13
13
  ( length, reverse, map, filter, foldr, (++), concat )
14
14
 
15
15
  foldl' :: (b -> a -> b) -> b -> [a] -> b
16
- foldl' = undefined
16
+ foldl' = error "You need to implement this function."
17
17
 
18
18
  foldr :: (a -> b -> b) -> b -> [a] -> b
19
- foldr = undefined
19
+ foldr = error "You need to implement this function."
20
20
 
21
21
  length :: [a] -> Int
22
- length = undefined
22
+ length = error "You need to implement this function."
23
23
 
24
24
  reverse :: [a] -> [a]
25
- reverse = undefined
25
+ reverse = error "You need to implement this function."
26
26
 
27
27
  map :: (a -> b) -> [a] -> [b]
28
- map = undefined
28
+ map = error "You need to implement this function."
29
29
 
30
30
  filter :: (a -> Bool) -> [a] -> [a]
31
- filter = undefined
31
+ filter = error "You need to implement this function."
32
32
 
33
33
  (++) :: [a] -> [a] -> [a]
34
- xs ++ ys = undefined
34
+ xs ++ ys = error "You need to implement this function."
35
35
 
36
36
  concat :: [[a]] -> [a]
37
- concat = undefined
37
+ concat = error "You need to implement this function."
@@ -1,11 +1,11 @@
1
1
  module Luhn (addends, checkDigit, checksum, create, isValid) where
2
2
 
3
- addends = undefined
3
+ addends = error "You need to implement this function."
4
4
 
5
- checkDigit = undefined
5
+ checkDigit = error "You need to implement this function."
6
6
 
7
- checksum = undefined
7
+ checksum = error "You need to implement this function."
8
8
 
9
- create = undefined
9
+ create = error "You need to implement this function."
10
10
 
11
- isValid = undefined
11
+ isValid = error "You need to implement this function."
@@ -17,31 +17,31 @@ import Data.Vector (Vector)
17
17
  data Matrix a = Dummy deriving (Eq, Show)
18
18
 
19
19
  cols :: Matrix a -> Int
20
- cols = undefined
20
+ cols = error "You need to implement this function."
21
21
 
22
22
  column :: Int -> Matrix a -> Vector a
23
- column = undefined
23
+ column = error "You need to implement this function."
24
24
 
25
25
  flatten :: Matrix a -> Vector a
26
- flatten = undefined
26
+ flatten = error "You need to implement this function."
27
27
 
28
28
  fromList :: [[a]] -> Matrix a
29
- fromList = undefined
29
+ fromList = error "You need to implement this function."
30
30
 
31
31
  fromString :: Read a => String -> Matrix a
32
- fromString = undefined
32
+ fromString = error "You need to implement this function."
33
33
 
34
34
  reshape :: (Int, Int) -> Matrix a -> Matrix a
35
- reshape = undefined
35
+ reshape = error "You need to implement this function."
36
36
 
37
37
  row :: Int -> Matrix a -> Vector a
38
- row = undefined
38
+ row = error "You need to implement this function."
39
39
 
40
40
  rows :: Matrix a -> Int
41
- rows = undefined
41
+ rows = error "You need to implement this function."
42
42
 
43
43
  shape :: Matrix a -> (Int, Int)
44
- shape = undefined
44
+ shape = error "You need to implement this function."
45
45
 
46
46
  transpose :: Matrix a -> Matrix a
47
- transpose = undefined
47
+ transpose = error "You need to implement this function."
@@ -18,4 +18,4 @@ data Schedule = First
18
18
  | Teenth
19
19
 
20
20
  meetupDay :: Schedule -> Weekday -> Integer -> Int -> Day
21
- meetupDay schedule weekday year month = undefined
21
+ meetupDay schedule weekday year month = error "You need to implement this function."
@@ -1,4 +1,4 @@
1
1
  module Minesweeper (annotate) where
2
2
 
3
3
  annotate :: [String] -> [String]
4
- annotate = undefined
4
+ annotate = error "You need to implement this function."
@@ -1,3 +1,3 @@
1
1
  module Prime (nth) where
2
2
 
3
- nth = undefined
3
+ nth = error "You need to implement this function."
@@ -3,7 +3,7 @@ module DNA (count, nucleotideCounts) where
3
3
  import Data.Map (Map)
4
4
 
5
5
  count :: Char -> String -> Either String Int
6
- count = undefined
6
+ count = error "You need to implement this function."
7
7
 
8
8
  nucleotideCounts :: String -> Either String (Map Char Int)
9
- nucleotideCounts = undefined
9
+ nucleotideCounts = error "You need to implement this function."
@@ -1,4 +1,4 @@
1
1
  module OCR (convert) where
2
2
 
3
3
  convert :: String -> String
4
- convert = undefined
4
+ convert = error "You need to implement this function."
@@ -1,5 +1,5 @@
1
1
  module Octal (readOct, showOct) where
2
2
 
3
- readOct = undefined
3
+ readOct = error "You need to implement this function."
4
4
 
5
- showOct = undefined
5
+ showOct = error "You need to implement this function."
@@ -1,7 +1,7 @@
1
1
  module Palindromes (largestPalindrome, smallestPalindrome) where
2
2
 
3
3
  largestPalindrome :: Integer -> Integer -> (Integer, [(Integer, Integer)])
4
- largestPalindrome minFactor maxFactor = undefined
4
+ largestPalindrome minFactor maxFactor = error "You need to implement this function."
5
5
 
6
6
  smallestPalindrome :: Integer -> Integer -> (Integer, [(Integer, Integer)])
7
- smallestPalindrome minFactor maxFactor = undefined
7
+ smallestPalindrome minFactor maxFactor = error "You need to implement this function."
@@ -4,4 +4,4 @@ import Data.Map (Map)
4
4
  import Data.Text (Text)
5
5
 
6
6
  frequency :: Int -> [Text] -> Map Char Int
7
- frequency nWorkers texts = undefined
7
+ frequency nWorkers texts = error "You need to implement this function."
@@ -1,4 +1,4 @@
1
1
  module Triangle (rows) where
2
2
 
3
3
  rows :: Int -> [[Integer]]
4
- rows = undefined
4
+ rows = error "You need to implement this function."
@@ -1,10 +1,10 @@
1
1
  module Phone (areaCode, number, prettyPrint) where
2
2
 
3
3
  areaCode :: String -> Maybe String
4
- areaCode = undefined
4
+ areaCode = error "You need to implement this function."
5
5
 
6
6
  number :: String -> Maybe String
7
- number = undefined
7
+ number = error "You need to implement this function."
8
8
 
9
9
  prettyPrint :: String -> Maybe String
10
- prettyPrint = undefined
10
+ prettyPrint = error "You need to implement this function."
@@ -1,4 +1,4 @@
1
1
  module PigLatin (translate) where
2
2
 
3
3
  translate :: String -> String
4
- translate = undefined
4
+ translate = error "You need to implement this function."
@@ -3,7 +3,7 @@ module POV (fromPOV, tracePathBetween) where
3
3
  import Data.Tree (Tree)
4
4
 
5
5
  fromPOV :: Eq a => a -> Tree a -> Maybe (Tree a)
6
- fromPOV = undefined
6
+ fromPOV = error "You need to implement this function."
7
7
 
8
8
  tracePathBetween :: Eq a => a -> a -> Tree a -> Maybe [a]
9
- tracePathBetween = undefined
9
+ tracePathBetween = error "You need to implement this function."
@@ -1,4 +1,4 @@
1
1
  module PrimeFactors (primeFactors) where
2
2
 
3
3
  primeFactors :: Integer -> [Integer]
4
- primeFactors = undefined
4
+ primeFactors = error "You need to implement this function."
@@ -1,7 +1,7 @@
1
1
  module Triplet (isPythagorean, mkTriplet, pythagoreanTriplets) where
2
2
 
3
- isPythagorean = undefined
3
+ isPythagorean = error "You need to implement this function."
4
4
 
5
- mkTriplet = undefined
5
+ mkTriplet = error "You need to implement this function."
6
6
 
7
- pythagoreanTriplets = undefined
7
+ pythagoreanTriplets = error "You need to implement this function."
@@ -1,7 +1,7 @@
1
1
  module Queens (boardString, canAttack) where
2
2
 
3
3
  boardString :: Maybe (Int, Int) -> Maybe (Int, Int) -> String
4
- boardString white black = undefined
4
+ boardString white black = error "You need to implement this function."
5
5
 
6
6
  canAttack :: (Int, Int) -> (Int, Int) -> Bool
7
- canAttack = undefined
7
+ canAttack = error "You need to implement this function."
@@ -1,3 +1,3 @@
1
1
  module Raindrops (convert) where
2
2
 
3
- convert = undefined
3
+ convert = error "You need to implement this function."
@@ -1,4 +1,4 @@
1
1
  module DNA (toRNA) where
2
2
 
3
3
  toRNA :: String -> Maybe String
4
- toRNA = undefined
4
+ toRNA = error "You need to implement this function."
@@ -3,10 +3,10 @@ module Robot (Robot, mkRobot, resetName, robotName) where
3
3
  data Robot = Dummy
4
4
 
5
5
  mkRobot :: IO Robot
6
- mkRobot = undefined
6
+ mkRobot = error "You need to implement this function."
7
7
 
8
8
  resetName :: Robot -> IO ()
9
- resetName = undefined
9
+ resetName = error "You need to implement this function."
10
10
 
11
11
  robotName :: Robot -> IO String
12
- robotName = undefined
12
+ robotName = error "You need to implement this function."
@@ -17,19 +17,19 @@ data Bearing = North
17
17
  data Robot = Dummy
18
18
 
19
19
  bearing :: Robot -> Bearing
20
- bearing = undefined
20
+ bearing = error "You need to implement this function."
21
21
 
22
22
  coordinates :: Robot -> (Integer, Integer)
23
- coordinates = undefined
23
+ coordinates = error "You need to implement this function."
24
24
 
25
25
  mkRobot :: Bearing -> (Integer, Integer) -> Robot
26
- mkRobot = undefined
26
+ mkRobot = error "You need to implement this function."
27
27
 
28
28
  simulate :: Robot -> String -> Robot
29
- simulate = undefined
29
+ simulate = error "You need to implement this function."
30
30
 
31
31
  turnLeft :: Bearing -> Bearing
32
- turnLeft = undefined
32
+ turnLeft = error "You need to implement this function."
33
33
 
34
34
  turnRight :: Bearing -> Bearing
35
- turnRight = undefined
35
+ turnRight = error "You need to implement this function."