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,104 @@
|
|
|
1
|
+
# Linked List
|
|
2
|
+
|
|
3
|
+
Implement a doubly linked list.
|
|
4
|
+
|
|
5
|
+
Like an array, a linked list is a simple linear data structure. Several
|
|
6
|
+
common data types can be implemented using linked lists, like queues,
|
|
7
|
+
stacks, and associative arrays.
|
|
8
|
+
|
|
9
|
+
A linked list is a collection of data elements called *nodes*. In a
|
|
10
|
+
*singly linked list* each node holds a value and a link to the next node.
|
|
11
|
+
In a *doubly linked list* each node also holds a link to the previous
|
|
12
|
+
node.
|
|
13
|
+
|
|
14
|
+
You will write an implementation of a doubly linked list. Implement a
|
|
15
|
+
Node to hold a value and pointers to the next and previous nodes. Then
|
|
16
|
+
implement a List which holds references to the first and last node and
|
|
17
|
+
offers an array-like interface for adding and removing items:
|
|
18
|
+
|
|
19
|
+
* `push` (*insert value at back*);
|
|
20
|
+
* `pop` (*remove value at back*);
|
|
21
|
+
* `shift` (*remove value at front*).
|
|
22
|
+
* `unshift` (*insert value at front*);
|
|
23
|
+
|
|
24
|
+
To keep your implementation simple, the tests will not cover error
|
|
25
|
+
conditions. Specifically: `pop` or `shift` will never be called on an
|
|
26
|
+
empty list.
|
|
27
|
+
|
|
28
|
+
If you want to know more about linked lists, check [Wikipedia](https://en.wikipedia.org/wiki/Linked_list).
|
|
29
|
+
|
|
30
|
+
## Hints
|
|
31
|
+
|
|
32
|
+
To complete this exercise, you need to create the data type `Deque`
|
|
33
|
+
and implement the following functions:
|
|
34
|
+
|
|
35
|
+
- `mkDeque`
|
|
36
|
+
- `pop`
|
|
37
|
+
- `push`
|
|
38
|
+
- `unshift`
|
|
39
|
+
- `shift`
|
|
40
|
+
|
|
41
|
+
You will find a dummy data declaration and type signatures already in place,
|
|
42
|
+
but it is up to you to define the functions and create a meaningful data type,
|
|
43
|
+
newtype or type synonym.
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
## Getting Started
|
|
48
|
+
|
|
49
|
+
For installation and learning resources, refer to the
|
|
50
|
+
[exercism help page](http://exercism.io/languages/haskell).
|
|
51
|
+
|
|
52
|
+
## Running the tests
|
|
53
|
+
|
|
54
|
+
To run the test suite, execute the following command:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
stack test
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
#### If you get an error message like this...
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
No .cabal file found in directory
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
You are probably running an old stack version and need
|
|
67
|
+
to upgrade it.
|
|
68
|
+
|
|
69
|
+
#### Otherwise, if you get an error message like this...
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
No compiler found, expected minor version match with...
|
|
73
|
+
Try running "stack setup" to install the correct GHC...
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Just do as it says and it will download and install
|
|
77
|
+
the correct compiler version:
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
stack setup
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## Running *GHCi*
|
|
84
|
+
|
|
85
|
+
If you want to play with your solution in GHCi, just run the command:
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
stack ghci
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## Feedback, Issues, Pull Requests
|
|
92
|
+
|
|
93
|
+
The [exercism/haskell](https://github.com/exercism/haskell) repository on
|
|
94
|
+
GitHub is the home for all of the Haskell exercises.
|
|
95
|
+
|
|
96
|
+
If you have feedback about an exercise, or want to help implementing a new
|
|
97
|
+
one, head over there and create an issue. We'll do our best to help you!
|
|
98
|
+
|
|
99
|
+
## Source
|
|
100
|
+
|
|
101
|
+
Classic computer science topic
|
|
102
|
+
|
|
103
|
+
## Submitting Incomplete Solutions
|
|
104
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# List Ops
|
|
2
|
+
|
|
3
|
+
Implement basic list operations.
|
|
4
|
+
|
|
5
|
+
In functional languages list operations like `length`, `map`, and
|
|
6
|
+
`reduce` are very common. Implement a series of basic list operations,
|
|
7
|
+
without using existing functions.
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
## Getting Started
|
|
11
|
+
|
|
12
|
+
For installation and learning resources, refer to the
|
|
13
|
+
[exercism help page](http://exercism.io/languages/haskell).
|
|
14
|
+
|
|
15
|
+
## Running the tests
|
|
16
|
+
|
|
17
|
+
To run the test suite, execute the following command:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
stack test
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
#### If you get an error message like this...
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
No .cabal file found in directory
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
You are probably running an old stack version and need
|
|
30
|
+
to upgrade it.
|
|
31
|
+
|
|
32
|
+
#### Otherwise, if you get an error message like this...
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
No compiler found, expected minor version match with...
|
|
36
|
+
Try running "stack setup" to install the correct GHC...
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Just do as it says and it will download and install
|
|
40
|
+
the correct compiler version:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
stack setup
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Running *GHCi*
|
|
47
|
+
|
|
48
|
+
If you want to play with your solution in GHCi, just run the command:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
stack ghci
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Feedback, Issues, Pull Requests
|
|
55
|
+
|
|
56
|
+
The [exercism/haskell](https://github.com/exercism/haskell) repository on
|
|
57
|
+
GitHub is the home for all of the Haskell exercises.
|
|
58
|
+
|
|
59
|
+
If you have feedback about an exercise, or want to help implementing a new
|
|
60
|
+
one, head over there and create an issue. We'll do our best to help you!
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
## Submitting Incomplete Solutions
|
|
64
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# Luhn
|
|
2
|
+
|
|
3
|
+
Given a number determine whether or not it is valid per the Luhn formula.
|
|
4
|
+
|
|
5
|
+
The [Luhn algorithm](https://en.wikipedia.org/wiki/Luhn_algorithm) is
|
|
6
|
+
a simple checksum formula used to validate a variety of identification
|
|
7
|
+
numbers, such as credit card numbers and Canadian Social Insurance
|
|
8
|
+
Numbers.
|
|
9
|
+
|
|
10
|
+
The task is to check if a given string is valid.
|
|
11
|
+
|
|
12
|
+
Validating a Number
|
|
13
|
+
------
|
|
14
|
+
|
|
15
|
+
Strings of length 1 or less are not valid. Spaces are allowed in the input,
|
|
16
|
+
but they should be stripped before checking. All other non-digit characters
|
|
17
|
+
are disallowed.
|
|
18
|
+
|
|
19
|
+
## Example 1: valid credit card number
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
4539 1488 0343 6467
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
The first step of the Luhn algorithm is to double every second digit,
|
|
26
|
+
starting from the right. We will be doubling
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
4_3_ 1_8_ 0_4_ 6_6_
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
If doubling the number results in a number greater than 9 then subtract 9
|
|
33
|
+
from the product. The results of our doubling:
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
8569 2478 0383 3437
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Then sum all of the digits:
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
8+5+6+9+2+4+7+8+0+3+8+3+3+4+3+7 = 80
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
If the sum is evenly divisible by 10, then the number is valid. This number is valid!
|
|
46
|
+
|
|
47
|
+
## Example 2: invalid credit card number
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
8273 1232 7352 0569
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Double the second digits, starting from the right
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
7253 2262 5312 0539
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Sum the digits
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
7+2+5+3+2+2+6+2+5+3+1+2+0+5+3+9 = 57
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
57 is not evenly divisible by 10, so this number is not valid.
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
## Getting Started
|
|
69
|
+
|
|
70
|
+
For installation and learning resources, refer to the
|
|
71
|
+
[exercism help page](http://exercism.io/languages/haskell).
|
|
72
|
+
|
|
73
|
+
## Running the tests
|
|
74
|
+
|
|
75
|
+
To run the test suite, execute the following command:
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
stack test
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
#### If you get an error message like this...
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
No .cabal file found in directory
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
You are probably running an old stack version and need
|
|
88
|
+
to upgrade it.
|
|
89
|
+
|
|
90
|
+
#### Otherwise, if you get an error message like this...
|
|
91
|
+
|
|
92
|
+
```
|
|
93
|
+
No compiler found, expected minor version match with...
|
|
94
|
+
Try running "stack setup" to install the correct GHC...
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
Just do as it says and it will download and install
|
|
98
|
+
the correct compiler version:
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
stack setup
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## Running *GHCi*
|
|
105
|
+
|
|
106
|
+
If you want to play with your solution in GHCi, just run the command:
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
stack ghci
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
## Feedback, Issues, Pull Requests
|
|
113
|
+
|
|
114
|
+
The [exercism/haskell](https://github.com/exercism/haskell) repository on
|
|
115
|
+
GitHub is the home for all of the Haskell exercises.
|
|
116
|
+
|
|
117
|
+
If you have feedback about an exercise, or want to help implementing a new
|
|
118
|
+
one, head over there and create an issue. We'll do our best to help you!
|
|
119
|
+
|
|
120
|
+
## Source
|
|
121
|
+
|
|
122
|
+
The Luhn Algorithm on Wikipedia [http://en.wikipedia.org/wiki/Luhn_algorithm](http://en.wikipedia.org/wiki/Luhn_algorithm)
|
|
123
|
+
|
|
124
|
+
## Submitting Incomplete Solutions
|
|
125
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# Matrix
|
|
2
|
+
|
|
3
|
+
Given a string representing a matrix of numbers, return the rows and columns of
|
|
4
|
+
that matrix.
|
|
5
|
+
|
|
6
|
+
So given a string with embedded newlines like:
|
|
7
|
+
|
|
8
|
+
> 9 8 7
|
|
9
|
+
> 5 3 2
|
|
10
|
+
> 6 6 7
|
|
11
|
+
|
|
12
|
+
representing this matrix:
|
|
13
|
+
|
|
14
|
+
```plain
|
|
15
|
+
0 1 2
|
|
16
|
+
|---------
|
|
17
|
+
0 | 9 8 7
|
|
18
|
+
1 | 5 3 2
|
|
19
|
+
2 | 6 6 7
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
your code should be able to spit out:
|
|
23
|
+
|
|
24
|
+
- A list of the rows, reading each row left-to-right while moving
|
|
25
|
+
top-to-bottom across the rows,
|
|
26
|
+
- A list of the columns, reading each column top-to-bottom while moving
|
|
27
|
+
from left-to-right.
|
|
28
|
+
|
|
29
|
+
The rows for our example matrix:
|
|
30
|
+
|
|
31
|
+
- 9, 8, 7
|
|
32
|
+
- 5, 3, 2
|
|
33
|
+
- 6, 6, 7
|
|
34
|
+
|
|
35
|
+
And its columns:
|
|
36
|
+
|
|
37
|
+
- 9, 5, 6
|
|
38
|
+
- 8, 3, 6
|
|
39
|
+
- 7, 2, 7
|
|
40
|
+
|
|
41
|
+
## Hints
|
|
42
|
+
|
|
43
|
+
To complete this exercise, you need to create the data type `Matrix`,
|
|
44
|
+
with `Eq` and `Show` instances, and implement the following functions:
|
|
45
|
+
|
|
46
|
+
- `cols`
|
|
47
|
+
- `column`
|
|
48
|
+
- `flatten`
|
|
49
|
+
- `fromList`
|
|
50
|
+
- `fromString`
|
|
51
|
+
- `reshape`
|
|
52
|
+
- `row`
|
|
53
|
+
- `rows`
|
|
54
|
+
- `shape`
|
|
55
|
+
- `transpose`
|
|
56
|
+
|
|
57
|
+
You will find a dummy data declaration and type signatures already in place,
|
|
58
|
+
but it is up to you to define the functions and create a meaningful data type,
|
|
59
|
+
newtype or type synonym.
|
|
60
|
+
|
|
61
|
+
No validation of input is required. Let it fail if the matrix is not
|
|
62
|
+
rectangular, invalid chars are encountered, etc.
|
|
63
|
+
|
|
64
|
+
shape is (rows, cols)
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
## Getting Started
|
|
69
|
+
|
|
70
|
+
For installation and learning resources, refer to the
|
|
71
|
+
[exercism help page](http://exercism.io/languages/haskell).
|
|
72
|
+
|
|
73
|
+
## Running the tests
|
|
74
|
+
|
|
75
|
+
To run the test suite, execute the following command:
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
stack test
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
#### If you get an error message like this...
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
No .cabal file found in directory
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
You are probably running an old stack version and need
|
|
88
|
+
to upgrade it.
|
|
89
|
+
|
|
90
|
+
#### Otherwise, if you get an error message like this...
|
|
91
|
+
|
|
92
|
+
```
|
|
93
|
+
No compiler found, expected minor version match with...
|
|
94
|
+
Try running "stack setup" to install the correct GHC...
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
Just do as it says and it will download and install
|
|
98
|
+
the correct compiler version:
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
stack setup
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## Running *GHCi*
|
|
105
|
+
|
|
106
|
+
If you want to play with your solution in GHCi, just run the command:
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
stack ghci
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
## Feedback, Issues, Pull Requests
|
|
113
|
+
|
|
114
|
+
The [exercism/haskell](https://github.com/exercism/haskell) repository on
|
|
115
|
+
GitHub is the home for all of the Haskell exercises.
|
|
116
|
+
|
|
117
|
+
If you have feedback about an exercise, or want to help implementing a new
|
|
118
|
+
one, head over there and create an issue. We'll do our best to help you!
|
|
119
|
+
|
|
120
|
+
## Source
|
|
121
|
+
|
|
122
|
+
Warmup to the `saddle-points` warmup. [http://jumpstartlab.com](http://jumpstartlab.com)
|
|
123
|
+
|
|
124
|
+
## Submitting Incomplete Solutions
|
|
125
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# Meetup
|
|
2
|
+
|
|
3
|
+
Calculate the date of meetups.
|
|
4
|
+
|
|
5
|
+
Typically meetups happen on the same day of the week. In this exercise, you will take
|
|
6
|
+
a description of a meetup date, and return the actual meetup date.
|
|
7
|
+
|
|
8
|
+
Examples of general descriptions are:
|
|
9
|
+
|
|
10
|
+
- the first Monday of January 2017
|
|
11
|
+
- the third Tuesday of January 2017
|
|
12
|
+
- the Wednesteenth of January 2017
|
|
13
|
+
- the last Thursday of January 2017
|
|
14
|
+
|
|
15
|
+
Note that "Monteenth", "Tuesteenth", etc are all made up words. There
|
|
16
|
+
was a meetup whose members realized that there are exactly 7 numbered days in a month that
|
|
17
|
+
end in '-teenth'. Therefore, one is guaranteed that each day of the week
|
|
18
|
+
(Monday, Tuesday, ...) will have exactly one date that is named with '-teenth'
|
|
19
|
+
in every month.
|
|
20
|
+
|
|
21
|
+
Given examples of a meetup dates, each containing a month, day, year, and descriptor
|
|
22
|
+
(first, second, teenth, etc), calculate the date of the actual meetup.
|
|
23
|
+
For example, if given "First Monday of January 2017", the correct meetup date is 2017/1/2
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
## Hints
|
|
27
|
+
|
|
28
|
+
To complete this exercise, you need to implement the `meetupDay` function.
|
|
29
|
+
|
|
30
|
+
You will find the type signature for `meetupDay` already in place,
|
|
31
|
+
but it is up to you to define the function.
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
## Getting Started
|
|
36
|
+
|
|
37
|
+
For installation and learning resources, refer to the
|
|
38
|
+
[exercism help page](http://exercism.io/languages/haskell).
|
|
39
|
+
|
|
40
|
+
## Running the tests
|
|
41
|
+
|
|
42
|
+
To run the test suite, execute the following command:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
stack test
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
#### If you get an error message like this...
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
No .cabal file found in directory
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
You are probably running an old stack version and need
|
|
55
|
+
to upgrade it.
|
|
56
|
+
|
|
57
|
+
#### Otherwise, if you get an error message like this...
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
No compiler found, expected minor version match with...
|
|
61
|
+
Try running "stack setup" to install the correct GHC...
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Just do as it says and it will download and install
|
|
65
|
+
the correct compiler version:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
stack setup
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Running *GHCi*
|
|
72
|
+
|
|
73
|
+
If you want to play with your solution in GHCi, just run the command:
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
stack ghci
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Feedback, Issues, Pull Requests
|
|
80
|
+
|
|
81
|
+
The [exercism/haskell](https://github.com/exercism/haskell) repository on
|
|
82
|
+
GitHub is the home for all of the Haskell exercises.
|
|
83
|
+
|
|
84
|
+
If you have feedback about an exercise, or want to help implementing a new
|
|
85
|
+
one, head over there and create an issue. We'll do our best to help you!
|
|
86
|
+
|
|
87
|
+
## Source
|
|
88
|
+
|
|
89
|
+
Jeremy Hinegardner mentioned a Boulder meetup that happens on the Wednesteenth of every month [https://twitter.com/copiousfreetime](https://twitter.com/copiousfreetime)
|
|
90
|
+
|
|
91
|
+
## Submitting Incomplete Solutions
|
|
92
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# Minesweeper
|
|
2
|
+
|
|
3
|
+
Add the numbers to a minesweeper board.
|
|
4
|
+
|
|
5
|
+
Minesweeper is a popular game where the user has to find the mines using
|
|
6
|
+
numeric hints that indicate how many mines are directly adjacent
|
|
7
|
+
(horizontally, vertically, diagonally) to a square.
|
|
8
|
+
|
|
9
|
+
In this exercise you have to create some code that counts the number of
|
|
10
|
+
mines adjacent to a square and transforms boards like this (where `*`
|
|
11
|
+
indicates a mine):
|
|
12
|
+
|
|
13
|
+
+-----+
|
|
14
|
+
| * * |
|
|
15
|
+
| * |
|
|
16
|
+
| * |
|
|
17
|
+
| |
|
|
18
|
+
+-----+
|
|
19
|
+
|
|
20
|
+
into this:
|
|
21
|
+
|
|
22
|
+
+-----+
|
|
23
|
+
|1*3*1|
|
|
24
|
+
|13*31|
|
|
25
|
+
| 2*2 |
|
|
26
|
+
| 111 |
|
|
27
|
+
+-----+
|
|
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
|
+
|
|
83
|
+
## Submitting Incomplete Solutions
|
|
84
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Nth Prime
|
|
2
|
+
|
|
3
|
+
Given a number n, determine what the nth prime is.
|
|
4
|
+
|
|
5
|
+
By listing the first six prime numbers: 2, 3, 5, 7, 11, and 13, we can see that
|
|
6
|
+
the 6th prime is 13.
|
|
7
|
+
|
|
8
|
+
If your language provides methods in the standard library to deal with prime
|
|
9
|
+
numbers, pretend they don't exist and implement them yourself.
|
|
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
|
+
A variation on Problem 7 at Project Euler [http://projecteuler.net/problem=7](http://projecteuler.net/problem=7)
|
|
67
|
+
|
|
68
|
+
## Submitting Incomplete Solutions
|
|
69
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|