trackler 2.2.1.4 → 2.2.1.5

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 (442) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/tracks/bash/config.json +10 -0
  4. data/tracks/bash/exercises/error-handling/error_handling_test.sh +31 -0
  5. data/tracks/bash/exercises/error-handling/example.sh +9 -0
  6. data/tracks/ceylon/config/maintainers.json +25 -0
  7. data/tracks/chapel/README.md +1 -1
  8. data/tracks/chapel/config/exercise_readme.go.tmpl +16 -0
  9. data/tracks/chapel/config/maintainers.json +5 -0
  10. data/tracks/chapel/config.json +0 -5
  11. data/tracks/coffeescript/config/exercise_readme.go.tmpl +16 -0
  12. data/tracks/coffeescript/config.json +84 -26
  13. data/tracks/coffeescript/exercises/accumulate/README.md +43 -0
  14. data/tracks/coffeescript/exercises/anagram/README.md +21 -0
  15. data/tracks/coffeescript/exercises/atbash-cipher/README.md +42 -0
  16. data/tracks/coffeescript/exercises/beer-song/README.md +335 -0
  17. data/tracks/coffeescript/exercises/binary/README.md +43 -0
  18. data/tracks/coffeescript/exercises/binary-search-tree/README.md +68 -0
  19. data/tracks/coffeescript/exercises/bob/README.md +26 -0
  20. data/tracks/coffeescript/exercises/clock/README.md +21 -0
  21. data/tracks/coffeescript/exercises/hello-world/README.md +29 -0
  22. data/tracks/coffeescript/exercises/hexadecimal/README.md +22 -0
  23. data/tracks/coffeescript/exercises/linked-list/README.md +42 -0
  24. data/tracks/coffeescript/exercises/luhn/README.md +79 -0
  25. data/tracks/coffeescript/exercises/nth-prime/README.md +23 -0
  26. data/tracks/coffeescript/exercises/nucleotide-count/README.md +41 -0
  27. data/tracks/coffeescript/exercises/palindrome-products/README.md +48 -0
  28. data/tracks/coffeescript/exercises/pascals-triangle/README.md +29 -0
  29. data/tracks/coffeescript/exercises/queen-attack/README.md +41 -0
  30. data/tracks/coffeescript/exercises/triangle/README.md +34 -0
  31. data/tracks/coffeescript/exercises/trinary/README.md +36 -0
  32. data/tracks/coffeescript/exercises/word-count/README.md +27 -0
  33. data/tracks/coffeescript/exercises/wordy/README.md +71 -0
  34. data/tracks/coldfusion/config/exercise_readme.go.tmpl +16 -0
  35. data/tracks/coldfusion/config.json +4 -6
  36. data/tracks/coldfusion/exercises/leap/README.md +33 -0
  37. data/tracks/coq/README.md +19 -32
  38. data/tracks/coq/config/exercise_readme.go.tmpl +16 -0
  39. data/tracks/coq/config.json +9 -5
  40. data/tracks/coq/exercises/hello-world/README.md +45 -0
  41. data/tracks/coq/exercises/rna-transcription/README.md +49 -0
  42. data/tracks/coq/exercises/tautology/README.md +33 -0
  43. data/tracks/cpp/config/exercise_readme.go.tmpl +16 -0
  44. data/tracks/cpp/config.json +144 -41
  45. data/tracks/cpp/exercises/allergies/README.md +69 -0
  46. data/tracks/cpp/exercises/anagram/README.md +45 -0
  47. data/tracks/cpp/exercises/atbash-cipher/README.md +66 -0
  48. data/tracks/cpp/exercises/beer-song/README.md +359 -0
  49. data/tracks/cpp/exercises/binary/README.md +67 -0
  50. data/tracks/cpp/exercises/bob/README.md +50 -0
  51. data/tracks/cpp/exercises/clock/README.md +45 -0
  52. data/tracks/cpp/exercises/crypto-square/README.md +106 -0
  53. data/tracks/cpp/exercises/difference-of-squares/README.md +51 -0
  54. data/tracks/cpp/exercises/etl/README.md +83 -0
  55. data/tracks/cpp/exercises/food-chain/README.md +102 -0
  56. data/tracks/cpp/exercises/gigasecond/README.md +43 -0
  57. data/tracks/cpp/exercises/grade-school/README.md +74 -0
  58. data/tracks/cpp/exercises/grains/README.md +66 -0
  59. data/tracks/cpp/exercises/hamming/README.md +74 -0
  60. data/tracks/cpp/exercises/hello-world/README.md +53 -0
  61. data/tracks/cpp/exercises/hexadecimal/README.md +46 -0
  62. data/tracks/cpp/exercises/leap/README.md +65 -0
  63. data/tracks/cpp/exercises/meetup/README.md +62 -0
  64. data/tracks/cpp/exercises/nth-prime/README.md +47 -0
  65. data/tracks/cpp/exercises/nucleotide-count/README.md +65 -0
  66. data/tracks/cpp/exercises/phone-number/README.md +66 -0
  67. data/tracks/cpp/exercises/prime-factors/README.md +68 -0
  68. data/tracks/cpp/exercises/queen-attack/README.md +65 -0
  69. data/tracks/cpp/exercises/raindrops/README.md +56 -0
  70. data/tracks/cpp/exercises/rna-transcription/README.md +57 -0
  71. data/tracks/cpp/exercises/robot-name/README.md +54 -0
  72. data/tracks/cpp/exercises/roman-numerals/README.md +81 -0
  73. data/tracks/cpp/exercises/say/README.md +101 -0
  74. data/tracks/cpp/exercises/scrabble-score/README.md +76 -0
  75. data/tracks/cpp/exercises/series/README.md +59 -0
  76. data/tracks/cpp/exercises/sieve/README.md +66 -0
  77. data/tracks/cpp/exercises/space-age/README.md +56 -0
  78. data/tracks/cpp/exercises/sum-of-multiples/README.md +50 -0
  79. data/tracks/cpp/exercises/triangle/README.md +58 -0
  80. data/tracks/cpp/exercises/trinary/README.md +60 -0
  81. data/tracks/cpp/exercises/word-count/README.md +51 -0
  82. data/tracks/crystal/config.json +69 -3
  83. data/tracks/d/config/exercise_readme.go.tmpl +16 -0
  84. data/tracks/d/config.json +54 -3
  85. data/tracks/d/exercises/bob/README.md +49 -0
  86. data/tracks/d/exercises/circular-buffer/README.md +81 -0
  87. data/tracks/d/exercises/crypto-square/README.md +105 -0
  88. data/tracks/d/exercises/difference-of-squares/README.md +50 -0
  89. data/tracks/d/exercises/etl/README.md +82 -0
  90. data/tracks/d/exercises/gigasecond/README.md +42 -0
  91. data/tracks/d/exercises/hamming/README.md +73 -0
  92. data/tracks/d/exercises/hello-world/README.md +52 -0
  93. data/tracks/d/exercises/leap/README.md +64 -0
  94. data/tracks/d/exercises/nucleotide-count/README.md +64 -0
  95. data/tracks/d/exercises/pangram/README.md +46 -0
  96. data/tracks/d/exercises/raindrops/README.md +55 -0
  97. data/tracks/d/exercises/react/README.md +50 -0
  98. data/tracks/d/exercises/rna-transcription/README.md +56 -0
  99. data/tracks/d/exercises/robot-name/README.md +53 -0
  100. data/tracks/d/exercises/roman-numerals/README.md +80 -0
  101. data/tracks/d/exercises/series/README.md +58 -0
  102. data/tracks/d/exercises/triangle/README.md +57 -0
  103. data/tracks/delphi/config/maintainers.json +25 -0
  104. data/tracks/ecmascript/config/maintainers.json +35 -0
  105. data/tracks/elisp/config/exercise_readme.go.tmpl +16 -0
  106. data/tracks/elisp/config.json +79 -22
  107. data/tracks/elisp/exercises/allergies/README.md +37 -0
  108. data/tracks/elisp/exercises/anagram/README.md +13 -0
  109. data/tracks/elisp/exercises/atbash-cipher/README.md +34 -0
  110. data/tracks/elisp/exercises/binary/README.md +35 -0
  111. data/tracks/elisp/exercises/bob/README.md +18 -0
  112. data/tracks/elisp/exercises/difference-of-squares/README.md +19 -0
  113. data/tracks/elisp/exercises/etl/README.md +51 -0
  114. data/tracks/elisp/exercises/gigasecond/README.md +11 -0
  115. data/tracks/elisp/exercises/grains/README.md +34 -0
  116. data/tracks/elisp/exercises/hamming/README.md +42 -0
  117. data/tracks/elisp/exercises/hello-world/README.md +21 -0
  118. data/tracks/elisp/exercises/leap/README.md +33 -0
  119. data/tracks/elisp/exercises/nucleotide-count/README.md +33 -0
  120. data/tracks/elisp/exercises/perfect-numbers/README.md +24 -0
  121. data/tracks/elisp/exercises/phone-number/README.md +34 -0
  122. data/tracks/elisp/exercises/raindrops/README.md +24 -0
  123. data/tracks/elisp/exercises/rna-transcription/README.md +25 -0
  124. data/tracks/elisp/exercises/robot-name/README.md +22 -0
  125. data/tracks/elisp/exercises/roman-numerals/README.md +49 -0
  126. data/tracks/elisp/exercises/word-count/README.md +19 -0
  127. data/tracks/elixir/config/maintainers.json +35 -0
  128. data/tracks/elm/config/exercise_readme.go.tmpl +16 -0
  129. data/tracks/elm/config.json +96 -5
  130. data/tracks/elm/exercises/accumulate/README.md +65 -0
  131. data/tracks/elm/exercises/allergies/README.md +67 -0
  132. data/tracks/elm/exercises/anagram/README.md +43 -0
  133. data/tracks/elm/exercises/atbash-cipher/README.md +64 -0
  134. data/tracks/elm/exercises/bob/README.md +48 -0
  135. data/tracks/elm/exercises/difference-of-squares/README.md +49 -0
  136. data/tracks/elm/exercises/etl/README.md +81 -0
  137. data/tracks/elm/exercises/gigasecond/README.md +41 -0
  138. data/tracks/elm/exercises/grade-school/README.md +72 -0
  139. data/tracks/elm/exercises/grains/README.md +64 -0
  140. data/tracks/elm/exercises/hamming/README.md +72 -0
  141. data/tracks/elm/exercises/hello-world/README.md +51 -0
  142. data/tracks/elm/exercises/largest-series-product/README.md +50 -0
  143. data/tracks/elm/exercises/leap/README.md +63 -0
  144. data/tracks/elm/exercises/list-ops/README.md +40 -0
  145. data/tracks/elm/exercises/nucleotide-count/README.md +63 -0
  146. data/tracks/elm/exercises/pangram/README.md +45 -0
  147. data/tracks/elm/exercises/phone-number/README.md +64 -0
  148. data/tracks/elm/exercises/raindrops/README.md +54 -0
  149. data/tracks/elm/exercises/rna-transcription/README.md +55 -0
  150. data/tracks/elm/exercises/robot-simulator/README.md +64 -0
  151. data/tracks/elm/exercises/roman-numerals/README.md +79 -0
  152. data/tracks/elm/exercises/run-length-encoding/README.md +60 -0
  153. data/tracks/elm/exercises/say/README.md +99 -0
  154. data/tracks/elm/exercises/scrabble-score/README.md +74 -0
  155. data/tracks/elm/exercises/series/README.md +57 -0
  156. data/tracks/elm/exercises/space-age/README.md +54 -0
  157. data/tracks/elm/exercises/strain/README.md +70 -0
  158. data/tracks/elm/exercises/sublist/README.md +51 -0
  159. data/tracks/elm/exercises/sum-of-multiples/README.md +48 -0
  160. data/tracks/elm/exercises/triangle/README.md +56 -0
  161. data/tracks/elm/exercises/word-count/README.md +49 -0
  162. data/tracks/fortran/config/exercise_readme.go.tmpl +16 -0
  163. data/tracks/fortran/config.json +21 -5
  164. data/tracks/fortran/exercises/bob/README.md +18 -0
  165. data/tracks/fortran/exercises/difference-of-squares/README.md +19 -0
  166. data/tracks/fortran/exercises/hamming/README.md +42 -0
  167. data/tracks/fortran/exercises/hello-world/README.md +21 -0
  168. data/tracks/fortran/exercises/pangram/README.md +15 -0
  169. data/tracks/fortran/exercises/raindrops/README.md +24 -0
  170. data/tracks/fortran/exercises/rna-transcription/README.md +25 -0
  171. data/tracks/go/config/maintainers.json +85 -0
  172. data/tracks/go/config.json +2 -2
  173. data/tracks/groovy/config/exercise_readme.go.tmpl +16 -0
  174. data/tracks/groovy/exercises/difference-of-squares/README.md +33 -0
  175. data/tracks/groovy/exercises/gigasecond/README.md +25 -0
  176. data/tracks/groovy/exercises/grains/README.md +48 -0
  177. data/tracks/groovy/exercises/hamming/README.md +56 -0
  178. data/tracks/groovy/exercises/hello-world/README.md +35 -0
  179. data/tracks/groovy/exercises/leap/README.md +47 -0
  180. data/tracks/groovy/exercises/nth-prime/README.md +29 -0
  181. data/tracks/groovy/exercises/phone-number/README.md +48 -0
  182. data/tracks/groovy/exercises/raindrops/README.md +38 -0
  183. data/tracks/groovy/exercises/rna-transcription/README.md +39 -0
  184. data/tracks/groovy/exercises/robot-name/README.md +36 -0
  185. data/tracks/groovy/exercises/roman-numerals/README.md +63 -0
  186. data/tracks/groovy/exercises/word-count/README.md +33 -0
  187. data/tracks/haxe/config/exercise_readme.go.tmpl +16 -0
  188. data/tracks/haxe/config.json +0 -2
  189. data/tracks/haxe/exercises/bob/README.md +18 -0
  190. data/tracks/haxe/exercises/hello-world/README.md +21 -0
  191. data/tracks/idris/config/exercise_readme.go.tmpl +16 -0
  192. data/tracks/idris/config.json +9 -3
  193. data/tracks/idris/exercises/hamming/README.md +42 -0
  194. data/tracks/idris/exercises/hello-world/README.md +21 -0
  195. data/tracks/idris/exercises/leap/README.md +33 -0
  196. data/tracks/java/config/maintainers.json +45 -0
  197. data/tracks/java/exercises/hello-world/TUTORIAL.md +1 -1
  198. data/tracks/javascript/config/maintainers.json +85 -0
  199. data/tracks/julia/config/exercise_readme.go.tmpl +16 -0
  200. data/tracks/julia/config.json +81 -5
  201. data/tracks/julia/exercises/anagram/README.md +13 -0
  202. data/tracks/julia/exercises/atbash-cipher/README.md +34 -0
  203. data/tracks/julia/exercises/bob/README.md +18 -0
  204. data/tracks/julia/exercises/complex-numbers/README.md +24 -0
  205. data/tracks/julia/exercises/custom-set/README.md +16 -0
  206. data/tracks/julia/exercises/difference-of-squares/README.md +19 -0
  207. data/tracks/julia/exercises/etl/README.md +51 -0
  208. data/tracks/julia/exercises/gigasecond/README.md +11 -0
  209. data/tracks/julia/exercises/hamming/README.md +42 -0
  210. data/tracks/julia/exercises/hello-world/README.md +21 -0
  211. data/tracks/julia/exercises/isogram/README.md +19 -0
  212. data/tracks/julia/exercises/leap/README.md +33 -0
  213. data/tracks/julia/exercises/luhn/README.md +71 -0
  214. data/tracks/julia/exercises/nucleotide-count/README.md +33 -0
  215. data/tracks/julia/exercises/pangram/README.md +15 -0
  216. data/tracks/julia/exercises/pascals-triangle/README.md +21 -0
  217. data/tracks/julia/exercises/raindrops/README.md +24 -0
  218. data/tracks/julia/exercises/rna-transcription/README.md +25 -0
  219. data/tracks/julia/exercises/robot-name/README.md +41 -0
  220. data/tracks/julia/exercises/roman-numerals/README.md +49 -0
  221. data/tracks/julia/exercises/rotational-cipher/README.md +59 -0
  222. data/tracks/julia/exercises/scrabble-score/README.md +44 -0
  223. data/tracks/julia/exercises/secret-handshake/README.md +35 -0
  224. data/tracks/julia/exercises/sieve/README.md +34 -0
  225. data/tracks/julia/exercises/transpose/README.md +65 -0
  226. data/tracks/julia/exercises/trinary/README.md +28 -0
  227. data/tracks/julia/exercises/word-count/README.md +19 -0
  228. data/tracks/lfe/config/exercise_readme.go.tmpl +16 -0
  229. data/tracks/lfe/config.json +125 -33
  230. data/tracks/lfe/exercises/accumulate/README.md +51 -0
  231. data/tracks/lfe/exercises/allergies/README.md +53 -0
  232. data/tracks/lfe/exercises/anagram/README.md +29 -0
  233. data/tracks/lfe/exercises/atbash-cipher/README.md +50 -0
  234. data/tracks/lfe/exercises/bank-account/README.md +46 -0
  235. data/tracks/lfe/exercises/beer-song/README.md +343 -0
  236. data/tracks/lfe/exercises/binary/README.md +51 -0
  237. data/tracks/lfe/exercises/bob/README.md +34 -0
  238. data/tracks/lfe/exercises/circular-buffer/README.md +66 -0
  239. data/tracks/lfe/exercises/clock/README.md +29 -0
  240. data/tracks/lfe/exercises/difference-of-squares/README.md +35 -0
  241. data/tracks/lfe/exercises/etl/README.md +67 -0
  242. data/tracks/lfe/exercises/gigasecond/README.md +27 -0
  243. data/tracks/lfe/exercises/grade-school/README.md +58 -0
  244. data/tracks/lfe/exercises/grains/README.md +50 -0
  245. data/tracks/lfe/exercises/hamming/README.md +58 -0
  246. data/tracks/lfe/exercises/largest-series-product/README.md +36 -0
  247. data/tracks/lfe/exercises/leap/README.md +49 -0
  248. data/tracks/lfe/exercises/luhn/README.md +87 -0
  249. data/tracks/lfe/exercises/meetup/README.md +46 -0
  250. data/tracks/lfe/exercises/nucleotide-count/README.md +49 -0
  251. data/tracks/lfe/exercises/parallel-letter-frequency/README.md +27 -0
  252. data/tracks/lfe/exercises/phone-number/README.md +50 -0
  253. data/tracks/lfe/exercises/rna-transcription/README.md +41 -0
  254. data/tracks/lfe/exercises/robot-simulator/README.md +50 -0
  255. data/tracks/lfe/exercises/series/README.md +43 -0
  256. data/tracks/lfe/exercises/space-age/README.md +40 -0
  257. data/tracks/lfe/exercises/strain/README.md +56 -0
  258. data/tracks/lfe/exercises/sum-of-multiples/README.md +34 -0
  259. data/tracks/lfe/exercises/trinary/README.md +44 -0
  260. data/tracks/lfe/exercises/word-count/README.md +35 -0
  261. data/tracks/lua/config/maintainers.json +35 -0
  262. data/tracks/lua/config.json +225 -3
  263. data/tracks/nasm/config/exercise_readme.go.tmpl +16 -0
  264. data/tracks/nasm/config.json +0 -5
  265. data/tracks/nim/config/exercise_readme.go.tmpl +16 -0
  266. data/tracks/nim/config.json +56 -19
  267. data/tracks/nim/exercises/anagram/README.md +13 -0
  268. data/tracks/nim/exercises/binary/README.md +35 -0
  269. data/tracks/nim/exercises/bob/README.md +18 -0
  270. data/tracks/nim/exercises/difference-of-squares/README.md +19 -0
  271. data/tracks/nim/exercises/hamming/README.md +42 -0
  272. data/tracks/nim/exercises/hello-world/README.md +21 -0
  273. data/tracks/nim/exercises/leap/README.md +33 -0
  274. data/tracks/nim/exercises/nucleotide-count/README.md +33 -0
  275. data/tracks/nim/exercises/queen-attack/README.md +33 -0
  276. data/tracks/nim/exercises/raindrops/README.md +24 -0
  277. data/tracks/nim/exercises/react/README.md +19 -0
  278. data/tracks/nim/exercises/rna-transcription/README.md +25 -0
  279. data/tracks/nim/exercises/triangle/README.md +26 -0
  280. data/tracks/nim/exercises/word-count/README.md +19 -0
  281. data/tracks/objective-c/config/exercise_readme.go.tmpl +16 -0
  282. data/tracks/objective-c/config/maintainers.json +35 -0
  283. data/tracks/objective-c/config.json +168 -47
  284. data/tracks/objective-c/exercises/acronym/README.md +32 -0
  285. data/tracks/objective-c/exercises/all-your-base/README.md +52 -0
  286. data/tracks/objective-c/exercises/allergies/README.md +54 -0
  287. data/tracks/objective-c/exercises/anagram/README.md +30 -0
  288. data/tracks/objective-c/exercises/atbash-cipher/README.md +51 -0
  289. data/tracks/objective-c/exercises/beer-song/README.md +344 -0
  290. data/tracks/objective-c/exercises/binary-search/README.md +58 -0
  291. data/tracks/objective-c/exercises/bob/README.md +35 -0
  292. data/tracks/objective-c/exercises/bracket-push/README.md +27 -0
  293. data/tracks/objective-c/exercises/clock/README.md +30 -0
  294. data/tracks/objective-c/exercises/crypto-square/README.md +91 -0
  295. data/tracks/objective-c/exercises/difference-of-squares/README.md +36 -0
  296. data/tracks/objective-c/exercises/etl/README.md +68 -0
  297. data/tracks/objective-c/exercises/flatten-array/README.md +35 -0
  298. data/tracks/objective-c/exercises/gigasecond/README.md +28 -0
  299. data/tracks/objective-c/exercises/grade-school/README.md +59 -0
  300. data/tracks/objective-c/exercises/hamming/README.md +59 -0
  301. data/tracks/objective-c/exercises/hello-world/README.md +38 -0
  302. data/tracks/objective-c/exercises/isogram/README.md +36 -0
  303. data/tracks/objective-c/exercises/largest-series-product/README.md +37 -0
  304. data/tracks/objective-c/exercises/leap/README.md +50 -0
  305. data/tracks/objective-c/exercises/luhn/README.md +88 -0
  306. data/tracks/objective-c/exercises/meetup/README.md +47 -0
  307. data/tracks/objective-c/exercises/nucleotide-count/README.md +50 -0
  308. data/tracks/objective-c/exercises/pangram/README.md +32 -0
  309. data/tracks/objective-c/exercises/pascals-triangle/README.md +38 -0
  310. data/tracks/objective-c/exercises/perfect-numbers/README.md +41 -0
  311. data/tracks/objective-c/exercises/phone-number/README.md +51 -0
  312. data/tracks/objective-c/exercises/raindrops/README.md +41 -0
  313. data/tracks/objective-c/exercises/rna-transcription/README.md +42 -0
  314. data/tracks/objective-c/exercises/robot-name/README.md +39 -0
  315. data/tracks/objective-c/exercises/roman-numerals/README.md +66 -0
  316. data/tracks/objective-c/exercises/run-length-encoding/README.md +47 -0
  317. data/tracks/objective-c/exercises/scrabble-score/README.md +61 -0
  318. data/tracks/objective-c/exercises/secret-handshake/README.md +52 -0
  319. data/tracks/objective-c/exercises/sieve/README.md +51 -0
  320. data/tracks/objective-c/exercises/space-age/README.md +41 -0
  321. data/tracks/objective-c/exercises/sublist/README.md +38 -0
  322. data/tracks/objective-c/exercises/sum-of-multiples/README.md +35 -0
  323. data/tracks/objective-c/exercises/transpose/README.md +82 -0
  324. data/tracks/objective-c/exercises/triangle/README.md +43 -0
  325. data/tracks/objective-c/exercises/word-count/README.md +36 -0
  326. data/tracks/plsql/config/exercise_readme.go.tmpl +16 -0
  327. data/tracks/plsql/config.json +0 -2
  328. data/tracks/plsql/exercises/binary/README.md +55 -0
  329. data/tracks/plsql/exercises/difference-of-squares/README.md +39 -0
  330. data/tracks/plsql/exercises/gigasecond/README.md +31 -0
  331. data/tracks/plsql/exercises/grains/README.md +54 -0
  332. data/tracks/plsql/exercises/hamming/README.md +62 -0
  333. data/tracks/plsql/exercises/leap/README.md +53 -0
  334. data/tracks/plsql/exercises/nth-prime/README.md +35 -0
  335. data/tracks/plsql/exercises/raindrops/README.md +44 -0
  336. data/tracks/plsql/exercises/rna-transcription/README.md +45 -0
  337. data/tracks/plsql/exercises/roman-numerals/README.md +69 -0
  338. data/tracks/powershell/config.json +8 -5
  339. data/tracks/prolog/config/exercise_readme.go.tmpl +16 -0
  340. data/tracks/prolog/config.json +33 -5
  341. data/tracks/prolog/exercises/anagram/README.md +13 -0
  342. data/tracks/prolog/exercises/binary/README.md +35 -0
  343. data/tracks/prolog/exercises/grains/README.md +34 -0
  344. data/tracks/prolog/exercises/hamming/README.md +42 -0
  345. data/tracks/prolog/exercises/hello-world/README.md +21 -0
  346. data/tracks/prolog/exercises/leap/README.md +33 -0
  347. data/tracks/prolog/exercises/nucleotide-count/README.md +33 -0
  348. data/tracks/prolog/exercises/rna-transcription/README.md +25 -0
  349. data/tracks/prolog/exercises/space-age/README.md +24 -0
  350. data/tracks/prolog/exercises/sum-of-multiples/README.md +18 -0
  351. data/tracks/prolog/exercises/triangle/README.md +26 -0
  352. data/tracks/python/requirements-travis.txt +1 -1
  353. data/tracks/r/config/maintainers.json +35 -0
  354. data/tracks/r/config.json +1 -1
  355. data/tracks/racket/README.md +1 -1
  356. data/tracks/racket/config/exercise_readme.go.tmpl +16 -0
  357. data/tracks/racket/config.json +93 -25
  358. data/tracks/racket/exercises/accumulate/README.md +60 -0
  359. data/tracks/racket/exercises/acronym/README.md +40 -0
  360. data/tracks/racket/exercises/allergies/README.md +62 -0
  361. data/tracks/racket/exercises/anagram/README.md +38 -0
  362. data/tracks/racket/exercises/bob/README.md +43 -0
  363. data/tracks/racket/exercises/difference-of-squares/README.md +44 -0
  364. data/tracks/racket/exercises/etl/README.md +76 -0
  365. data/tracks/racket/exercises/gigasecond/README.md +36 -0
  366. data/tracks/racket/exercises/grains/README.md +59 -0
  367. data/tracks/racket/exercises/grep/README.md +96 -0
  368. data/tracks/racket/exercises/hamming/README.md +67 -0
  369. data/tracks/racket/exercises/hello-world/README.md +46 -0
  370. data/tracks/racket/exercises/leap/README.md +58 -0
  371. data/tracks/racket/exercises/list-ops/README.md +35 -0
  372. data/tracks/racket/exercises/nucleotide-count/README.md +58 -0
  373. data/tracks/racket/exercises/perfect-numbers/README.md +49 -0
  374. data/tracks/racket/exercises/phone-number/README.md +59 -0
  375. data/tracks/racket/exercises/raindrops/README.md +49 -0
  376. data/tracks/racket/exercises/rna-transcription/README.md +50 -0
  377. data/tracks/racket/exercises/roman-numerals/README.md +74 -0
  378. data/tracks/racket/exercises/say/README.md +94 -0
  379. data/tracks/racket/exercises/scrabble-score/README.md +69 -0
  380. data/tracks/racket/exercises/word-count/README.md +44 -0
  381. data/tracks/ruby/exercises/binary-search-tree/.meta/solutions/binary_search_tree.rb +4 -2
  382. data/tracks/ruby/exercises/binary-search-tree/binary_search_tree_test.rb +13 -4
  383. data/tracks/scala/config/maintainers.json +29 -0
  384. data/tracks/scala/exercises/atbash-cipher/example.scala +4 -1
  385. data/tracks/scala/exercises/atbash-cipher/src/test/scala/AtbashCipherTest.scala +64 -0
  386. data/tracks/scala/exercises/roman-numerals/example.scala +2 -2
  387. data/tracks/scala/exercises/roman-numerals/src/test/scala/RomanNumeralsTest.scala +40 -39
  388. data/tracks/scala/testgen/src/main/scala/AtbashCipherTestGenerator.scala +16 -0
  389. data/tracks/scala/testgen/src/main/scala/RomanNumeralsTestGenerator.scala +15 -0
  390. data/tracks/scheme/config/exercise_readme.go.tmpl +16 -0
  391. data/tracks/scheme/config.json +42 -3
  392. data/tracks/scheme/exercises/anagram/README.md +13 -0
  393. data/tracks/scheme/exercises/bob/README.md +18 -0
  394. data/tracks/scheme/exercises/difference-of-squares/README.md +19 -0
  395. data/tracks/scheme/exercises/grains/README.md +34 -0
  396. data/tracks/scheme/exercises/hamming/README.md +42 -0
  397. data/tracks/scheme/exercises/hello-world/README.md +21 -0
  398. data/tracks/scheme/exercises/leap/README.md +33 -0
  399. data/tracks/scheme/exercises/list-ops/README.md +10 -0
  400. data/tracks/scheme/exercises/nucleotide-count/README.md +33 -0
  401. data/tracks/scheme/exercises/phone-number/README.md +34 -0
  402. data/tracks/scheme/exercises/raindrops/README.md +24 -0
  403. data/tracks/scheme/exercises/rna-transcription/README.md +25 -0
  404. data/tracks/scheme/exercises/robot-name/README.md +22 -0
  405. data/tracks/scheme/exercises/scrabble-score/README.md +44 -0
  406. data/tracks/sml/config/maintainers.json +25 -0
  407. data/tracks/typescript/config/exercise_readme.go.tmpl +16 -0
  408. data/tracks/typescript/config/maintainers.json +25 -0
  409. data/tracks/typescript/config.json +0 -2
  410. data/tracks/typescript/exercises/anagram/README.md +39 -0
  411. data/tracks/typescript/exercises/beer-song/README.md +353 -0
  412. data/tracks/typescript/exercises/bob/README.md +44 -0
  413. data/tracks/typescript/exercises/difference-of-squares/README.md +45 -0
  414. data/tracks/typescript/exercises/etl/README.md +77 -0
  415. data/tracks/typescript/exercises/food-chain/README.md +96 -0
  416. data/tracks/typescript/exercises/gigasecond/README.md +37 -0
  417. data/tracks/typescript/exercises/grade-school/README.md +68 -0
  418. data/tracks/typescript/exercises/hamming/README.md +68 -0
  419. data/tracks/typescript/exercises/hello-world/README.md +47 -0
  420. data/tracks/typescript/exercises/leap/README.md +59 -0
  421. data/tracks/typescript/exercises/pangram/README.md +41 -0
  422. data/tracks/typescript/exercises/phone-number/README.md +60 -0
  423. data/tracks/typescript/exercises/raindrops/README.md +50 -0
  424. data/tracks/typescript/exercises/rna-transcription/README.md +51 -0
  425. data/tracks/typescript/exercises/robot-name/README.md +48 -0
  426. data/tracks/typescript/exercises/say/README.md +95 -0
  427. data/tracks/typescript/exercises/scrabble-score/README.md +70 -0
  428. data/tracks/typescript/exercises/space-age/README.md +50 -0
  429. data/tracks/typescript/exercises/word-count/README.md +45 -0
  430. data/tracks/typescript/exercises/wordy/README.md +89 -0
  431. data/tracks/vbnet/config/exercise_readme.go.tmpl +16 -0
  432. data/tracks/vbnet/config.json +28 -12
  433. data/tracks/vbnet/exercises/accumulate/README.md +41 -0
  434. data/tracks/vbnet/exercises/allergies/README.md +43 -0
  435. data/tracks/vbnet/exercises/anagram/README.md +19 -0
  436. data/tracks/vbnet/exercises/atbash-cipher/README.md +40 -0
  437. data/tracks/vbnet/exercises/binary/README.md +41 -0
  438. data/tracks/vbnet/exercises/bob/README.md +24 -0
  439. data/tracks/vbnet/exercises/crypto-square/README.md +80 -0
  440. metadata +401 -4
  441. data/tracks/scala/exercises/atbash-cipher/src/main/scala/Atbash.scala +0 -3
  442. data/tracks/scala/exercises/atbash-cipher/src/test/scala/atbash_test.scala +0 -48
