trackler 2.2.0.1 → 2.2.0.2
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.
- checksums.yaml +4 -4
- data/fixtures/tracks/fake/config.json +4 -3
- data/fixtures/tracks/fruit/config.json +4 -3
- data/lib/trackler/track.rb +2 -2
- data/lib/trackler/version.rb +1 -1
- data/tracks/{java/exercises/allergies/.meta/readme.go.tmpl → c/config/exercise_readme.go.tmpl} +0 -1
- data/tracks/c/exercises/acronym/README.md +47 -0
- data/tracks/c/exercises/all-your-base/README.md +67 -0
- data/tracks/c/exercises/allergies/README.md +69 -0
- data/tracks/c/exercises/anagram/README.md +45 -0
- data/tracks/c/exercises/atbash-cipher/README.md +66 -0
- data/tracks/c/exercises/beer-song/README.md +359 -0
- data/tracks/c/exercises/binary/README.md +67 -0
- data/tracks/c/exercises/binary-search/README.md +73 -0
- data/tracks/c/exercises/bob/README.md +50 -0
- data/tracks/c/exercises/clock/README.md +45 -0
- data/tracks/c/exercises/difference-of-squares/README.md +51 -0
- data/tracks/c/exercises/gigasecond/README.md +43 -0
- data/tracks/c/exercises/grains/README.md +66 -0
- data/tracks/c/exercises/hamming/README.md +74 -0
- data/tracks/c/exercises/hello-world/README.md +53 -0
- data/tracks/c/exercises/isogram/README.md +51 -0
- data/tracks/c/exercises/largest-series-product/README.md +52 -0
- data/tracks/c/exercises/leap/README.md +65 -0
- data/tracks/c/exercises/meetup/README.md +62 -0
- data/tracks/c/exercises/nth-prime/README.md +47 -0
- data/tracks/c/exercises/nucleotide-count/README.md +65 -0
- data/tracks/c/exercises/palindrome-products/README.md +72 -0
- data/tracks/c/exercises/pangram/README.md +47 -0
- data/tracks/c/exercises/pascals-triangle/README.md +53 -0
- data/tracks/c/exercises/perfect-numbers/README.md +56 -0
- data/tracks/c/exercises/phone-number/README.md +66 -0
- data/tracks/c/exercises/raindrops/README.md +56 -0
- data/tracks/c/exercises/react/README.md +51 -0
- data/tracks/c/exercises/rna-transcription/README.md +57 -0
- data/tracks/c/exercises/robot-simulator/README.md +66 -0
- data/tracks/c/exercises/roman-numerals/README.md +81 -0
- data/tracks/c/exercises/scrabble-score/README.md +76 -0
- data/tracks/c/exercises/series/README.md +59 -0
- data/tracks/c/exercises/sieve/README.md +66 -0
- data/tracks/c/exercises/space-age/README.md +56 -0
- data/tracks/c/exercises/sum-of-multiples/README.md +50 -0
- data/tracks/c/exercises/triangle/README.md +58 -0
- data/tracks/c/exercises/word-count/README.md +51 -0
- data/tracks/ceylon/README.md +3 -3
- data/tracks/ceylon/config/exercise-readme-insert.md +1 -0
- data/tracks/{java/exercises/accumulate/.meta/readme.go.tmpl → ceylon/config/exercise_readme.go.tmpl} +0 -1
- data/tracks/ceylon/exercises/anagram/README.md +29 -0
- data/tracks/ceylon/{docs/EXERCISE_README_INSERT.md → exercises/bracket-push/README.md} +12 -0
- data/tracks/ceylon/exercises/hamming/README.md +58 -0
- data/tracks/ceylon/exercises/largest-series-product/README.md +36 -0
- data/tracks/ceylon/exercises/leap/README.md +49 -0
- data/tracks/ceylon/exercises/react/README.md +35 -0
- data/tracks/ceylon/exercises/sieve/README.md +50 -0
- data/tracks/{java/exercises/acronym/.meta/readme.go.tmpl → delphi/config/exercise_readme.go.tmpl} +0 -1
- data/tracks/delphi/exercises/allergies/README.md +58 -0
- data/tracks/delphi/exercises/bank-account/README.md +51 -0
- data/tracks/delphi/exercises/beer-song/README.md +348 -0
- data/tracks/delphi/exercises/binary-search/README.md +62 -0
- data/tracks/delphi/exercises/bob/README.md +39 -0
- data/tracks/delphi/exercises/book-store/README.md +95 -0
- data/tracks/delphi/exercises/bowling/README.md +74 -0
- data/tracks/delphi/exercises/circular-buffer/README.md +71 -0
- data/tracks/delphi/exercises/clock/README.md +34 -0
- data/tracks/delphi/exercises/collatz-conjecture/README.md +54 -0
- data/tracks/delphi/exercises/etl/README.md +72 -0
- data/tracks/delphi/exercises/grains/README.md +55 -0
- data/tracks/delphi/exercises/hamming/README.md +63 -0
- data/tracks/delphi/exercises/hello-world/README.md +42 -0
- data/tracks/delphi/exercises/leap/README.md +54 -0
- data/tracks/delphi/exercises/minesweeper/README.md +51 -0
- data/tracks/delphi/exercises/nucleotide-count/README.md +54 -0
- data/tracks/delphi/exercises/perfect-numbers/README.md +45 -0
- data/tracks/delphi/exercises/phone-number/README.md +55 -0
- data/tracks/delphi/exercises/poker/README.md +33 -0
- data/tracks/delphi/exercises/raindrops/README.md +45 -0
- data/tracks/delphi/exercises/rna-transcription/README.md +46 -0
- data/tracks/delphi/exercises/roman-numerals/README.md +70 -0
- data/tracks/delphi/exercises/saddle-points/README.md +54 -0
- data/tracks/delphi/exercises/triangle/README.md +47 -0
- data/tracks/delphi/exercises/two-fer/README.md +69 -0
- data/tracks/delphi/exercises/wordy/README.md +84 -0
- data/tracks/{java/exercises/all-your-base/.meta/readme.go.tmpl → factor/config/exercise_readme.go.tmpl} +0 -1
- data/tracks/factor/exercises/hello-world/README.md +34 -0
- data/tracks/factor/exercises/isogram/README.md +32 -0
- data/tracks/factor/exercises/leap/README.md +46 -0
- data/tracks/factor/exercises/two-fer/README.md +61 -0
- data/tracks/haskell/config/exercise_readme.go.tmpl +16 -0
- data/tracks/haskell/exercises/accumulate/README.md +89 -0
- data/tracks/haskell/exercises/acronym/README.md +69 -0
- data/tracks/haskell/exercises/all-your-base/README.md +89 -0
- data/tracks/haskell/exercises/allergies/README.md +104 -0
- data/tracks/haskell/exercises/alphametics/README.md +96 -0
- data/tracks/haskell/exercises/anagram/README.md +91 -0
- data/tracks/haskell/exercises/atbash-cipher/README.md +88 -0
- data/tracks/haskell/exercises/bank-account/README.md +102 -0
- data/tracks/haskell/exercises/beer-song/README.md +401 -0
- data/tracks/haskell/exercises/binary/README.md +89 -0
- data/tracks/haskell/exercises/binary-search-tree/README.md +133 -0
- data/tracks/haskell/exercises/bob/README.md +72 -0
- data/tracks/haskell/exercises/bowling/README.md +128 -0
- data/tracks/haskell/exercises/bracket-push/README.md +64 -0
- data/tracks/haskell/exercises/change/README.md +77 -0
- data/tracks/haskell/exercises/clock/README.md +86 -0
- data/tracks/haskell/exercises/connect/README.md +88 -0
- data/tracks/haskell/exercises/crypto-square/README.md +128 -0
- data/tracks/haskell/exercises/custom-set/README.md +94 -0
- data/tracks/haskell/exercises/difference-of-squares/README.md +73 -0
- data/tracks/haskell/exercises/dominoes/README.md +72 -0
- data/tracks/haskell/exercises/etl/README.md +105 -0
- data/tracks/haskell/exercises/food-chain/README.md +145 -0
- data/tracks/haskell/exercises/forth/README.md +98 -0
- data/tracks/haskell/exercises/gigasecond/README.md +65 -0
- data/tracks/haskell/exercises/go-counting/README.md +109 -0
- data/tracks/haskell/exercises/grade-school/README.md +111 -0
- data/tracks/haskell/exercises/grains/README.md +88 -0
- data/tracks/haskell/exercises/hamming/README.md +96 -0
- data/tracks/haskell/exercises/hello-world/README.md +83 -0
- data/tracks/haskell/exercises/hexadecimal/README.md +68 -0
- data/tracks/haskell/exercises/house/README.md +187 -0
- data/tracks/haskell/exercises/kindergarten-garden/README.md +120 -0
- data/tracks/haskell/exercises/largest-series-product/README.md +74 -0
- data/tracks/haskell/exercises/leap/README.md +100 -0
- data/tracks/haskell/exercises/lens-person/README.md +66 -0
- data/tracks/haskell/exercises/linked-list/README.md +104 -0
- data/tracks/haskell/exercises/list-ops/README.md +64 -0
- data/tracks/haskell/exercises/luhn/README.md +125 -0
- data/tracks/haskell/exercises/matrix/README.md +125 -0
- data/tracks/haskell/exercises/meetup/README.md +92 -0
- data/tracks/haskell/exercises/minesweeper/README.md +84 -0
- data/tracks/haskell/exercises/nth-prime/README.md +69 -0
- data/tracks/haskell/exercises/nucleotide-count/README.md +87 -0
- data/tracks/haskell/exercises/ocr-numbers/README.md +139 -0
- data/tracks/haskell/exercises/octal/README.md +115 -0
- data/tracks/haskell/exercises/palindrome-products/README.md +115 -0
- data/tracks/haskell/exercises/pangram/README.md +69 -0
- data/tracks/haskell/exercises/parallel-letter-frequency/README.md +76 -0
- data/tracks/haskell/exercises/pascals-triangle/README.md +75 -0
- data/tracks/haskell/exercises/phone-number/README.md +88 -0
- data/tracks/haskell/exercises/pig-latin/README.md +78 -0
- data/tracks/haskell/exercises/pov/README.md +100 -0
- data/tracks/haskell/exercises/prime-factors/README.md +90 -0
- data/tracks/haskell/exercises/pythagorean-triplet/README.md +78 -0
- data/tracks/haskell/exercises/queen-attack/README.md +105 -0
- data/tracks/haskell/exercises/raindrops/README.md +78 -0
- data/tracks/haskell/exercises/rna-transcription/README.md +79 -0
- data/tracks/haskell/exercises/robot-name/README.md +90 -0
- data/tracks/haskell/exercises/robot-simulator/README.md +105 -0
- data/tracks/haskell/exercises/roman-numerals/README.md +112 -0
- data/tracks/haskell/exercises/run-length-encoding/README.md +84 -0
- data/tracks/haskell/exercises/saddle-points/README.md +87 -0
- data/tracks/haskell/exercises/say/README.md +123 -0
- data/tracks/haskell/exercises/scrabble-score/README.md +98 -0
- data/tracks/haskell/exercises/secret-handshake/README.md +89 -0
- data/tracks/haskell/exercises/series/README.md +106 -0
- data/tracks/haskell/exercises/sgf-parsing/README.md +146 -0
- data/tracks/haskell/exercises/sieve/README.md +88 -0
- data/tracks/haskell/exercises/simple-cipher/README.md +144 -0
- data/tracks/haskell/exercises/simple-linked-list/README.md +101 -0
- data/tracks/haskell/exercises/space-age/README.md +94 -0
- data/tracks/haskell/exercises/spiral-matrix/README.md +84 -0
- data/tracks/haskell/exercises/strain/README.md +94 -0
- data/tracks/haskell/exercises/sublist/README.md +80 -0
- data/tracks/haskell/exercises/sum-of-multiples/README.md +72 -0
- data/tracks/haskell/exercises/triangle/README.md +80 -0
- data/tracks/haskell/exercises/trinary/README.md +96 -0
- data/tracks/haskell/exercises/word-count/README.md +96 -0
- data/tracks/haskell/exercises/wordy/README.md +122 -0
- data/tracks/haskell/exercises/zebra-puzzle/README.md +86 -0
- data/tracks/haskell/exercises/zipper/README.md +85 -0
- data/tracks/java/config/exercise_readme.go.tmpl +16 -0
- data/tracks/java/exercises/accumulate/README.md +0 -1
- data/tracks/java/exercises/acronym/README.md +0 -1
- data/tracks/java/exercises/all-your-base/README.md +0 -1
- data/tracks/java/exercises/allergies/README.md +0 -1
- data/tracks/java/exercises/anagram/README.md +0 -1
- data/tracks/java/exercises/atbash-cipher/README.md +0 -1
- data/tracks/java/exercises/bank-account/README.md +0 -1
- data/tracks/java/exercises/beer-song/README.md +0 -1
- data/tracks/java/exercises/binary/README.md +0 -1
- data/tracks/java/exercises/binary-search/README.md +0 -1
- data/tracks/java/exercises/binary-search-tree/README.md +0 -1
- data/tracks/java/exercises/bob/README.md +0 -1
- data/tracks/java/exercises/book-store/README.md +0 -1
- data/tracks/java/exercises/bowling/README.md +0 -1
- data/tracks/java/exercises/bracket-push/README.md +0 -1
- data/tracks/java/exercises/change/README.md +0 -1
- data/tracks/java/exercises/circular-buffer/README.md +0 -1
- data/tracks/java/exercises/clock/README.md +0 -1
- data/tracks/java/exercises/collatz-conjecture/README.md +0 -1
- data/tracks/java/exercises/complex-numbers/README.md +0 -1
- data/tracks/java/exercises/crypto-square/README.md +0 -1
- data/tracks/java/exercises/custom-set/README.md +0 -1
- data/tracks/java/exercises/diamond/README.md +0 -1
- data/tracks/java/exercises/difference-of-squares/README.md +0 -1
- data/tracks/java/exercises/etl/README.md +0 -1
- data/tracks/java/exercises/flatten-array/README.md +0 -1
- data/tracks/java/exercises/food-chain/README.md +0 -1
- data/tracks/java/exercises/gigasecond/README.md +0 -1
- data/tracks/java/exercises/grade-school/README.md +0 -1
- data/tracks/java/exercises/hamming/README.md +0 -1
- data/tracks/java/exercises/hello-world/README.md +0 -1
- data/tracks/java/exercises/hexadecimal/README.md +0 -1
- data/tracks/java/exercises/isogram/README.md +0 -1
- data/tracks/java/exercises/kindergarten-garden/README.md +0 -1
- data/tracks/java/exercises/largest-series-product/README.md +0 -1
- data/tracks/java/exercises/linked-list/README.md +0 -1
- data/tracks/java/exercises/list-ops/README.md +0 -1
- data/tracks/java/exercises/luhn/README.md +0 -1
- data/tracks/java/exercises/matrix/README.md +0 -1
- data/tracks/java/exercises/meetup/README.md +0 -1
- data/tracks/java/exercises/minesweeper/README.md +0 -1
- data/tracks/java/exercises/nth-prime/README.md +0 -1
- data/tracks/java/exercises/nucleotide-count/README.md +0 -1
- data/tracks/java/exercises/ocr-numbers/README.md +0 -1
- data/tracks/java/exercises/octal/README.md +0 -1
- data/tracks/java/exercises/palindrome-products/README.md +0 -1
- data/tracks/java/exercises/pangram/README.md +0 -1
- data/tracks/java/exercises/pascals-triangle/README.md +0 -1
- data/tracks/java/exercises/perfect-numbers/README.md +0 -1
- data/tracks/java/exercises/phone-number/README.md +0 -1
- data/tracks/java/exercises/pig-latin/README.md +0 -1
- data/tracks/java/exercises/poker/README.md +0 -1
- data/tracks/java/exercises/prime-factors/README.md +0 -1
- data/tracks/java/exercises/pythagorean-triplet/README.md +0 -1
- data/tracks/java/exercises/queen-attack/README.md +0 -1
- data/tracks/java/exercises/raindrops/README.md +0 -1
- data/tracks/java/exercises/rectangles/README.md +0 -1
- data/tracks/java/exercises/rna-transcription/README.md +0 -1
- data/tracks/java/exercises/robot-name/README.md +0 -1
- data/tracks/java/exercises/robot-simulator/README.md +0 -1
- data/tracks/java/exercises/roman-numerals/README.md +0 -1
- data/tracks/java/exercises/rotational-cipher/README.md +47 -0
- data/tracks/java/exercises/run-length-encoding/README.md +0 -1
- data/tracks/java/exercises/saddle-points/README.md +0 -1
- data/tracks/java/exercises/scrabble-score/README.md +0 -1
- data/tracks/java/exercises/secret-handshake/README.md +0 -1
- data/tracks/java/exercises/series/README.md +0 -1
- data/tracks/java/exercises/sieve/README.md +0 -1
- data/tracks/java/exercises/simple-cipher/README.md +0 -1
- data/tracks/java/exercises/simple-linked-list/README.md +0 -1
- data/tracks/java/exercises/space-age/README.md +0 -1
- data/tracks/java/exercises/spiral-matrix/README.md +0 -1
- data/tracks/java/exercises/strain/README.md +0 -1
- data/tracks/java/exercises/sublist/README.md +0 -1
- data/tracks/java/exercises/sum-of-multiples/README.md +0 -1
- data/tracks/java/exercises/transpose/README.md +0 -1
- data/tracks/java/exercises/triangle/README.md +0 -1
- data/tracks/java/exercises/trinary/README.md +0 -1
- data/tracks/java/exercises/twelve-days/README.md +0 -1
- data/tracks/java/exercises/two-fer/README.md +0 -1
- data/tracks/java/exercises/word-count/README.md +0 -1
- data/tracks/java/exercises/word-search/README.md +0 -1
- data/tracks/java/exercises/wordy/README.md +0 -1
- data/tracks/javascript/config/exercise_readme.go.tmpl +16 -0
- data/tracks/javascript/exercises/accumulate/README.md +59 -0
- data/tracks/javascript/exercises/acronym/README.md +39 -0
- data/tracks/javascript/exercises/all-your-base/README.md +59 -0
- data/tracks/javascript/exercises/allergies/README.md +61 -0
- data/tracks/javascript/exercises/alphametics/README.md +59 -0
- data/tracks/javascript/exercises/anagram/README.md +37 -0
- data/tracks/javascript/exercises/atbash-cipher/README.md +58 -0
- data/tracks/javascript/exercises/beer-song/README.md +351 -0
- data/tracks/javascript/exercises/binary/README.md +59 -0
- data/tracks/javascript/exercises/binary-search/README.md +65 -0
- data/tracks/javascript/exercises/binary-search-tree/README.md +84 -0
- data/tracks/javascript/exercises/bob/README.md +42 -0
- data/tracks/javascript/exercises/bowling/README.md +77 -0
- data/tracks/javascript/exercises/bracket-push/README.md +34 -0
- data/tracks/javascript/exercises/circular-buffer/README.md +74 -0
- data/tracks/javascript/exercises/clock/README.md +37 -0
- data/tracks/javascript/exercises/crypto-square/README.md +98 -0
- data/tracks/javascript/exercises/custom-set/README.md +35 -0
- data/tracks/javascript/exercises/diamond/README.md +83 -0
- data/tracks/javascript/exercises/difference-of-squares/README.md +43 -0
- data/tracks/javascript/exercises/etl/README.md +75 -0
- data/tracks/javascript/exercises/flatten-array/README.md +42 -0
- data/tracks/javascript/exercises/food-chain/README.md +94 -0
- data/tracks/javascript/exercises/gigasecond/README.md +35 -0
- data/tracks/javascript/exercises/grade-school/README.md +66 -0
- data/tracks/javascript/exercises/grains/README.md +58 -0
- data/tracks/javascript/exercises/hamming/README.md +66 -0
- data/tracks/javascript/exercises/hello-world/README.md +132 -0
- data/tracks/javascript/exercises/hexadecimal/README.md +38 -0
- data/tracks/javascript/exercises/isogram/README.md +43 -0
- data/tracks/javascript/exercises/kindergarten-garden/README.md +90 -0
- data/tracks/javascript/exercises/largest-series-product/README.md +44 -0
- data/tracks/javascript/exercises/leap/README.md +57 -0
- data/tracks/javascript/exercises/linked-list/README.md +58 -0
- data/tracks/javascript/exercises/list-ops/README.md +34 -0
- data/tracks/javascript/exercises/luhn/README.md +95 -0
- data/tracks/javascript/exercises/matrix/README.md +69 -0
- data/tracks/javascript/exercises/meetup/README.md +54 -0
- data/tracks/javascript/exercises/minesweeper/README.md +54 -0
- data/tracks/javascript/exercises/nth-prime/README.md +39 -0
- data/tracks/javascript/exercises/nucleotide-count/README.md +57 -0
- data/tracks/javascript/exercises/ocr-numbers/README.md +109 -0
- data/tracks/javascript/exercises/octal/README.md +73 -0
- data/tracks/javascript/exercises/palindrome-products/README.md +64 -0
- data/tracks/javascript/exercises/pangram/README.md +39 -0
- data/tracks/javascript/exercises/pascals-triangle/README.md +45 -0
- data/tracks/javascript/exercises/perfect-numbers/README.md +48 -0
- data/tracks/javascript/exercises/phone-number/README.md +58 -0
- data/tracks/javascript/exercises/pig-latin/README.md +48 -0
- data/tracks/javascript/exercises/point-mutations/README.md +65 -0
- data/tracks/javascript/exercises/prime-factors/README.md +60 -0
- data/tracks/javascript/exercises/proverb/README.md +42 -0
- data/tracks/javascript/exercises/pythagorean-triplet/README.md +48 -0
- data/tracks/javascript/exercises/queen-attack/README.md +57 -0
- data/tracks/javascript/exercises/raindrops/README.md +48 -0
- data/tracks/javascript/exercises/rna-transcription/README.md +49 -0
- data/tracks/javascript/exercises/robot-name/README.md +46 -0
- data/tracks/javascript/exercises/robot-simulator/README.md +58 -0
- data/tracks/javascript/exercises/roman-numerals/README.md +73 -0
- data/tracks/javascript/exercises/run-length-encoding/README.md +54 -0
- data/tracks/javascript/exercises/saddle-points/README.md +57 -0
- data/tracks/javascript/exercises/say/README.md +93 -0
- data/tracks/javascript/exercises/scrabble-score/README.md +68 -0
- data/tracks/javascript/exercises/secret-handshake/README.md +59 -0
- data/tracks/javascript/exercises/series/README.md +51 -0
- data/tracks/javascript/exercises/sieve/README.md +58 -0
- data/tracks/javascript/exercises/simple-cipher/README.md +114 -0
- data/tracks/javascript/exercises/simple-linked-list/README.md +52 -0
- data/tracks/javascript/exercises/space-age/README.md +48 -0
- data/tracks/javascript/exercises/strain/README.md +64 -0
- data/tracks/javascript/exercises/sum-of-multiples/README.md +42 -0
- data/tracks/javascript/exercises/triangle/README.md +50 -0
- data/tracks/javascript/exercises/trinary/README.md +52 -0
- data/tracks/javascript/exercises/two-bucket/README.md +60 -0
- data/tracks/javascript/exercises/word-count/README.md +43 -0
- data/tracks/javascript/exercises/wordy/README.md +87 -0
- data/tracks/lua/config/exercise_readme.go.tmpl +16 -0
- data/tracks/lua/exercises/acronym/README.md +25 -0
- data/tracks/lua/exercises/all-your-base/README.md +45 -0
- data/tracks/lua/exercises/allergies/README.md +47 -0
- data/tracks/lua/exercises/alphametics/README.md +45 -0
- data/tracks/lua/exercises/anagram/README.md +23 -0
- data/tracks/lua/exercises/atbash-cipher/README.md +44 -0
- data/tracks/lua/exercises/bank-account/README.md +40 -0
- data/tracks/lua/exercises/beer-song/README.md +337 -0
- data/tracks/lua/exercises/binary/README.md +45 -0
- data/tracks/lua/exercises/binary-search/README.md +51 -0
- data/tracks/lua/exercises/binary-search-tree/README.md +70 -0
- data/tracks/lua/exercises/bob/README.md +28 -0
- data/tracks/lua/exercises/bowling/README.md +63 -0
- data/tracks/lua/exercises/bracket-push/README.md +20 -0
- data/tracks/lua/exercises/change/README.md +33 -0
- data/tracks/lua/exercises/circular-buffer/README.md +60 -0
- data/tracks/lua/exercises/clock/README.md +23 -0
- data/tracks/lua/exercises/crypto-square/README.md +84 -0
- data/tracks/lua/exercises/custom-set/README.md +21 -0
- data/tracks/lua/exercises/diamond/README.md +69 -0
- data/tracks/lua/exercises/difference-of-squares/README.md +29 -0
- data/tracks/lua/exercises/etl/README.md +61 -0
- data/tracks/lua/exercises/flatten-array/README.md +28 -0
- data/tracks/lua/exercises/food-chain/README.md +80 -0
- data/tracks/lua/exercises/gigasecond/README.md +21 -0
- data/tracks/lua/exercises/grade-school/README.md +52 -0
- data/tracks/lua/exercises/grains/README.md +44 -0
- data/tracks/lua/exercises/hamming/README.md +52 -0
- data/tracks/lua/exercises/hello-world/README.md +31 -0
- data/tracks/lua/exercises/house/README.md +123 -0
- data/tracks/lua/exercises/isogram/README.md +29 -0
- data/tracks/lua/exercises/kindergarten-garden/README.md +76 -0
- data/tracks/lua/exercises/largest-series-product/README.md +30 -0
- data/tracks/lua/exercises/leap/README.md +43 -0
- data/tracks/lua/exercises/linked-list/README.md +44 -0
- data/tracks/lua/exercises/list-ops/README.md +20 -0
- data/tracks/lua/exercises/luhn/README.md +81 -0
- data/tracks/lua/exercises/matrix/README.md +55 -0
- data/tracks/lua/exercises/meetup/README.md +40 -0
- data/tracks/lua/exercises/minesweeper/README.md +40 -0
- data/tracks/lua/exercises/nth-prime/README.md +25 -0
- data/tracks/lua/exercises/nucleotide-count/README.md +43 -0
- data/tracks/lua/exercises/ocr-numbers/README.md +95 -0
- data/tracks/lua/exercises/octal/README.md +59 -0
- data/tracks/lua/exercises/pangram/README.md +25 -0
- data/tracks/lua/exercises/pascals-triangle/README.md +31 -0
- data/tracks/lua/exercises/perfect-numbers/README.md +34 -0
- data/tracks/lua/exercises/phone-number/README.md +44 -0
- data/tracks/lua/exercises/pig-latin/README.md +34 -0
- data/tracks/lua/exercises/pov/README.md +56 -0
- data/tracks/lua/exercises/prime-factors/README.md +46 -0
- data/tracks/lua/exercises/protein-translation/README.md +59 -0
- data/tracks/lua/exercises/pythagorean-triplet/README.md +34 -0
- data/tracks/lua/exercises/rail-fence-cipher/README.md +70 -0
- data/tracks/lua/exercises/raindrops/README.md +34 -0
- data/tracks/lua/exercises/rectangles/README.md +77 -0
- data/tracks/lua/exercises/rna-transcription/README.md +35 -0
- data/tracks/lua/exercises/robot-name/README.md +32 -0
- data/tracks/lua/exercises/robot-simulator/README.md +44 -0
- data/tracks/lua/exercises/roman-numerals/README.md +59 -0
- data/tracks/lua/exercises/run-length-encoding/README.md +40 -0
- data/tracks/lua/exercises/say/README.md +79 -0
- data/tracks/lua/exercises/scrabble-score/README.md +54 -0
- data/tracks/lua/exercises/secret-handshake/README.md +45 -0
- data/tracks/lua/exercises/series/README.md +37 -0
- data/tracks/lua/exercises/sieve/README.md +44 -0
- data/tracks/lua/exercises/space-age/README.md +34 -0
- data/tracks/lua/exercises/sublist/README.md +31 -0
- data/tracks/lua/exercises/sum-of-multiples/README.md +28 -0
- data/tracks/lua/exercises/tournament/README.md +78 -0
- data/tracks/lua/exercises/transpose/README.md +75 -0
- data/tracks/lua/exercises/triangle/README.md +36 -0
- data/tracks/lua/exercises/variable-length-quantity/README.md +49 -0
- data/tracks/lua/exercises/word-count/README.md +29 -0
- data/tracks/lua/exercises/word-search/README.md +40 -0
- data/tracks/mips/config/exercise_readme.go.tmpl +16 -0
- data/tracks/mips/exercises/atbash-cipher/README.md +34 -0
- data/tracks/mips/exercises/binary/README.md +35 -0
- data/tracks/mips/exercises/difference-of-squares/README.md +19 -0
- data/tracks/mips/exercises/hamming/README.md +42 -0
- data/tracks/mips/exercises/hexadecimal/README.md +14 -0
- data/tracks/mips/exercises/isogram/README.md +19 -0
- data/tracks/mips/exercises/leap/README.md +33 -0
- data/tracks/mips/exercises/nth-prime/README.md +15 -0
- data/tracks/mips/exercises/octal/README.md +49 -0
- data/tracks/mips/exercises/raindrops/README.md +24 -0
- data/tracks/mips/exercises/rna-transcription/README.md +25 -0
- data/tracks/mips/exercises/scrabble-score/README.md +44 -0
- data/tracks/mips/exercises/triangle/README.md +26 -0
- data/tracks/mips/exercises/trinary/README.md +28 -0
- data/tracks/purescript/config/exercise_readme.go.tmpl +16 -0
- data/tracks/purescript/exercises/accumulate/README.md +35 -0
- data/tracks/purescript/exercises/acronym/README.md +15 -0
- data/tracks/purescript/exercises/all-your-base/README.md +35 -0
- data/tracks/purescript/exercises/allergies/README.md +37 -0
- data/tracks/purescript/exercises/atbash-cipher/README.md +34 -0
- data/tracks/purescript/exercises/binary-search/README.md +41 -0
- data/tracks/purescript/exercises/bob/README.md +18 -0
- data/tracks/purescript/exercises/bracket-push/README.md +10 -0
- data/tracks/purescript/exercises/crypto-square/README.md +74 -0
- data/tracks/purescript/exercises/diamond/README.md +59 -0
- data/tracks/purescript/exercises/difference-of-squares/README.md +19 -0
- data/tracks/purescript/exercises/etl/README.md +51 -0
- data/tracks/purescript/exercises/hamming/README.md +42 -0
- data/tracks/purescript/exercises/hello-world/README.md +21 -0
- data/tracks/purescript/exercises/isogram/README.md +19 -0
- data/tracks/purescript/exercises/largest-series-product/README.md +20 -0
- data/tracks/purescript/exercises/leap/README.md +33 -0
- data/tracks/purescript/exercises/meetup/README.md +30 -0
- data/tracks/purescript/exercises/pangram/README.md +15 -0
- data/tracks/purescript/exercises/pascals-triangle/README.md +21 -0
- data/tracks/purescript/exercises/raindrops/README.md +24 -0
- data/tracks/purescript/exercises/scrabble-score/README.md +44 -0
- data/tracks/purescript/exercises/triangle/README.md +26 -0
- data/tracks/purescript/exercises/word-count/README.md +19 -0
- data/tracks/r/config/exercise_readme.go.tmpl +16 -0
- data/tracks/r/exercises/anagram/README.md +23 -0
- data/tracks/r/exercises/beer-song/README.md +337 -0
- data/tracks/r/exercises/bob/README.md +28 -0
- data/tracks/r/exercises/difference-of-squares/README.md +29 -0
- data/tracks/r/exercises/grains/README.md +44 -0
- data/tracks/r/exercises/hamming/README.md +52 -0
- data/tracks/r/exercises/hello-world/README.md +31 -0
- data/tracks/r/exercises/isogram/README.md +29 -0
- data/tracks/r/exercises/largest-series-product/README.md +30 -0
- data/tracks/r/exercises/leap/README.md +43 -0
- data/tracks/r/exercises/luhn/README.md +81 -0
- data/tracks/r/exercises/pascals-triangle/README.md +31 -0
- data/tracks/r/exercises/perfect-numbers/README.md +34 -0
- data/tracks/r/exercises/phone-number/README.md +44 -0
- data/tracks/r/exercises/prime-factors/README.md +46 -0
- data/tracks/r/exercises/raindrops/README.md +34 -0
- data/tracks/r/exercises/rna-transcription/README.md +35 -0
- data/tracks/r/exercises/rotational-cipher/README.md +46 -0
- data/tracks/r/exercises/scrabble-score/README.md +54 -0
- data/tracks/r/exercises/secret-handshake/README.md +45 -0
- data/tracks/r/exercises/sieve/README.md +44 -0
- data/tracks/r/exercises/space-age/README.md +34 -0
- data/tracks/r/exercises/sum-of-multiples/README.md +28 -0
- data/tracks/r/exercises/tournament/README.md +78 -0
- data/tracks/r/exercises/word-count/README.md +29 -0
- data/tracks/rust/{docs/EXERCISE_README_INSERT.md → config/exercise-readme-insert.md} +1 -1
- data/tracks/rust/config/exercise_readme.go.tmpl +16 -0
- data/tracks/rust/exercises/acronym/README.md +47 -0
- data/tracks/rust/exercises/all-your-base/README.md +67 -0
- data/tracks/rust/exercises/allergies/README.md +69 -0
- data/tracks/rust/exercises/alphametics/README.md +67 -0
- data/tracks/rust/exercises/anagram/README.md +45 -0
- data/tracks/rust/exercises/atbash-cipher/README.md +66 -0
- data/tracks/rust/exercises/beer-song/README.md +359 -0
- data/tracks/rust/exercises/bob/README.md +50 -0
- data/tracks/rust/exercises/bowling/README.md +85 -0
- data/tracks/rust/exercises/bracket-push/README.md +50 -0
- data/tracks/rust/exercises/circular-buffer/README.md +82 -0
- data/tracks/rust/exercises/custom-set/README.md +43 -0
- data/tracks/rust/exercises/difference-of-squares/README.md +51 -0
- data/tracks/rust/exercises/dominoes/README.md +50 -0
- data/tracks/rust/exercises/etl/README.md +83 -0
- data/tracks/rust/exercises/forth/README.md +61 -0
- data/tracks/rust/exercises/gigasecond/Cargo.lock +3 -3
- data/tracks/rust/exercises/gigasecond/Cargo.toml +1 -1
- data/tracks/rust/exercises/gigasecond/README.md +43 -0
- data/tracks/rust/exercises/gigasecond/example.rs +1 -1
- data/tracks/rust/exercises/gigasecond/src/lib.rs +2 -2
- data/tracks/rust/exercises/gigasecond/tests/gigasecond.rs +10 -10
- data/tracks/rust/exercises/grade-school/README.md +74 -0
- data/tracks/rust/exercises/grains/README.md +66 -0
- data/tracks/rust/exercises/hamming/README.md +74 -0
- data/tracks/rust/exercises/hello-world/README.md +53 -0
- data/tracks/rust/exercises/hexadecimal/README.md +46 -0
- data/tracks/rust/exercises/largest-series-product/README.md +60 -0
- data/tracks/rust/exercises/leap/README.md +65 -0
- data/tracks/rust/exercises/luhn/README.md +103 -0
- data/tracks/rust/exercises/luhn-from/README.md +49 -0
- data/tracks/rust/exercises/luhn-trait/README.md +57 -0
- data/tracks/rust/exercises/minesweeper/README.md +62 -0
- data/tracks/rust/exercises/nucleotide-codons/README.md +54 -0
- data/tracks/rust/exercises/nucleotide-count/README.md +65 -0
- data/tracks/rust/exercises/ocr-numbers/README.md +117 -0
- data/tracks/rust/exercises/pangram/README.md +47 -0
- data/tracks/rust/exercises/parallel-letter-frequency/README.md +77 -0
- data/tracks/rust/exercises/pascals-triangle/README.md +53 -0
- data/tracks/rust/exercises/phone-number/README.md +66 -0
- data/tracks/rust/exercises/protein-translation/README.md +81 -0
- data/tracks/rust/exercises/queen-attack/README.md +65 -0
- data/tracks/rust/exercises/raindrops/README.md +56 -0
- data/tracks/rust/exercises/react/README.md +51 -0
- data/tracks/rust/exercises/rectangles/README.md +99 -0
- data/tracks/rust/exercises/rna-transcription/README.md +57 -0
- data/tracks/rust/exercises/robot-name/README.md +54 -0
- data/tracks/rust/exercises/robot-simulator/README.md +66 -0
- data/tracks/rust/exercises/roman-numerals/README.md +81 -0
- data/tracks/rust/exercises/rotational-cipher/README.md +68 -0
- data/tracks/rust/exercises/run-length-encoding/README.md +62 -0
- data/tracks/rust/exercises/scrabble-score/README.md +76 -0
- data/tracks/rust/exercises/sieve/README.md +66 -0
- data/tracks/rust/exercises/space-age/README.md +64 -0
- data/tracks/rust/exercises/sublist/README.md +53 -0
- data/tracks/rust/exercises/sum-of-multiples/README.md +50 -0
- data/tracks/rust/exercises/tournament/README.md +100 -0
- data/tracks/rust/exercises/triangle/README.md +71 -0
- data/tracks/rust/exercises/variable-length-quantity/README.md +71 -0
- data/tracks/rust/exercises/word-count/README.md +51 -0
- data/tracks/rust/exercises/wordy/README.md +95 -0
- data/tracks/vimscript/config/exercise_readme.go.tmpl +16 -0
- data/tracks/vimscript/exercises/allergies/README.md +46 -0
- data/tracks/vimscript/exercises/anagram/README.md +22 -0
- data/tracks/vimscript/exercises/atbash-cipher/README.md +43 -0
- data/tracks/vimscript/exercises/beer-song/README.md +336 -0
- data/tracks/vimscript/exercises/bob/README.md +27 -0
- data/tracks/vimscript/exercises/difference-of-squares/README.md +28 -0
- data/tracks/vimscript/exercises/etl/README.md +60 -0
- data/tracks/vimscript/exercises/hamming/README.md +51 -0
- data/tracks/vimscript/exercises/hello-world/README.md +30 -0
- data/tracks/vimscript/exercises/largest-series-product/README.md +29 -0
- data/tracks/vimscript/exercises/leap/README.md +42 -0
- data/tracks/vimscript/exercises/nucleotide-count/README.md +42 -0
- data/tracks/vimscript/exercises/pangram/README.md +24 -0
- data/tracks/vimscript/exercises/phone-number/README.md +43 -0
- data/tracks/vimscript/exercises/raindrops/README.md +33 -0
- data/tracks/vimscript/exercises/rna-transcription/README.md +34 -0
- data/tracks/vimscript/exercises/roman-numerals/README.md +58 -0
- data/tracks/vimscript/exercises/scrabble-score/README.md +53 -0
- data/tracks/vimscript/exercises/triangle/README.md +35 -0
- data/tracks/vimscript/exercises/word-count/README.md +28 -0
- metadata +466 -86
- data/tracks/java/exercises/anagram/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/atbash-cipher/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/bank-account/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/beer-song/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/binary/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/binary-search/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/binary-search-tree/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/bob/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/book-store/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/bowling/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/bracket-push/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/change/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/circular-buffer/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/clock/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/collatz-conjecture/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/complex-numbers/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/crypto-square/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/custom-set/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/diamond/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/difference-of-squares/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/etl/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/flatten-array/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/food-chain/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/gigasecond/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/grade-school/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/hamming/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/hello-world/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/hexadecimal/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/isogram/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/kindergarten-garden/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/largest-series-product/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/linked-list/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/list-ops/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/luhn/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/matrix/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/meetup/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/minesweeper/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/nth-prime/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/nucleotide-count/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/ocr-numbers/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/octal/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/palindrome-products/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/pangram/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/pascals-triangle/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/perfect-numbers/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/phone-number/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/pig-latin/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/poker/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/prime-factors/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/pythagorean-triplet/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/queen-attack/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/raindrops/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/rectangles/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/rna-transcription/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/robot-name/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/robot-simulator/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/roman-numerals/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/run-length-encoding/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/saddle-points/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/scrabble-score/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/secret-handshake/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/series/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/sieve/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/simple-cipher/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/simple-linked-list/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/space-age/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/spiral-matrix/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/strain/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/sublist/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/sum-of-multiples/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/transpose/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/triangle/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/trinary/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/twelve-days/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/two-fer/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/word-count/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/word-search/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/wordy/.meta/readme.go.tmpl +0 -17
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# Nucleotide Count
|
|
2
|
+
|
|
3
|
+
Given a DNA string, compute how many times each nucleotide occurs in the string.
|
|
4
|
+
|
|
5
|
+
DNA is represented by an alphabet of the following symbols: 'A', 'C',
|
|
6
|
+
'G', and 'T'.
|
|
7
|
+
|
|
8
|
+
Each symbol represents a nucleotide, which is a fancy name for the
|
|
9
|
+
particular molecules that happen to make up a large part of DNA.
|
|
10
|
+
|
|
11
|
+
Shortest intro to biochemistry EVAR:
|
|
12
|
+
|
|
13
|
+
- twigs are to birds nests as
|
|
14
|
+
- nucleotides are to DNA and RNA as
|
|
15
|
+
- amino acids are to proteins as
|
|
16
|
+
- sugar is to starch as
|
|
17
|
+
- oh crap lipids
|
|
18
|
+
|
|
19
|
+
I'm not going to talk about lipids because they're crazy complex.
|
|
20
|
+
|
|
21
|
+
So back to nucleotides.
|
|
22
|
+
|
|
23
|
+
DNA contains four types of them: adenine (`A`), cytosine (`C`), guanine
|
|
24
|
+
(`G`), and thymine (`T`).
|
|
25
|
+
|
|
26
|
+
RNA contains a slightly different set of nucleotides, but we don't care
|
|
27
|
+
about that for now.
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
## Getting Started
|
|
31
|
+
|
|
32
|
+
For installation and learning resources, refer to the
|
|
33
|
+
[exercism help page](http://exercism.io/languages/haskell).
|
|
34
|
+
|
|
35
|
+
## Running the tests
|
|
36
|
+
|
|
37
|
+
To run the test suite, execute the following command:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
stack test
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
#### If you get an error message like this...
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
No .cabal file found in directory
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
You are probably running an old stack version and need
|
|
50
|
+
to upgrade it.
|
|
51
|
+
|
|
52
|
+
#### Otherwise, if you get an error message like this...
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
No compiler found, expected minor version match with...
|
|
56
|
+
Try running "stack setup" to install the correct GHC...
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Just do as it says and it will download and install
|
|
60
|
+
the correct compiler version:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
stack setup
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Running *GHCi*
|
|
67
|
+
|
|
68
|
+
If you want to play with your solution in GHCi, just run the command:
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
stack ghci
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Feedback, Issues, Pull Requests
|
|
75
|
+
|
|
76
|
+
The [exercism/haskell](https://github.com/exercism/haskell) repository on
|
|
77
|
+
GitHub is the home for all of the Haskell exercises.
|
|
78
|
+
|
|
79
|
+
If you have feedback about an exercise, or want to help implementing a new
|
|
80
|
+
one, head over there and create an issue. We'll do our best to help you!
|
|
81
|
+
|
|
82
|
+
## Source
|
|
83
|
+
|
|
84
|
+
The Calculating DNA Nucleotides_problem at Rosalind [http://rosalind.info/problems/dna/](http://rosalind.info/problems/dna/)
|
|
85
|
+
|
|
86
|
+
## Submitting Incomplete Solutions
|
|
87
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
# Ocr Numbers
|
|
2
|
+
|
|
3
|
+
Given a 3 x 4 grid of pipes, underscores, and spaces, determine which number is
|
|
4
|
+
represented, or whether it is garbled.
|
|
5
|
+
|
|
6
|
+
# Step One
|
|
7
|
+
|
|
8
|
+
To begin with, convert a simple binary font to a string containing 0 or 1.
|
|
9
|
+
|
|
10
|
+
The binary font uses pipes and underscores, four rows high and three columns wide.
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
_ #
|
|
14
|
+
| | # zero.
|
|
15
|
+
|_| #
|
|
16
|
+
# the fourth row is always blank
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Is converted to "0"
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
#
|
|
23
|
+
| # one.
|
|
24
|
+
| #
|
|
25
|
+
# (blank fourth row)
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Is converted to "1"
|
|
29
|
+
|
|
30
|
+
If the input is the correct size, but not recognizable, your program should return '?'
|
|
31
|
+
|
|
32
|
+
If the input is the incorrect size, your program should return an error.
|
|
33
|
+
|
|
34
|
+
# Step Two
|
|
35
|
+
|
|
36
|
+
Update your program to recognize multi-character binary strings, replacing garbled numbers with ?
|
|
37
|
+
|
|
38
|
+
# Step Three
|
|
39
|
+
|
|
40
|
+
Update your program to recognize all numbers 0 through 9, both individually and as part of a larger string.
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
_
|
|
44
|
+
_|
|
|
45
|
+
|_
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Is converted to "2"
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
_ _ _ _ _ _ _ _ #
|
|
53
|
+
| _| _||_||_ |_ ||_||_|| | # decimal numbers.
|
|
54
|
+
||_ _| | _||_| ||_| _||_| #
|
|
55
|
+
# fourth line is always blank
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Is converted to "1234567890"
|
|
59
|
+
|
|
60
|
+
# Step Four
|
|
61
|
+
|
|
62
|
+
Update your program to handle multiple numbers, one per line. When converting several lines, join the lines with commas.
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
_ _
|
|
66
|
+
| _| _|
|
|
67
|
+
||_ _|
|
|
68
|
+
|
|
69
|
+
_ _
|
|
70
|
+
|_||_ |_
|
|
71
|
+
| _||_|
|
|
72
|
+
|
|
73
|
+
_ _ _
|
|
74
|
+
||_||_|
|
|
75
|
+
||_| _|
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Is converted to "123,456,789"
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
## Getting Started
|
|
83
|
+
|
|
84
|
+
For installation and learning resources, refer to the
|
|
85
|
+
[exercism help page](http://exercism.io/languages/haskell).
|
|
86
|
+
|
|
87
|
+
## Running the tests
|
|
88
|
+
|
|
89
|
+
To run the test suite, execute the following command:
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
stack test
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
#### If you get an error message like this...
|
|
96
|
+
|
|
97
|
+
```
|
|
98
|
+
No .cabal file found in directory
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
You are probably running an old stack version and need
|
|
102
|
+
to upgrade it.
|
|
103
|
+
|
|
104
|
+
#### Otherwise, if you get an error message like this...
|
|
105
|
+
|
|
106
|
+
```
|
|
107
|
+
No compiler found, expected minor version match with...
|
|
108
|
+
Try running "stack setup" to install the correct GHC...
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
Just do as it says and it will download and install
|
|
112
|
+
the correct compiler version:
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
stack setup
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## Running *GHCi*
|
|
119
|
+
|
|
120
|
+
If you want to play with your solution in GHCi, just run the command:
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
stack ghci
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## Feedback, Issues, Pull Requests
|
|
127
|
+
|
|
128
|
+
The [exercism/haskell](https://github.com/exercism/haskell) repository on
|
|
129
|
+
GitHub is the home for all of the Haskell exercises.
|
|
130
|
+
|
|
131
|
+
If you have feedback about an exercise, or want to help implementing a new
|
|
132
|
+
one, head over there and create an issue. We'll do our best to help you!
|
|
133
|
+
|
|
134
|
+
## Source
|
|
135
|
+
|
|
136
|
+
Inspired by the Bank OCR kata [http://codingdojo.org/cgi-bin/wiki.pl?KataBankOCR](http://codingdojo.org/cgi-bin/wiki.pl?KataBankOCR)
|
|
137
|
+
|
|
138
|
+
## Submitting Incomplete Solutions
|
|
139
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
# Octal
|
|
2
|
+
|
|
3
|
+
Convert an octal number, represented as a string (e.g. '1735263'), to its
|
|
4
|
+
decimal equivalent using first principles (i.e. no, you may not use built-in or
|
|
5
|
+
external libraries to accomplish the conversion).
|
|
6
|
+
|
|
7
|
+
Implement octal to decimal conversion. Given an octal input
|
|
8
|
+
string, your program should produce a decimal output.
|
|
9
|
+
|
|
10
|
+
## Note
|
|
11
|
+
- Implement the conversion yourself.
|
|
12
|
+
Do not use something else to perform the conversion for you.
|
|
13
|
+
- Treat invalid input as octal 0.
|
|
14
|
+
|
|
15
|
+
## About Octal (Base-8)
|
|
16
|
+
Decimal is a base-10 system.
|
|
17
|
+
|
|
18
|
+
A number 233 in base 10 notation can be understood
|
|
19
|
+
as a linear combination of powers of 10:
|
|
20
|
+
|
|
21
|
+
- The rightmost digit gets multiplied by 10^0 = 1
|
|
22
|
+
- The next number gets multiplied by 10^1 = 10
|
|
23
|
+
- ...
|
|
24
|
+
- The *n*th number gets multiplied by 10^*(n-1)*.
|
|
25
|
+
- All these values are summed.
|
|
26
|
+
|
|
27
|
+
So:
|
|
28
|
+
```
|
|
29
|
+
233 # decimal
|
|
30
|
+
= 2*10^2 + 3*10^1 + 3*10^0
|
|
31
|
+
= 2*100 + 3*10 + 3*1
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Octal is similar, but uses powers of 8 rather than powers of 10.
|
|
35
|
+
|
|
36
|
+
So:
|
|
37
|
+
```
|
|
38
|
+
233 # octal
|
|
39
|
+
= 2*8^2 + 3*8^1 + 3*8^0
|
|
40
|
+
= 2*64 + 3*8 + 3*1
|
|
41
|
+
= 128 + 24 + 3
|
|
42
|
+
= 155
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Hints
|
|
46
|
+
|
|
47
|
+
For the appropriate amount of challenge here, you should only
|
|
48
|
+
use functionality present in Prelude. Try not to use Data.List,
|
|
49
|
+
Data.Char, Data.Bits, or Numeric.
|
|
50
|
+
|
|
51
|
+
Try and use seq, $!, or BangPatterns appropriately to ensure
|
|
52
|
+
that the solution is efficient.
|
|
53
|
+
|
|
54
|
+
Handling invalid input is not necessary.
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
## Getting Started
|
|
59
|
+
|
|
60
|
+
For installation and learning resources, refer to the
|
|
61
|
+
[exercism help page](http://exercism.io/languages/haskell).
|
|
62
|
+
|
|
63
|
+
## Running the tests
|
|
64
|
+
|
|
65
|
+
To run the test suite, execute the following command:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
stack test
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
#### If you get an error message like this...
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
No .cabal file found in directory
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
You are probably running an old stack version and need
|
|
78
|
+
to upgrade it.
|
|
79
|
+
|
|
80
|
+
#### Otherwise, if you get an error message like this...
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
No compiler found, expected minor version match with...
|
|
84
|
+
Try running "stack setup" to install the correct GHC...
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Just do as it says and it will download and install
|
|
88
|
+
the correct compiler version:
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
stack setup
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## Running *GHCi*
|
|
95
|
+
|
|
96
|
+
If you want to play with your solution in GHCi, just run the command:
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
stack ghci
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## Feedback, Issues, Pull Requests
|
|
103
|
+
|
|
104
|
+
The [exercism/haskell](https://github.com/exercism/haskell) repository on
|
|
105
|
+
GitHub is the home for all of the Haskell exercises.
|
|
106
|
+
|
|
107
|
+
If you have feedback about an exercise, or want to help implementing a new
|
|
108
|
+
one, head over there and create an issue. We'll do our best to help you!
|
|
109
|
+
|
|
110
|
+
## Source
|
|
111
|
+
|
|
112
|
+
All of Computer Science [http://www.wolframalpha.com/input/?i=base+8](http://www.wolframalpha.com/input/?i=base+8)
|
|
113
|
+
|
|
114
|
+
## Submitting Incomplete Solutions
|
|
115
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
# Palindrome Products
|
|
2
|
+
|
|
3
|
+
Detect palindrome products in a given range.
|
|
4
|
+
|
|
5
|
+
A palindromic number is a number that remains the same when its digits are
|
|
6
|
+
reversed. For example, `121` is a palindromic number but `112` is not.
|
|
7
|
+
|
|
8
|
+
Given the definition of a palindromic number, we define a palindrome _product_
|
|
9
|
+
to be the product `c`, such that `a * b = c`, where `c` is a palindromic number and
|
|
10
|
+
`a` and `b` are integers (possibly, but _not_ necessarily palindromic numbers).
|
|
11
|
+
|
|
12
|
+
For example, the palindromic number 9009 can be written as the palindrome
|
|
13
|
+
product: `91 * 99 = 9009`.
|
|
14
|
+
|
|
15
|
+
It's possible (and indeed common) for a palindrome product to be the product
|
|
16
|
+
of multiple combinations of numbers. For example, the palindrome product `9` has
|
|
17
|
+
the factors `(1, 9)`, `(3, 3)`, and `(9, 1)`.
|
|
18
|
+
|
|
19
|
+
Write a program that given a range of integers, returns the smallest and largest
|
|
20
|
+
palindromic product within that range, along with all of it's factors.
|
|
21
|
+
|
|
22
|
+
## Example 1
|
|
23
|
+
|
|
24
|
+
Given the range `[1, 9]` (both inclusive)...
|
|
25
|
+
|
|
26
|
+
The smallest product is `1`. It's factors are `(1, 1)`.
|
|
27
|
+
The largest product is `9`. It's factors are `(1, 9)`, `(3, 3)`, and `(9, 1)`.
|
|
28
|
+
|
|
29
|
+
## Example 2
|
|
30
|
+
|
|
31
|
+
Given the range `[10, 99]` (both inclusive)...
|
|
32
|
+
|
|
33
|
+
The smallest palindrome product is `121`. It's factors are `(11, 11)`.
|
|
34
|
+
The largest palindrome product is `9009`. It's factors are `(91, 99)` and `(99, 91)`.
|
|
35
|
+
|
|
36
|
+
## Hints
|
|
37
|
+
|
|
38
|
+
To solve this exercise you need to implement these two functions:
|
|
39
|
+
|
|
40
|
+
- `largestPalindrome`
|
|
41
|
+
- `smallestPalindrome`
|
|
42
|
+
|
|
43
|
+
Both functions receive lower and upper factor limits, returning a pair
|
|
44
|
+
`(value, [(factor1, factor2)])` containing the palindrome and its possible
|
|
45
|
+
pairs of factors.
|
|
46
|
+
|
|
47
|
+
Your can use the provided signatures if you are unsure about the types, but
|
|
48
|
+
don't let them restrict your creativity.
|
|
49
|
+
|
|
50
|
+
It's ok to return duplicates in the factors list, and the order of the factors
|
|
51
|
+
is irrelevant.
|
|
52
|
+
|
|
53
|
+
You should consider using a slightly different algorithm to find small or
|
|
54
|
+
large palindromes.
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
## Getting Started
|
|
59
|
+
|
|
60
|
+
For installation and learning resources, refer to the
|
|
61
|
+
[exercism help page](http://exercism.io/languages/haskell).
|
|
62
|
+
|
|
63
|
+
## Running the tests
|
|
64
|
+
|
|
65
|
+
To run the test suite, execute the following command:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
stack test
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
#### If you get an error message like this...
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
No .cabal file found in directory
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
You are probably running an old stack version and need
|
|
78
|
+
to upgrade it.
|
|
79
|
+
|
|
80
|
+
#### Otherwise, if you get an error message like this...
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
No compiler found, expected minor version match with...
|
|
84
|
+
Try running "stack setup" to install the correct GHC...
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Just do as it says and it will download and install
|
|
88
|
+
the correct compiler version:
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
stack setup
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## Running *GHCi*
|
|
95
|
+
|
|
96
|
+
If you want to play with your solution in GHCi, just run the command:
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
stack ghci
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## Feedback, Issues, Pull Requests
|
|
103
|
+
|
|
104
|
+
The [exercism/haskell](https://github.com/exercism/haskell) repository on
|
|
105
|
+
GitHub is the home for all of the Haskell exercises.
|
|
106
|
+
|
|
107
|
+
If you have feedback about an exercise, or want to help implementing a new
|
|
108
|
+
one, head over there and create an issue. We'll do our best to help you!
|
|
109
|
+
|
|
110
|
+
## Source
|
|
111
|
+
|
|
112
|
+
Problem 4 at Project Euler [http://projecteuler.net/problem=4](http://projecteuler.net/problem=4)
|
|
113
|
+
|
|
114
|
+
## Submitting Incomplete Solutions
|
|
115
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Pangram
|
|
2
|
+
|
|
3
|
+
Determine if a sentence is a pangram. A pangram (Greek: παν γράμμα, pan gramma,
|
|
4
|
+
"every letter") is a sentence using every letter of the alphabet at least once.
|
|
5
|
+
The best known English pangram is:
|
|
6
|
+
> The quick brown fox jumps over the lazy dog.
|
|
7
|
+
|
|
8
|
+
The alphabet used consists of ASCII letters `a` to `z`, inclusive, and is case
|
|
9
|
+
insensitive. Input will not contain non-ASCII symbols.
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
## Getting Started
|
|
13
|
+
|
|
14
|
+
For installation and learning resources, refer to the
|
|
15
|
+
[exercism help page](http://exercism.io/languages/haskell).
|
|
16
|
+
|
|
17
|
+
## Running the tests
|
|
18
|
+
|
|
19
|
+
To run the test suite, execute the following command:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
stack test
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
#### If you get an error message like this...
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
No .cabal file found in directory
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
You are probably running an old stack version and need
|
|
32
|
+
to upgrade it.
|
|
33
|
+
|
|
34
|
+
#### Otherwise, if you get an error message like this...
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
No compiler found, expected minor version match with...
|
|
38
|
+
Try running "stack setup" to install the correct GHC...
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Just do as it says and it will download and install
|
|
42
|
+
the correct compiler version:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
stack setup
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Running *GHCi*
|
|
49
|
+
|
|
50
|
+
If you want to play with your solution in GHCi, just run the command:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
stack ghci
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Feedback, Issues, Pull Requests
|
|
57
|
+
|
|
58
|
+
The [exercism/haskell](https://github.com/exercism/haskell) repository on
|
|
59
|
+
GitHub is the home for all of the Haskell exercises.
|
|
60
|
+
|
|
61
|
+
If you have feedback about an exercise, or want to help implementing a new
|
|
62
|
+
one, head over there and create an issue. We'll do our best to help you!
|
|
63
|
+
|
|
64
|
+
## Source
|
|
65
|
+
|
|
66
|
+
Wikipedia [https://en.wikipedia.org/wiki/Pangram](https://en.wikipedia.org/wiki/Pangram)
|
|
67
|
+
|
|
68
|
+
## Submitting Incomplete Solutions
|
|
69
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# Parallel Letter Frequency
|
|
2
|
+
|
|
3
|
+
Count the frequency of letters in texts using parallel computation.
|
|
4
|
+
|
|
5
|
+
Parallelism is about doing things in parallel that can also be done
|
|
6
|
+
sequentially. A common example is counting the frequency of letters.
|
|
7
|
+
Create a function that returns the total frequency of each letter in a
|
|
8
|
+
list of texts and that employs parallelism.
|
|
9
|
+
|
|
10
|
+
## Hints
|
|
11
|
+
|
|
12
|
+
Your code should contain a frequency :: Int -> [Text] -> Map Char Int
|
|
13
|
+
function which accepts a number of workers to use in parallel and a list
|
|
14
|
+
of texts and returns the total frequency of each letter in the text.
|
|
15
|
+
|
|
16
|
+
### Benchmark
|
|
17
|
+
|
|
18
|
+
Check how changing number of workers affects performance of your solution by running the benchmark. Use `stack bench` to run it. Feel free to modify `bench/Benchmark.hs` to explore your solution's performance on different inputs.
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
## Getting Started
|
|
23
|
+
|
|
24
|
+
For installation and learning resources, refer to the
|
|
25
|
+
[exercism help page](http://exercism.io/languages/haskell).
|
|
26
|
+
|
|
27
|
+
## Running the tests
|
|
28
|
+
|
|
29
|
+
To run the test suite, execute the following command:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
stack test
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
#### If you get an error message like this...
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
No .cabal file found in directory
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
You are probably running an old stack version and need
|
|
42
|
+
to upgrade it.
|
|
43
|
+
|
|
44
|
+
#### Otherwise, if you get an error message like this...
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
No compiler found, expected minor version match with...
|
|
48
|
+
Try running "stack setup" to install the correct GHC...
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Just do as it says and it will download and install
|
|
52
|
+
the correct compiler version:
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
stack setup
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Running *GHCi*
|
|
59
|
+
|
|
60
|
+
If you want to play with your solution in GHCi, just run the command:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
stack ghci
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Feedback, Issues, Pull Requests
|
|
67
|
+
|
|
68
|
+
The [exercism/haskell](https://github.com/exercism/haskell) repository on
|
|
69
|
+
GitHub is the home for all of the Haskell exercises.
|
|
70
|
+
|
|
71
|
+
If you have feedback about an exercise, or want to help implementing a new
|
|
72
|
+
one, head over there and create an issue. We'll do our best to help you!
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
## Submitting Incomplete Solutions
|
|
76
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# Pascals Triangle
|
|
2
|
+
|
|
3
|
+
Compute Pascal's triangle up to a given number of rows.
|
|
4
|
+
|
|
5
|
+
In Pascal's Triangle each number is computed by adding the numbers to
|
|
6
|
+
the right and left of the current position in the previous row.
|
|
7
|
+
|
|
8
|
+
```plain
|
|
9
|
+
1
|
|
10
|
+
1 1
|
|
11
|
+
1 2 1
|
|
12
|
+
1 3 3 1
|
|
13
|
+
1 4 6 4 1
|
|
14
|
+
# ... etc
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
## Getting Started
|
|
19
|
+
|
|
20
|
+
For installation and learning resources, refer to the
|
|
21
|
+
[exercism help page](http://exercism.io/languages/haskell).
|
|
22
|
+
|
|
23
|
+
## Running the tests
|
|
24
|
+
|
|
25
|
+
To run the test suite, execute the following command:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
stack test
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
#### If you get an error message like this...
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
No .cabal file found in directory
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
You are probably running an old stack version and need
|
|
38
|
+
to upgrade it.
|
|
39
|
+
|
|
40
|
+
#### Otherwise, if you get an error message like this...
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
No compiler found, expected minor version match with...
|
|
44
|
+
Try running "stack setup" to install the correct GHC...
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Just do as it says and it will download and install
|
|
48
|
+
the correct compiler version:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
stack setup
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Running *GHCi*
|
|
55
|
+
|
|
56
|
+
If you want to play with your solution in GHCi, just run the command:
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
stack ghci
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Feedback, Issues, Pull Requests
|
|
63
|
+
|
|
64
|
+
The [exercism/haskell](https://github.com/exercism/haskell) repository on
|
|
65
|
+
GitHub is the home for all of the Haskell exercises.
|
|
66
|
+
|
|
67
|
+
If you have feedback about an exercise, or want to help implementing a new
|
|
68
|
+
one, head over there and create an issue. We'll do our best to help you!
|
|
69
|
+
|
|
70
|
+
## Source
|
|
71
|
+
|
|
72
|
+
Pascal's Triangle at Wolfram Math World [http://mathworld.wolfram.com/PascalsTriangle.html](http://mathworld.wolfram.com/PascalsTriangle.html)
|
|
73
|
+
|
|
74
|
+
## Submitting Incomplete Solutions
|
|
75
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|