@@ -0,0 +1,40 @@
1
+ # Space Age
2
+
3
+ Given an age in seconds, calculate how old someone would be on:
4
+
5
+ - Earth: orbital period 365.25 Earth days, or 31557600 seconds
6
+ - Mercury: orbital period 0.2408467 Earth years
7
+ - Venus: orbital period 0.61519726 Earth years
8
+ - Mars: orbital period 1.8808158 Earth years
9
+ - Jupiter: orbital period 11.862615 Earth years
10
+ - Saturn: orbital period 29.447498 Earth years
11
+ - Uranus: orbital period 84.016846 Earth years
12
+ - Neptune: orbital period 164.79132 Earth years
13
+
14
+ So if you were told someone were 1,000,000,000 seconds old, you should
15
+ be able to say that they're 31 Earth-years old.
16
+
17
+ If you're wondering why Pluto didn't make the cut, go watch [this
18
+ youtube video](http://www.youtube.com/watch?v=Z_2gbGXzFbs).
19
+
20
+ * * * *
21
+
22
+ For installation and learning resources, refer to the [exercism help page][].
23
+
24
+ [exercism help page]: http://exercism.io/languages/lfe
25
+
26
+ To run the provided tests, you will need `make`.
27
+ Open a terminal window and run the following from the exercise directory:
28
+
29
+ ```sh
30
+ make test
31
+ ```
32
+
33
+ You should now be able to see the results of the test suite for the exercise.
34
+
35
+ ## Source
36
+
37
+ Partially inspired by Chapter 1 in Chris Pine's online Learn to Program tutorial. [http://pine.fm/LearnToProgram/?Chapter=01](http://pine.fm/LearnToProgram/?Chapter=01)
38
+
39
+ ## Submitting Incomplete Solutions
40
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,56 @@
1
+ # Strain
2
+
3
+ Implement the `keep` and `discard` operation on collections. Given a collection
4
+ and a predicate on the collection's elements, `keep` returns a new collection
5
+ containing those elements where the predicate is true, while `discard` returns
6
+ a new collection containing those elements where the predicate is false.
7
+
8
+ For example, given the collection of numbers:
9
+
10
+ - 1, 2, 3, 4, 5
11
+
12
+ And the predicate:
13
+
14
+ - is the number even?
15
+
16
+ Then your keep operation should produce:
17
+
18
+ - 2, 4
19
+
20
+ While your discard operation should produce:
21
+
22
+ - 1, 3, 5
23
+
24
+ Note that the union of keep and discard is all the elements.
25
+
26
+ The functions may be called `keep` and `discard`, or they may need different
27
+ names in order to not clash with existing functions or concepts in your
28
+ language.
29
+
30
+ ## Restrictions
31
+
32
+ Keep your hands off that filter/reject/whatchamacallit functionality
33
+ provided by your standard library! Solve this one yourself using other
34
+ basic tools instead.
35
+
36
+ * * * *
37
+
38
+ For installation and learning resources, refer to the [exercism help page][].
39
+
40
+ [exercism help page]: http://exercism.io/languages/lfe
41
+
42
+ To run the provided tests, you will need `make`.
43
+ Open a terminal window and run the following from the exercise directory:
44
+
45
+ ```sh
46
+ make test
47
+ ```
48
+
49
+ You should now be able to see the results of the test suite for the exercise.
50
+
51
+ ## Source
52
+
53
+ Conversation with James Edward Gray II [https://twitter.com/jeg2](https://twitter.com/jeg2)
54
+
55
+ ## Submitting Incomplete Solutions
56
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,34 @@
1
+ # Sum Of Multiples
2
+
3
+ Given a number, find the sum of all the multiples of particular numbers up to
4
+ but not including that number.
5
+
6
+ If we list all the natural numbers up to but not including 20 that are
7
+ multiples of either 3 or 5, we get 3, 5, 6 and 9, 10, 12, 15, and 18.
8
+
9
+ The sum of these multiples is 78.
10
+
11
+ Given a number, find the sum of the multiples of a given set of numbers,
12
+ up to but not including that number.
13
+
14
+ * * * *
15
+
16
+ For installation and learning resources, refer to the [exercism help page][].
17
+
18
+ [exercism help page]: http://exercism.io/languages/lfe
19
+
20
+ To run the provided tests, you will need `make`.
21
+ Open a terminal window and run the following from the exercise directory:
22
+
23
+ ```sh
24
+ make test
25
+ ```
26
+
27
+ You should now be able to see the results of the test suite for the exercise.
28
+
29
+ ## Source
30
+
31
+ A variation on Problem 1 at Project Euler [http://projecteuler.net/problem=1](http://projecteuler.net/problem=1)
32
+
33
+ ## Submitting Incomplete Solutions
34
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,44 @@
1
+ # Trinary
2
+
3
+ Convert a trinary number, represented as a string (e.g. '102012'), to its
4
+ decimal equivalent using first principles.
5
+
6
+ The program should consider strings specifying an invalid trinary as the
7
+ value 0.
8
+
9
+ Trinary numbers contain three symbols: 0, 1, and 2.
10
+
11
+ The last place in a trinary number is the 1's place. The second to last
12
+ is the 3's place, the third to last is the 9's place, etc.
13
+
14
+ ```bash
15
+ # "102012"
16
+ 1 0 2 0 1 2 # the number
17
+ 1*3^5 + 0*3^4 + 2*3^3 + 0*3^2 + 1*3^1 + 2*3^0 # the value
18
+ 243 + 0 + 54 + 0 + 3 + 2 = 302
19
+ ```
20
+
21
+ If your language provides a method in the standard library to perform the
22
+ conversion, pretend it doesn't exist and implement it yourself.
23
+
24
+ * * * *
25
+
26
+ For installation and learning resources, refer to the [exercism help page][].
27
+
28
+ [exercism help page]: http://exercism.io/languages/lfe
29
+
30
+ To run the provided tests, you will need `make`.
31
+ Open a terminal window and run the following from the exercise directory:
32
+
33
+ ```sh
34
+ make test
35
+ ```
36
+
37
+ You should now be able to see the results of the test suite for the exercise.
38
+
39
+ ## Source
40
+
41
+ All of Computer Science [http://www.wolframalpha.com/input/?i=binary&a=*C.binary-_*MathWorld-](http://www.wolframalpha.com/input/?i=binary&a=*C.binary-_*MathWorld-)
42
+
43
+ ## Submitting Incomplete Solutions
44
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,35 @@
1
+ # Word Count
2
+
3
+ Given a phrase, count the occurrences of each word in that phrase.
4
+
5
+ For example for the input `"olly olly in come free"`
6
+
7
+ ```plain
8
+ olly: 2
9
+ in: 1
10
+ come: 1
11
+ free: 1
12
+ ```
13
+
14
+
15
+ * * * *
16
+
17
+ For installation and learning resources, refer to the [exercism help page][].
18
+
19
+ [exercism help page]: http://exercism.io/languages/lfe
20
+
21
+ To run the provided tests, you will need `make`.
22
+ Open a terminal window and run the following from the exercise directory:
23
+
24
+ ```sh
25
+ make test
26
+ ```
27
+
28
+ You should now be able to see the results of the test suite for the exercise.
29
+
30
+ ## Source
31
+
32
+ This is a classic toy problem, but we were reminded of it by seeing it in the Go Tour.
33
+
34
+ ## Submitting Incomplete Solutions
35
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,35 @@
1
+ {
2
+ "maintainers": [
3
+ {
4
+ "github_username": "aarti",
5
+ "show_on_website": false,
6
+ "alumnus": false,
7
+ "name": null,
8
+ "bio": null,
9
+ "link_text": null,
10
+ "link_url": null,
11
+ "avatar_url": null
12
+ },
13
+ {
14
+ "github_username": "ryanplusplus",
15
+ "show_on_website": true,
16
+ "alumnus": false,
17
+ "name": null,
18
+ "bio": null,
19
+ "link_text": null,
20
+ "link_url": null,
21
+ "avatar_url": null
22
+ },
23
+ {
24
+ "github_username": "robphoenix",
25
+ "show_on_website": false,
26
+ "alumnus": false,
27
+ "name": null,
28
+ "bio": null,
29
+ "link_text": null,
30
+ "link_url": null,
31
+ "avatar_url": null
32
+ }
33
+ ],
34
+ "docs_url": "https://github.com/exercism/docs/blob/master/maintaining-a-track/maintainer-configuration.md"
35
+ }