trackler 2.2.1.166 → 2.2.1.167
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/trackler/version.rb +1 -1
- data/tracks/cfml/docs/RESOURCES.md +1 -1
- data/tracks/clojure/config/maintainers.json +21 -21
- data/tracks/clojure/config.json +305 -305
- data/tracks/clojure/exercises/accumulate/README.md +0 -3
- data/tracks/clojure/exercises/accumulate/src/accumulate.clj +5 -0
- data/tracks/clojure/exercises/acronym/README.md +0 -1
- data/tracks/clojure/exercises/all-your-base/README.md +1 -1
- data/tracks/clojure/exercises/allergies/README.md +0 -1
- data/tracks/clojure/exercises/armstrong-numbers/README.md +2 -3
- data/tracks/clojure/exercises/armstrong-numbers/src/armstrong_numbers.clj +3 -1
- data/tracks/clojure/exercises/atbash-cipher/README.md +2 -1
- data/tracks/clojure/exercises/beer-song/README.md +2 -2
- data/tracks/clojure/exercises/binary/README.md +2 -0
- data/tracks/clojure/exercises/bracket-push/README.md +3 -2
- data/tracks/clojure/exercises/change/README.md +1 -1
- data/tracks/clojure/exercises/collatz-conjecture/README.md +3 -4
- data/tracks/clojure/exercises/collatz-conjecture/src/collatz_conjecture.clj +3 -1
- data/tracks/clojure/exercises/complex-numbers/README.md +3 -2
- data/tracks/clojure/exercises/complex-numbers/src/complex_numbers.clj +25 -8
- data/tracks/clojure/exercises/crypto-square/README.md +31 -26
- data/tracks/clojure/exercises/diamond/README.md +8 -0
- data/tracks/clojure/exercises/dominoes/README.md +2 -0
- data/tracks/clojure/exercises/dominoes/src/dominoes.clj +3 -1
- data/tracks/clojure/exercises/etl/README.md +3 -1
- data/tracks/clojure/exercises/flatten-array/README.md +1 -2
- data/tracks/clojure/exercises/grade-school/README.md +0 -1
- data/tracks/clojure/exercises/grains/README.md +0 -1
- data/tracks/clojure/exercises/hamming/README.md +4 -3
- data/tracks/clojure/exercises/isbn-verifier/README.md +28 -24
- data/tracks/clojure/exercises/isbn-verifier/src/isbn_verifier.clj +3 -1
- data/tracks/clojure/exercises/isbn-verifier/test/isbn_verifier_test.clj +3 -0
- data/tracks/clojure/exercises/isogram/README.md +2 -1
- data/tracks/clojure/exercises/kindergarten-garden/README.md +13 -13
- data/tracks/clojure/exercises/largest-series-product/src/largest_series_product.clj +5 -0
- data/tracks/clojure/exercises/leap/README.md +1 -1
- data/tracks/clojure/exercises/leap/src/leap.clj +5 -0
- data/tracks/clojure/exercises/luhn/README.md +7 -7
- data/tracks/clojure/exercises/luhn/src/luhn.clj +5 -0
- data/tracks/clojure/exercises/meetup/README.md +16 -13
- data/tracks/clojure/exercises/meetup/src/meetup.clj +5 -0
- data/tracks/clojure/exercises/nth-prime/src/nth_prime.clj +5 -0
- data/tracks/clojure/exercises/nucleotide-count/README.md +8 -22
- data/tracks/clojure/exercises/nucleotide-count/src/nucleotide_count.clj +9 -0
- data/tracks/clojure/exercises/octal/README.md +6 -2
- data/tracks/clojure/exercises/octal/src/octal.clj +5 -0
- data/tracks/clojure/exercises/pangram/README.md +1 -1
- data/tracks/clojure/exercises/pangram/src/pangram.clj +5 -0
- data/tracks/clojure/exercises/pascals-triangle/README.md +2 -2
- data/tracks/clojure/exercises/pascals-triangle/src/pascals_triangle.clj +7 -0
- data/tracks/clojure/exercises/perfect-numbers/README.md +2 -2
- data/tracks/clojure/exercises/perfect-numbers/src/perfect_numbers.clj +5 -0
- data/tracks/clojure/exercises/phone-number/README.md +4 -3
- data/tracks/clojure/exercises/phone-number/src/phone_number.clj +13 -0
- data/tracks/clojure/exercises/pig-latin/README.md +4 -4
- data/tracks/clojure/exercises/pig-latin/src/pig_latin.clj +5 -0
- data/tracks/clojure/exercises/poker/README.md +3 -2
- data/tracks/clojure/exercises/poker/src/poker.clj +3 -1
- data/tracks/clojure/exercises/pov/README.md +3 -5
- data/tracks/clojure/exercises/pov/src/pov.clj +9 -0
- data/tracks/clojure/exercises/prime-factors/src/prime_factors.clj +5 -0
- data/tracks/clojure/exercises/protein-translation/README.md +10 -2
- data/tracks/clojure/exercises/protein-translation/src/protein_translation.clj +9 -0
- data/tracks/clojure/exercises/proverb/README.md +8 -0
- data/tracks/clojure/exercises/queen-attack/README.md +1 -1
- data/tracks/clojure/exercises/queen-attack/src/queen_attack.clj +9 -0
- data/tracks/clojure/exercises/raindrops/src/raindrops.clj +5 -0
- data/tracks/clojure/exercises/reverse-string/README.md +2 -3
- data/tracks/clojure/exercises/rna-transcription/README.md +2 -2
- data/tracks/clojure/exercises/robot-name/src/robot_name.clj +13 -0
- data/tracks/clojure/exercises/robot-simulator/src/robot_simulator.clj +17 -0
- data/tracks/clojure/exercises/roman-numerals/README.md +1 -1
- data/tracks/clojure/exercises/roman-numerals/src/roman_numerals.clj +5 -0
- data/tracks/clojure/exercises/rotational-cipher/README.md +2 -1
- data/tracks/clojure/exercises/rotational-cipher/src/rotational_cipher.clj +5 -0
- data/tracks/clojure/exercises/run-length-encoding/README.md +0 -6
- data/tracks/clojure/exercises/say/README.md +2 -4
- data/tracks/clojure/exercises/scrabble-score/README.md +3 -1
- data/tracks/clojure/exercises/scrabble-score/src/scrabble_score.clj +9 -0
- data/tracks/clojure/exercises/secret-handshake/README.md +2 -2
- data/tracks/clojure/exercises/secret-handshake/src/secret_handshake.clj +5 -0
- data/tracks/clojure/exercises/series/README.md +7 -8
- data/tracks/clojure/exercises/series/src/series.clj +3 -1
- data/tracks/clojure/exercises/sieve/README.md +5 -3
- data/tracks/clojure/exercises/sieve/src/sieve.clj +5 -0
- data/tracks/clojure/exercises/space-age/README.md +1 -1
- data/tracks/clojure/exercises/space-age/src/space_age.clj +33 -0
- data/tracks/clojure/exercises/spiral-matrix/README.md +6 -8
- data/tracks/clojure/exercises/spiral-matrix/src/spiral_matrix.clj +3 -1
- data/tracks/clojure/exercises/strain/src/strain.clj +9 -0
- data/tracks/clojure/exercises/sublist/src/sublist.clj +5 -0
- data/tracks/clojure/exercises/sum-of-multiples/README.md +3 -6
- data/tracks/clojure/exercises/sum-of-multiples/src/sum_of_multiples.clj +5 -0
- data/tracks/clojure/exercises/triangle/README.md +10 -7
- data/tracks/clojure/exercises/triangle/src/triangle.clj +5 -0
- data/tracks/clojure/exercises/trinary/README.md +1 -1
- data/tracks/clojure/exercises/trinary/src/trinary.clj +5 -0
- data/tracks/clojure/exercises/two-fer/README.md +2 -2
- data/tracks/clojure/exercises/word-count/README.md +1 -2
- data/tracks/clojure/exercises/wordy/README.md +0 -5
- data/tracks/clojure/exercises/wordy/src/wordy.clj +5 -0
- data/tracks/csharp/config.json +1 -0
- data/tracks/csharp/exercises/accumulate/Accumulate.csproj +1 -1
- data/tracks/csharp/exercises/acronym/Acronym.csproj +1 -1
- data/tracks/csharp/exercises/all-your-base/AllYourBase.csproj +1 -1
- data/tracks/csharp/exercises/allergies/Allergies.csproj +1 -1
- data/tracks/csharp/exercises/alphametics/Alphametics.csproj +2 -2
- data/tracks/csharp/exercises/anagram/Anagram.csproj +1 -1
- data/tracks/csharp/exercises/armstrong-numbers/ArmstrongNumbers.csproj +1 -1
- data/tracks/csharp/exercises/atbash-cipher/AtbashCipher.csproj +1 -1
- data/tracks/csharp/exercises/bank-account/BankAccount.csproj +1 -1
- data/tracks/csharp/exercises/beer-song/BeerSong.csproj +1 -1
- data/tracks/csharp/exercises/binary/Binary.csproj +1 -1
- data/tracks/csharp/exercises/binary-search/BinarySearch.csproj +1 -1
- data/tracks/csharp/exercises/binary-search-tree/BinarySearchTree.csproj +1 -1
- data/tracks/csharp/exercises/bob/Bob.csproj +1 -1
- data/tracks/csharp/exercises/book-store/BookStore.csproj +1 -1
- data/tracks/csharp/exercises/bowling/Bowling.csproj +1 -1
- data/tracks/csharp/exercises/bracket-push/BracketPush.csproj +1 -1
- data/tracks/csharp/exercises/change/Change.csproj +1 -1
- data/tracks/csharp/exercises/circular-buffer/CircularBuffer.csproj +1 -1
- data/tracks/csharp/exercises/clock/Clock.csproj +1 -1
- data/tracks/csharp/exercises/collatz-conjecture/CollatzConjecture.csproj +1 -1
- data/tracks/csharp/exercises/complex-numbers/ComplexNumbers.csproj +1 -1
- data/tracks/csharp/exercises/connect/Connect.csproj +1 -1
- data/tracks/csharp/exercises/crypto-square/CryptoSquare.csproj +1 -1
- data/tracks/csharp/exercises/custom-set/CustomSet.csproj +1 -1
- data/tracks/csharp/exercises/diamond/Diamond.csproj +3 -3
- data/tracks/csharp/exercises/difference-of-squares/DifferenceOfSquares.csproj +1 -1
- data/tracks/csharp/exercises/diffie-hellman/DiffieHellman.csproj +1 -1
- data/tracks/csharp/exercises/dominoes/Dominoes.csproj +1 -1
- data/tracks/csharp/exercises/dot-dsl/DotDsl.csproj +1 -1
- data/tracks/csharp/exercises/error-handling/ErrorHandling.csproj +1 -1
- data/tracks/csharp/exercises/etl/Etl.csproj +1 -1
- data/tracks/csharp/exercises/flatten-array/FlattenArray.csproj +1 -1
- data/tracks/csharp/exercises/food-chain/FoodChain.csproj +1 -1
- data/tracks/csharp/exercises/forth/Forth.csproj +2 -2
- data/tracks/csharp/exercises/gigasecond/Gigasecond.csproj +1 -1
- data/tracks/csharp/exercises/go-counting/GoCounting.csproj +1 -1
- data/tracks/csharp/exercises/grade-school/GradeSchool.csproj +1 -1
- data/tracks/csharp/exercises/grains/Grains.csproj +1 -1
- data/tracks/csharp/exercises/grep/Grep.csproj +1 -1
- data/tracks/csharp/exercises/hamming/Hamming.csproj +1 -1
- data/tracks/csharp/exercises/hangman/Hangman.csproj +1 -1
- data/tracks/csharp/exercises/hello-world/HelloWorld.csproj +1 -1
- data/tracks/csharp/exercises/hexadecimal/Hexadecimal.csproj +1 -1
- data/tracks/csharp/exercises/house/House.csproj +1 -1
- data/tracks/csharp/exercises/isbn-verifier/IsbnVerifier.csproj +1 -1
- data/tracks/csharp/exercises/isogram/Isogram.csproj +1 -1
- data/tracks/csharp/exercises/kindergarten-garden/KindergartenGarden.csproj +1 -1
- data/tracks/csharp/exercises/largest-series-product/LargestSeriesProduct.csproj +1 -1
- data/tracks/csharp/exercises/leap/Leap.csproj +1 -1
- data/tracks/csharp/exercises/ledger/Ledger.csproj +1 -1
- data/tracks/csharp/exercises/linked-list/LinkedList.csproj +1 -1
- data/tracks/csharp/exercises/list-ops/ListOps.csproj +1 -1
- data/tracks/csharp/exercises/luhn/Luhn.csproj +1 -1
- data/tracks/csharp/exercises/markdown/Markdown.csproj +1 -1
- data/tracks/csharp/exercises/matrix/Matrix.csproj +1 -1
- data/tracks/csharp/exercises/meetup/Meetup.csproj +1 -1
- data/tracks/csharp/exercises/minesweeper/Minesweeper.csproj +1 -1
- data/tracks/csharp/exercises/nth-prime/NthPrime.csproj +1 -1
- data/tracks/csharp/exercises/nucleotide-count/NucleotideCount.csproj +1 -1
- data/tracks/csharp/exercises/ocr-numbers/OcrNumbers.csproj +1 -1
- data/tracks/csharp/exercises/octal/Octal.csproj +1 -1
- data/tracks/csharp/exercises/palindrome-products/PalindromeProducts.csproj +1 -1
- data/tracks/csharp/exercises/pangram/Pangram.csproj +1 -1
- data/tracks/csharp/exercises/parallel-letter-frequency/ParallelLetterFrequency.csproj +1 -1
- data/tracks/csharp/exercises/pascals-triangle/PascalsTriangle.csproj +1 -1
- data/tracks/csharp/exercises/perfect-numbers/PerfectNumbers.csproj +1 -1
- data/tracks/csharp/exercises/phone-number/PhoneNumber.csproj +1 -1
- data/tracks/csharp/exercises/pig-latin/PigLatin.csproj +1 -1
- data/tracks/csharp/exercises/poker/Poker.csproj +1 -1
- data/tracks/csharp/exercises/pov/Pov.csproj +1 -1
- data/tracks/csharp/exercises/prime-factors/PrimeFactors.csproj +1 -1
- data/tracks/csharp/exercises/protein-translation/ProteinTranslation.csproj +1 -1
- data/tracks/csharp/exercises/proverb/Proverb.csproj +1 -1
- data/tracks/csharp/exercises/pythagorean-triplet/PythagoreanTriplet.csproj +1 -1
- data/tracks/csharp/exercises/queen-attack/QueenAttack.csproj +1 -1
- data/tracks/csharp/exercises/rail-fence-cipher/RailFenceCipher.csproj +1 -1
- data/tracks/csharp/exercises/raindrops/Raindrops.csproj +1 -1
- data/tracks/csharp/exercises/rational-numbers/RationalNumbers.csproj +1 -1
- data/tracks/csharp/exercises/react/React.csproj +1 -1
- data/tracks/csharp/exercises/rectangles/Rectangles.csproj +1 -1
- data/tracks/csharp/exercises/reverse-string/ReverseString.csproj +1 -1
- data/tracks/csharp/exercises/rna-transcription/RnaTranscription.csproj +1 -1
- data/tracks/csharp/exercises/robot-name/RobotName.csproj +1 -1
- data/tracks/csharp/exercises/robot-simulator/RobotSimulator.csproj +1 -1
- data/tracks/csharp/exercises/roman-numerals/RomanNumerals.csproj +1 -1
- data/tracks/csharp/exercises/rotational-cipher/RotationalCipher.csproj +1 -1
- data/tracks/csharp/exercises/run-length-encoding/RunLengthEncoding.csproj +1 -1
- data/tracks/csharp/exercises/saddle-points/SaddlePoints.csproj +1 -1
- data/tracks/csharp/exercises/say/Say.csproj +1 -1
- data/tracks/csharp/exercises/scale-generator/ScaleGenerator.csproj +1 -1
- data/tracks/csharp/exercises/scrabble-score/ScrabbleScore.csproj +1 -1
- data/tracks/csharp/exercises/secret-handshake/SecretHandshake.csproj +1 -1
- data/tracks/csharp/exercises/series/Series.csproj +1 -1
- data/tracks/csharp/exercises/sgf-parsing/SgfParsing.csproj +2 -2
- data/tracks/csharp/exercises/sieve/Sieve.csproj +1 -1
- data/tracks/csharp/exercises/simple-cipher/SimpleCipher.csproj +1 -1
- data/tracks/csharp/exercises/simple-linked-list/SimpleLinkedList.csproj +1 -1
- data/tracks/csharp/exercises/space-age/SpaceAge.csproj +1 -1
- data/tracks/csharp/exercises/spiral-matrix/SpiralMatrix.csproj +1 -1
- data/tracks/csharp/exercises/strain/Strain.csproj +1 -1
- data/tracks/csharp/exercises/sublist/Sublist.csproj +1 -1
- data/tracks/csharp/exercises/sum-of-multiples/SumOfMultiples.csproj +1 -1
- data/tracks/csharp/exercises/tournament/Tournament.csproj +1 -1
- data/tracks/csharp/exercises/transpose/Transpose.csproj +1 -1
- data/tracks/csharp/exercises/tree-building/TreeBuilding.csproj +1 -1
- data/tracks/csharp/exercises/triangle/Triangle.csproj +1 -1
- data/tracks/csharp/exercises/trinary/Trinary.csproj +1 -1
- data/tracks/csharp/exercises/twelve-days/TwelveDays.csproj +1 -1
- data/tracks/csharp/exercises/two-bucket/TwoBucket.csproj +1 -1
- data/tracks/csharp/exercises/two-fer/TwoFer.csproj +1 -1
- data/tracks/csharp/exercises/variable-length-quantity/VariableLengthQuantity.csproj +1 -1
- data/tracks/csharp/exercises/word-count/WordCount.csproj +1 -1
- data/tracks/csharp/exercises/word-search/WordSearch.csproj +1 -1
- data/tracks/csharp/exercises/wordy/Wordy.csproj +1 -1
- data/tracks/csharp/exercises/zebra-puzzle/ZebraPuzzle.csproj +1 -1
- data/tracks/csharp/exercises/zipper/Zipper.csproj +1 -1
- data/tracks/fsharp/config.json +1 -0
- data/tracks/fsharp/exercises/accumulate/Accumulate.fsproj +1 -1
- data/tracks/fsharp/exercises/acronym/Acronym.fsproj +1 -1
- data/tracks/fsharp/exercises/all-your-base/AllYourBase.fsproj +1 -1
- data/tracks/fsharp/exercises/allergies/Allergies.fsproj +1 -1
- data/tracks/fsharp/exercises/alphametics/Alphametics.fsproj +1 -1
- data/tracks/fsharp/exercises/anagram/Anagram.fsproj +1 -1
- data/tracks/fsharp/exercises/armstrong-numbers/ArmstrongNumbers.fsproj +1 -1
- data/tracks/fsharp/exercises/atbash-cipher/AtbashCipher.fsproj +1 -1
- data/tracks/fsharp/exercises/bank-account/BankAccount.fsproj +1 -1
- data/tracks/fsharp/exercises/beer-song/BeerSong.fsproj +1 -1
- data/tracks/fsharp/exercises/binary/Binary.fsproj +1 -1
- data/tracks/fsharp/exercises/binary-search/BinarySearch.fsproj +1 -1
- data/tracks/fsharp/exercises/binary-search-tree/BinarySearchTree.fsproj +1 -1
- data/tracks/fsharp/exercises/bob/Bob.fsproj +1 -1
- data/tracks/fsharp/exercises/book-store/BookStore.fsproj +1 -1
- data/tracks/fsharp/exercises/bowling/Bowling.fsproj +1 -1
- data/tracks/fsharp/exercises/bracket-push/BracketPush.fsproj +1 -1
- data/tracks/fsharp/exercises/change/Change.fsproj +1 -1
- data/tracks/fsharp/exercises/circular-buffer/CircularBuffer.fsproj +1 -1
- data/tracks/fsharp/exercises/clock/Clock.fsproj +1 -1
- data/tracks/fsharp/exercises/collatz-conjecture/CollatzConjecture.fsproj +1 -1
- data/tracks/fsharp/exercises/complex-numbers/ComplexNumbers.fsproj +1 -1
- data/tracks/fsharp/exercises/connect/Connect.fsproj +1 -1
- data/tracks/fsharp/exercises/crypto-square/CryptoSquare.fsproj +1 -1
- data/tracks/fsharp/exercises/custom-set/CustomSet.fsproj +1 -1
- data/tracks/fsharp/exercises/diamond/Diamond.fsproj +1 -1
- data/tracks/fsharp/exercises/difference-of-squares/DifferenceOfSquares.fsproj +1 -1
- data/tracks/fsharp/exercises/diffie-hellman/DiffieHellman.fsproj +1 -1
- data/tracks/fsharp/exercises/dominoes/Dominoes.fsproj +1 -1
- data/tracks/fsharp/exercises/dot-dsl/DotDsl.fsproj +1 -1
- data/tracks/fsharp/exercises/error-handling/ErrorHandling.fsproj +1 -1
- data/tracks/fsharp/exercises/etl/Etl.fsproj +1 -1
- data/tracks/fsharp/exercises/food-chain/FoodChain.fsproj +1 -1
- data/tracks/fsharp/exercises/forth/Forth.fsproj +1 -1
- data/tracks/fsharp/exercises/gigasecond/Gigasecond.fsproj +1 -1
- data/tracks/fsharp/exercises/go-counting/GoCounting.fsproj +1 -1
- data/tracks/fsharp/exercises/grade-school/GradeSchool.fsproj +1 -1
- data/tracks/fsharp/exercises/grains/Grains.fsproj +1 -1
- data/tracks/fsharp/exercises/grep/Grep.fsproj +1 -1
- data/tracks/fsharp/exercises/hamming/Hamming.fsproj +1 -1
- data/tracks/fsharp/exercises/hangman/Hangman.fsproj +1 -1
- data/tracks/fsharp/exercises/hello-world/HelloWorld.fsproj +1 -1
- data/tracks/fsharp/exercises/hexadecimal/Hexadecimal.fsproj +1 -1
- data/tracks/fsharp/exercises/house/House.fsproj +1 -1
- data/tracks/fsharp/exercises/isbn-verifier/IsbnVerifier.fsproj +1 -1
- data/tracks/fsharp/exercises/isogram/Isogram.fsproj +1 -1
- data/tracks/fsharp/exercises/kindergarten-garden/KindergartenGarden.fsproj +1 -1
- data/tracks/fsharp/exercises/largest-series-product/LargestSeriesProduct.fsproj +1 -1
- data/tracks/fsharp/exercises/leap/Leap.fsproj +1 -1
- data/tracks/fsharp/exercises/ledger/Ledger.fsproj +1 -1
- data/tracks/fsharp/exercises/lens-person/LensPerson.fsproj +1 -1
- data/tracks/fsharp/exercises/linked-list/LinkedList.fsproj +1 -1
- data/tracks/fsharp/exercises/list-ops/ListOps.fsproj +1 -1
- data/tracks/fsharp/exercises/luhn/Luhn.fsproj +1 -1
- data/tracks/fsharp/exercises/markdown/Markdown.fsproj +1 -1
- data/tracks/fsharp/exercises/matrix/Matrix.fsproj +1 -1
- data/tracks/fsharp/exercises/meetup/Meetup.fsproj +1 -1
- data/tracks/fsharp/exercises/minesweeper/Minesweeper.fsproj +1 -1
- data/tracks/fsharp/exercises/nth-prime/NthPrime.fsproj +1 -1
- data/tracks/fsharp/exercises/nucleotide-count/NucleotideCount.fsproj +1 -1
- data/tracks/fsharp/exercises/ocr-numbers/OcrNumbers.fsproj +1 -1
- data/tracks/fsharp/exercises/octal/Octal.fsproj +1 -1
- data/tracks/fsharp/exercises/palindrome-products/PalindromeProducts.fsproj +1 -1
- data/tracks/fsharp/exercises/pangram/Pangram.fsproj +1 -1
- data/tracks/fsharp/exercises/parallel-letter-frequency/ParallelLetterFrequency.fsproj +1 -1
- data/tracks/fsharp/exercises/pascals-triangle/PascalsTriangle.fsproj +1 -1
- data/tracks/fsharp/exercises/perfect-numbers/PerfectNumbers.fsproj +1 -1
- data/tracks/fsharp/exercises/phone-number/PhoneNumber.fsproj +1 -1
- data/tracks/fsharp/exercises/pig-latin/PigLatin.fsproj +1 -1
- data/tracks/fsharp/exercises/poker/Poker.fsproj +1 -1
- data/tracks/fsharp/exercises/pov/Pov.fsproj +1 -1
- data/tracks/fsharp/exercises/prime-factors/PrimeFactors.fsproj +1 -1
- data/tracks/fsharp/exercises/protein-translation/ProteinTranslation.fsproj +1 -1
- data/tracks/fsharp/exercises/proverb/Proverb.fsproj +1 -1
- data/tracks/fsharp/exercises/pythagorean-triplet/PythagoreanTriplet.fsproj +1 -1
- data/tracks/fsharp/exercises/queen-attack/QueenAttack.fsproj +1 -1
- data/tracks/fsharp/exercises/rail-fence-cipher/RailFenceCipher.fsproj +1 -1
- data/tracks/fsharp/exercises/raindrops/Raindrops.fsproj +1 -1
- data/tracks/fsharp/exercises/rational-numbers/RationalNumbers.fsproj +1 -1
- data/tracks/fsharp/exercises/react/React.fsproj +1 -1
- data/tracks/fsharp/exercises/rectangles/Rectangles.fsproj +1 -1
- data/tracks/fsharp/exercises/reverse-string/ReverseString.fsproj +1 -1
- data/tracks/fsharp/exercises/rna-transcription/RnaTranscription.fsproj +1 -1
- data/tracks/fsharp/exercises/robot-name/RobotName.fsproj +1 -1
- data/tracks/fsharp/exercises/robot-simulator/RobotSimulator.fsproj +1 -1
- data/tracks/fsharp/exercises/roman-numerals/RomanNumerals.fsproj +1 -1
- data/tracks/fsharp/exercises/rotational-cipher/RotationalCipher.fsproj +1 -1
- data/tracks/fsharp/exercises/run-length-encoding/RunLengthEncoding.fsproj +1 -1
- data/tracks/fsharp/exercises/saddle-points/SaddlePoints.fsproj +1 -1
- data/tracks/fsharp/exercises/say/Say.fsproj +1 -1
- data/tracks/fsharp/exercises/scale-generator/ScaleGenerator.fsproj +1 -1
- data/tracks/fsharp/exercises/scrabble-score/ScrabbleScore.fsproj +1 -1
- data/tracks/fsharp/exercises/secret-handshake/SecretHandshake.fsproj +1 -1
- data/tracks/fsharp/exercises/series/Series.fsproj +1 -1
- data/tracks/fsharp/exercises/sgf-parsing/SgfParsing.fsproj +1 -1
- data/tracks/fsharp/exercises/sieve/Sieve.fsproj +1 -1
- data/tracks/fsharp/exercises/simple-cipher/Example.fs +31 -21
- data/tracks/fsharp/exercises/simple-cipher/SimpleCipher.fs +8 -4
- data/tracks/fsharp/exercises/simple-cipher/SimpleCipher.fsproj +1 -1
- data/tracks/fsharp/exercises/simple-cipher/SimpleCipherTest.fs +51 -73
- data/tracks/fsharp/exercises/simple-linked-list/SimpleLinkedList.fsproj +1 -1
- data/tracks/fsharp/exercises/space-age/SpaceAge.fsproj +1 -1
- data/tracks/fsharp/exercises/spiral-matrix/SpiralMatrix.fsproj +1 -1
- data/tracks/fsharp/exercises/strain/Strain.fsproj +1 -1
- data/tracks/fsharp/exercises/sublist/Sublist.fsproj +1 -1
- data/tracks/fsharp/exercises/sum-of-multiples/SumOfMultiples.fsproj +1 -1
- data/tracks/fsharp/exercises/tournament/Tournament.fsproj +1 -1
- data/tracks/fsharp/exercises/transpose/Transpose.fsproj +1 -1
- data/tracks/fsharp/exercises/tree-building/TreeBuilding.fsproj +1 -1
- data/tracks/fsharp/exercises/triangle/Triangle.fsproj +1 -1
- data/tracks/fsharp/exercises/trinary/Trinary.fsproj +1 -1
- data/tracks/fsharp/exercises/twelve-days/TwelveDays.fsproj +1 -1
- data/tracks/fsharp/exercises/two-bucket/TwoBucket.fsproj +1 -1
- data/tracks/fsharp/exercises/two-fer/TwoFer.fsproj +1 -1
- data/tracks/fsharp/exercises/variable-length-quantity/VariableLengthQuantity.fsproj +1 -1
- data/tracks/fsharp/exercises/word-count/WordCount.fsproj +1 -1
- data/tracks/fsharp/exercises/word-search/WordSearch.fsproj +1 -1
- data/tracks/fsharp/exercises/wordy/Wordy.fsproj +1 -1
- data/tracks/fsharp/exercises/yacht/Yacht.fsproj +1 -1
- data/tracks/fsharp/exercises/zebra-puzzle/ZebraPuzzle.fsproj +1 -1
- data/tracks/fsharp/exercises/zipper/Zipper.fsproj +1 -1
- data/tracks/fsharp/generators/Generators.fs +53 -2
- data/tracks/fsharp/generators/Generators.fsproj +3 -3
- data/tracks/kotlin/exercises/atbash-cipher/.meta/version +1 -1
- data/tracks/kotlin/exercises/collatz-conjecture/.meta/version +1 -1
- data/tracks/kotlin/exercises/diamond/.meta/version +1 -1
- data/tracks/kotlin/exercises/grains/.meta/version +1 -1
- data/tracks/kotlin/exercises/largest-series-product/.meta/version +1 -1
- data/tracks/kotlin/exercises/nth-prime/.meta/version +1 -1
- data/tracks/kotlin/exercises/saddle-points/.meta/version +1 -1
- data/tracks/kotlin/exercises/sieve/.meta/version +1 -1
- data/tracks/kotlin/exercises/triangle/.meta/version +1 -1
- data/tracks/lua/config.json +1 -1
- data/tracks/ocaml/config/maintainers.json +11 -11
- data/tracks/ocaml/config.json +179 -175
- data/tracks/ocaml/docs/ABOUT.md +4 -8
- data/tracks/reasonml/.gitignore +2 -0
- data/tracks/reasonml/config.json +53 -6
- data/tracks/reasonml/docs/LEARNING.md +2 -0
- data/tracks/reasonml/docs/RESOURCES.md +6 -4
- data/tracks/reasonml/exercises/change/README.md +41 -0
- data/tracks/reasonml/exercises/change/__tests__/Change_test.re +39 -0
- data/tracks/reasonml/exercises/change/bsconfig.json +30 -0
- data/tracks/reasonml/exercises/change/package.json +20 -0
- data/tracks/reasonml/exercises/change/src/Example.re +37 -0
- data/tracks/reasonml/exercises/leap/__tests__/Leap_test.re +5 -4
- data/tracks/reasonml/exercises/leap/src/Example.re +1 -1
- data/tracks/reasonml/exercises/raindrops/README.md +33 -0
- data/tracks/reasonml/exercises/raindrops/__tests__/Raindrops_test.re +63 -0
- data/tracks/reasonml/exercises/raindrops/bsconfig.json +30 -0
- data/tracks/reasonml/exercises/raindrops/package-lock.json +5148 -0
- data/tracks/reasonml/exercises/raindrops/package.json +20 -0
- data/tracks/reasonml/exercises/raindrops/src/Example.re +18 -0
- data/tracks/reasonml/exercises/word-count/README.md +24 -0
- data/tracks/reasonml/exercises/word-count/__tests__/WordCount_test.re +78 -0
- data/tracks/reasonml/exercises/word-count/bsconfig.json +30 -0
- data/tracks/reasonml/exercises/word-count/package-lock.json +5853 -0
- data/tracks/reasonml/exercises/word-count/package.json +18 -0
- data/tracks/reasonml/exercises/word-count/src/Example.re +20 -0
- metadata +51 -3
- data/tracks/clojure/exercises/pov/.gitignore +0 -3
data/tracks/ocaml/config.json
CHANGED
@@ -1,442 +1,446 @@
|
|
1
1
|
{
|
2
|
+
"language": "OCaml",
|
2
3
|
"active": true,
|
4
|
+
"blurb": "",
|
3
5
|
"exercises": [
|
4
6
|
{
|
7
|
+
"slug": "hello-world",
|
8
|
+
"uuid": "cda3b090-ae52-476b-a782-9cbf43953cf0",
|
5
9
|
"core": false,
|
10
|
+
"unlocked_by": null,
|
6
11
|
"difficulty": 1,
|
7
|
-
"slug": "hello-world",
|
8
12
|
"topics": [
|
9
13
|
"setting_up_ocaml_dev_environment",
|
10
14
|
"strings"
|
11
|
-
]
|
12
|
-
"unlocked_by": null,
|
13
|
-
"uuid": "cda3b090-ae52-476b-a782-9cbf43953cf0"
|
15
|
+
]
|
14
16
|
},
|
15
17
|
{
|
18
|
+
"slug": "leap",
|
19
|
+
"uuid": "ea5ca675-e010-470b-8030-d4f84880d799",
|
16
20
|
"core": false,
|
21
|
+
"unlocked_by": null,
|
17
22
|
"difficulty": 1,
|
18
|
-
"slug": "leap",
|
19
23
|
"topics": [
|
20
24
|
"booleans",
|
21
25
|
"integers"
|
22
|
-
]
|
23
|
-
"unlocked_by": null,
|
24
|
-
"uuid": "ea5ca675-e010-470b-8030-d4f84880d799"
|
26
|
+
]
|
25
27
|
},
|
26
28
|
{
|
29
|
+
"slug": "hamming",
|
30
|
+
"uuid": "bff47b0f-4555-40b7-b422-64eaa37cb2f6",
|
27
31
|
"core": false,
|
32
|
+
"unlocked_by": null,
|
28
33
|
"difficulty": 2,
|
29
|
-
"slug": "hamming",
|
30
34
|
"topics": [
|
31
35
|
"iterating_over_two_lists_at_once"
|
32
|
-
]
|
33
|
-
"unlocked_by": null,
|
34
|
-
"uuid": "bff47b0f-4555-40b7-b422-64eaa37cb2f6"
|
36
|
+
]
|
35
37
|
},
|
36
38
|
{
|
37
|
-
"core": false,
|
38
|
-
"difficulty": 2,
|
39
39
|
"slug": "raindrops",
|
40
|
-
"
|
40
|
+
"uuid": "dd066b62-c63e-467c-8dfb-435bcc81d532",
|
41
|
+
"core": false,
|
41
42
|
"unlocked_by": null,
|
42
|
-
"
|
43
|
+
"difficulty": 2,
|
44
|
+
"topics": null
|
43
45
|
},
|
44
46
|
{
|
47
|
+
"slug": "difference-of-squares",
|
48
|
+
"uuid": "7fbd4282-9e69-460d-a208-dfafb1850da0",
|
45
49
|
"core": false,
|
50
|
+
"unlocked_by": null,
|
46
51
|
"difficulty": 2,
|
47
|
-
"slug": "difference-of-squares",
|
48
52
|
"topics": [
|
49
53
|
"mathematics"
|
50
|
-
]
|
51
|
-
"unlocked_by": null,
|
52
|
-
"uuid": "7fbd4282-9e69-460d-a208-dfafb1850da0"
|
54
|
+
]
|
53
55
|
},
|
54
56
|
{
|
57
|
+
"slug": "rna-transcription",
|
58
|
+
"uuid": "bf9a0fe0-99b2-4a95-8d75-fc02d0c8433c",
|
55
59
|
"core": false,
|
60
|
+
"unlocked_by": null,
|
56
61
|
"difficulty": 2,
|
57
|
-
"slug": "rna-transcription",
|
58
62
|
"topics": [
|
59
63
|
"transforming"
|
60
|
-
]
|
61
|
-
"unlocked_by": null,
|
62
|
-
"uuid": "bf9a0fe0-99b2-4a95-8d75-fc02d0c8433c"
|
64
|
+
]
|
63
65
|
},
|
64
66
|
{
|
67
|
+
"slug": "nucleotide-count",
|
68
|
+
"uuid": "0d7a23a9-31a1-4d52-afd6-887d0fc898e2",
|
65
69
|
"core": false,
|
70
|
+
"unlocked_by": null,
|
66
71
|
"difficulty": 2,
|
67
|
-
"slug": "nucleotide-count",
|
68
72
|
"topics": [
|
69
73
|
"counting"
|
70
|
-
]
|
71
|
-
"unlocked_by": null,
|
72
|
-
"uuid": "0d7a23a9-31a1-4d52-afd6-887d0fc898e2"
|
74
|
+
]
|
73
75
|
},
|
74
76
|
{
|
77
|
+
"slug": "etl",
|
78
|
+
"uuid": "be29288a-fcb6-4dce-acc3-be8d86e5454e",
|
75
79
|
"core": false,
|
80
|
+
"unlocked_by": null,
|
76
81
|
"difficulty": 3,
|
77
|
-
"slug": "etl",
|
78
82
|
"topics": [
|
79
83
|
"transforming"
|
80
|
-
]
|
81
|
-
"unlocked_by": null,
|
82
|
-
"uuid": "be29288a-fcb6-4dce-acc3-be8d86e5454e"
|
84
|
+
]
|
83
85
|
},
|
84
86
|
{
|
87
|
+
"slug": "grade-school",
|
88
|
+
"uuid": "870b1229-2f9a-4e23-bb6f-c579375ed701",
|
85
89
|
"core": false,
|
90
|
+
"unlocked_by": null,
|
86
91
|
"difficulty": 3,
|
87
|
-
"slug": "grade-school",
|
88
92
|
"topics": [
|
89
93
|
"transforming"
|
90
|
-
]
|
91
|
-
"unlocked_by": null,
|
92
|
-
"uuid": "870b1229-2f9a-4e23-bb6f-c579375ed701"
|
94
|
+
]
|
93
95
|
},
|
94
96
|
{
|
97
|
+
"slug": "bob",
|
98
|
+
"uuid": "9bcdf9a0-acf3-4437-b0f5-071bf0cf5e02",
|
95
99
|
"core": false,
|
100
|
+
"unlocked_by": null,
|
96
101
|
"difficulty": 3,
|
97
|
-
"slug": "bob",
|
98
102
|
"topics": [
|
99
103
|
"strings"
|
100
|
-
]
|
101
|
-
"unlocked_by": null,
|
102
|
-
"uuid": "9bcdf9a0-acf3-4437-b0f5-071bf0cf5e02"
|
104
|
+
]
|
103
105
|
},
|
104
106
|
{
|
107
|
+
"slug": "anagram",
|
108
|
+
"uuid": "7a3e7667-c7a2-4ba2-b448-599719f78ebc",
|
105
109
|
"core": false,
|
110
|
+
"unlocked_by": null,
|
106
111
|
"difficulty": 3,
|
107
|
-
"slug": "anagram",
|
108
112
|
"topics": [
|
109
113
|
"strings"
|
110
|
-
]
|
111
|
-
"unlocked_by": null,
|
112
|
-
"uuid": "7a3e7667-c7a2-4ba2-b448-599719f78ebc"
|
114
|
+
]
|
113
115
|
},
|
114
116
|
{
|
117
|
+
"slug": "space-age",
|
118
|
+
"uuid": "0621077c-b5af-4e3b-a60c-b6aaa2565224",
|
115
119
|
"core": false,
|
120
|
+
"unlocked_by": null,
|
116
121
|
"difficulty": 3,
|
117
|
-
"slug": "space-age",
|
118
122
|
"topics": [
|
119
123
|
"arithmetic",
|
120
124
|
"floats"
|
121
|
-
]
|
122
|
-
"unlocked_by": null,
|
123
|
-
"uuid": "0621077c-b5af-4e3b-a60c-b6aaa2565224"
|
125
|
+
]
|
124
126
|
},
|
125
127
|
{
|
128
|
+
"slug": "triangle",
|
129
|
+
"uuid": "a43c28f4-8f5c-40f7-90cb-79689c810f95",
|
126
130
|
"core": false,
|
131
|
+
"unlocked_by": null,
|
127
132
|
"difficulty": 3,
|
128
|
-
"slug": "triangle",
|
129
133
|
"topics": [
|
130
134
|
"mathematics"
|
131
|
-
]
|
132
|
-
"unlocked_by": null,
|
133
|
-
"uuid": "a43c28f4-8f5c-40f7-90cb-79689c810f95"
|
135
|
+
]
|
134
136
|
},
|
135
137
|
{
|
138
|
+
"slug": "pangram",
|
139
|
+
"uuid": "ae5a4fac-84c4-4929-b37e-b0452f761bf8",
|
136
140
|
"core": false,
|
141
|
+
"unlocked_by": null,
|
137
142
|
"difficulty": 3,
|
138
|
-
"slug": "pangram",
|
139
143
|
"topics": [
|
140
144
|
"strings"
|
141
|
-
]
|
142
|
-
"unlocked_by": null,
|
143
|
-
"uuid": "ae5a4fac-84c4-4929-b37e-b0452f761bf8"
|
145
|
+
]
|
144
146
|
},
|
145
147
|
{
|
148
|
+
"slug": "acronym",
|
149
|
+
"uuid": "c4550644-e67a-4bf4-98dc-78fe45b90c53",
|
146
150
|
"core": false,
|
151
|
+
"unlocked_by": null,
|
147
152
|
"difficulty": 3,
|
148
|
-
"slug": "acronym",
|
149
153
|
"topics": [
|
150
154
|
"strings"
|
151
|
-
]
|
152
|
-
"unlocked_by": null,
|
153
|
-
"uuid": "c4550644-e67a-4bf4-98dc-78fe45b90c53"
|
155
|
+
]
|
154
156
|
},
|
155
157
|
{
|
158
|
+
"slug": "all-your-base",
|
159
|
+
"uuid": "63134efd-e383-4f00-9f97-80ae75585ca6",
|
156
160
|
"core": false,
|
161
|
+
"unlocked_by": null,
|
157
162
|
"difficulty": 4,
|
158
|
-
"slug": "all-your-base",
|
159
163
|
"topics": [
|
160
164
|
"mathematics"
|
161
|
-
]
|
162
|
-
"unlocked_by": null,
|
163
|
-
"uuid": "63134efd-e383-4f00-9f97-80ae75585ca6"
|
165
|
+
]
|
164
166
|
},
|
165
167
|
{
|
168
|
+
"slug": "bracket-push",
|
169
|
+
"uuid": "9f7b9da6-afff-4d2b-862e-df1b3a0a7cef",
|
166
170
|
"core": false,
|
171
|
+
"unlocked_by": null,
|
167
172
|
"difficulty": 4,
|
168
|
-
"slug": "bracket-push",
|
169
173
|
"topics": [
|
170
174
|
"stacks"
|
171
|
-
]
|
172
|
-
"unlocked_by": null,
|
173
|
-
"uuid": "9f7b9da6-afff-4d2b-862e-df1b3a0a7cef"
|
175
|
+
]
|
174
176
|
},
|
175
177
|
{
|
178
|
+
"slug": "luhn",
|
179
|
+
"uuid": "8d21e4be-5e9c-4c73-81c5-b4ee2517d9c7",
|
176
180
|
"core": false,
|
181
|
+
"unlocked_by": null,
|
177
182
|
"difficulty": 4,
|
178
|
-
"slug": "luhn",
|
179
183
|
"topics": [
|
180
184
|
"arithmetic"
|
181
|
-
]
|
182
|
-
"unlocked_by": null,
|
183
|
-
"uuid": "8d21e4be-5e9c-4c73-81c5-b4ee2517d9c7"
|
185
|
+
]
|
184
186
|
},
|
185
187
|
{
|
188
|
+
"slug": "binary-search",
|
189
|
+
"uuid": "de60cf70-153d-439e-96c6-8252057c5d82",
|
186
190
|
"core": false,
|
191
|
+
"unlocked_by": null,
|
187
192
|
"difficulty": 4,
|
188
|
-
"slug": "binary-search",
|
189
193
|
"topics": [
|
190
194
|
"algorithms",
|
191
195
|
"arrays",
|
192
196
|
"search"
|
193
|
-
]
|
194
|
-
"unlocked_by": null,
|
195
|
-
"uuid": "de60cf70-153d-439e-96c6-8252057c5d82"
|
197
|
+
]
|
196
198
|
},
|
197
199
|
{
|
200
|
+
"slug": "phone-number",
|
201
|
+
"uuid": "d9f93301-a8e8-4c90-bbff-e1ec65b435e5",
|
198
202
|
"core": false,
|
203
|
+
"unlocked_by": null,
|
199
204
|
"difficulty": 4,
|
200
|
-
"slug": "phone-number",
|
201
205
|
"topics": [
|
202
206
|
"strings"
|
203
|
-
]
|
204
|
-
"unlocked_by": null,
|
205
|
-
"uuid": "d9f93301-a8e8-4c90-bbff-e1ec65b435e5"
|
207
|
+
]
|
206
208
|
},
|
207
209
|
{
|
210
|
+
"slug": "word-count",
|
211
|
+
"uuid": "db90c208-b8ca-4c8c-8061-b9148c80abfe",
|
208
212
|
"core": false,
|
213
|
+
"unlocked_by": null,
|
209
214
|
"difficulty": 4,
|
210
|
-
"slug": "word-count",
|
211
215
|
"topics": [
|
212
216
|
"counting",
|
213
217
|
"strings"
|
214
|
-
]
|
215
|
-
"unlocked_by": null,
|
216
|
-
"uuid": "db90c208-b8ca-4c8c-8061-b9148c80abfe"
|
218
|
+
]
|
217
219
|
},
|
218
220
|
{
|
221
|
+
"slug": "beer-song",
|
222
|
+
"uuid": "83c807b1-0aa4-4493-8665-6581c019a6f5",
|
219
223
|
"core": false,
|
224
|
+
"unlocked_by": null,
|
220
225
|
"difficulty": 4,
|
221
|
-
"slug": "beer-song",
|
222
226
|
"topics": [
|
223
227
|
"strings"
|
224
|
-
]
|
225
|
-
"unlocked_by": null,
|
226
|
-
"uuid": "83c807b1-0aa4-4493-8665-6581c019a6f5"
|
228
|
+
]
|
227
229
|
},
|
228
230
|
{
|
231
|
+
"slug": "run-length-encoding",
|
232
|
+
"uuid": "4281cefe-e4b4-46d4-b6bb-0086448c080f",
|
229
233
|
"core": false,
|
234
|
+
"unlocked_by": null,
|
230
235
|
"difficulty": 5,
|
231
|
-
"slug": "run-length-encoding",
|
232
236
|
"topics": [
|
233
237
|
"algorithms",
|
234
238
|
"transforming"
|
235
|
-
]
|
236
|
-
"unlocked_by": null,
|
237
|
-
"uuid": "4281cefe-e4b4-46d4-b6bb-0086448c080f"
|
239
|
+
]
|
238
240
|
},
|
239
241
|
{
|
242
|
+
"slug": "roman-numerals",
|
243
|
+
"uuid": "8f7fcaad-c588-4495-9f9e-20611187a0a5",
|
240
244
|
"core": false,
|
245
|
+
"unlocked_by": null,
|
241
246
|
"difficulty": 5,
|
242
|
-
"slug": "roman-numerals",
|
243
247
|
"topics": [
|
244
248
|
"strings"
|
245
|
-
]
|
246
|
-
"unlocked_by": null,
|
247
|
-
"uuid": "8f7fcaad-c588-4495-9f9e-20611187a0a5"
|
249
|
+
]
|
248
250
|
},
|
249
251
|
{
|
252
|
+
"slug": "prime-factors",
|
253
|
+
"uuid": "67d4fa19-c387-47c4-9262-a6e63d5c0a19",
|
250
254
|
"core": false,
|
255
|
+
"unlocked_by": null,
|
251
256
|
"difficulty": 5,
|
252
|
-
"slug": "prime-factors",
|
253
257
|
"topics": [
|
254
258
|
"algorithms",
|
255
259
|
"mathematics"
|
256
|
-
]
|
257
|
-
"unlocked_by": null,
|
258
|
-
"uuid": "67d4fa19-c387-47c4-9262-a6e63d5c0a19"
|
260
|
+
]
|
259
261
|
},
|
260
262
|
{
|
263
|
+
"slug": "say",
|
264
|
+
"uuid": "2efe0bf3-cb17-4135-ae95-d7b5b7b61f7f",
|
261
265
|
"core": false,
|
266
|
+
"unlocked_by": null,
|
262
267
|
"difficulty": 5,
|
263
|
-
"slug": "say",
|
264
268
|
"topics": [
|
265
269
|
"strings"
|
266
|
-
]
|
267
|
-
"unlocked_by": null,
|
268
|
-
"uuid": "2efe0bf3-cb17-4135-ae95-d7b5b7b61f7f"
|
270
|
+
]
|
269
271
|
},
|
270
272
|
{
|
273
|
+
"slug": "palindrome-products",
|
274
|
+
"uuid": "8398d903-8208-4807-b735-b4cbf6976f29",
|
271
275
|
"core": false,
|
276
|
+
"unlocked_by": null,
|
272
277
|
"difficulty": 6,
|
273
|
-
"slug": "palindrome-products",
|
274
278
|
"topics": [
|
275
279
|
"arithmetic"
|
276
|
-
]
|
277
|
-
"unlocked_by": null,
|
278
|
-
"uuid": "8398d903-8208-4807-b735-b4cbf6976f29"
|
280
|
+
]
|
279
281
|
},
|
280
282
|
{
|
283
|
+
"slug": "robot-name",
|
284
|
+
"uuid": "51f4aff9-6666-4097-a37e-e2e51fd8f286",
|
281
285
|
"core": false,
|
286
|
+
"unlocked_by": null,
|
282
287
|
"difficulty": 6,
|
283
|
-
"slug": "robot-name",
|
284
288
|
"topics": [
|
285
289
|
"mutable_state",
|
286
290
|
"randomness"
|
287
|
-
]
|
288
|
-
"unlocked_by": null,
|
289
|
-
"uuid": "51f4aff9-6666-4097-a37e-e2e51fd8f286"
|
291
|
+
]
|
290
292
|
},
|
291
293
|
{
|
294
|
+
"slug": "change",
|
295
|
+
"uuid": "202e8a9a-7a5e-486f-883b-56be298ed665",
|
292
296
|
"core": false,
|
297
|
+
"unlocked_by": null,
|
293
298
|
"difficulty": 6,
|
294
|
-
"slug": "change",
|
295
299
|
"topics": [
|
296
300
|
"algorithms",
|
297
301
|
"dynamic_programming"
|
298
|
-
]
|
299
|
-
"unlocked_by": null,
|
300
|
-
"uuid": "202e8a9a-7a5e-486f-883b-56be298ed665"
|
302
|
+
]
|
301
303
|
},
|
302
304
|
{
|
305
|
+
"slug": "rectangles",
|
306
|
+
"uuid": "1b491d7e-40db-4782-a8bb-7cb3746588f5",
|
303
307
|
"core": false,
|
308
|
+
"unlocked_by": null,
|
304
309
|
"difficulty": 6,
|
305
|
-
"slug": "rectangles",
|
306
310
|
"topics": [
|
307
|
-
"search"
|
308
|
-
]
|
309
|
-
"unlocked_by": null,
|
310
|
-
"uuid": "1b491d7e-40db-4782-a8bb-7cb3746588f5"
|
311
|
+
"search"
|
312
|
+
]
|
311
313
|
},
|
312
314
|
{
|
315
|
+
"slug": "list-ops",
|
316
|
+
"uuid": "ffde2a94-722a-4193-86b7-d2d591a7223d",
|
313
317
|
"core": false,
|
318
|
+
"unlocked_by": null,
|
314
319
|
"difficulty": 6,
|
315
|
-
"slug": "list-ops",
|
316
320
|
"topics": [
|
317
321
|
"functional_programming"
|
318
|
-
]
|
319
|
-
"unlocked_by": null,
|
320
|
-
"uuid": "ffde2a94-722a-4193-86b7-d2d591a7223d"
|
322
|
+
]
|
321
323
|
},
|
322
324
|
{
|
325
|
+
"slug": "atbash-cipher",
|
326
|
+
"uuid": "020aa7d8-9b4b-4348-9fea-9fbaece3ac66",
|
323
327
|
"core": false,
|
328
|
+
"unlocked_by": null,
|
324
329
|
"difficulty": 7,
|
325
|
-
"slug": "atbash-cipher",
|
326
330
|
"topics": [
|
327
331
|
"transforming"
|
328
|
-
]
|
329
|
-
"unlocked_by": null,
|
330
|
-
"uuid": "020aa7d8-9b4b-4348-9fea-9fbaece3ac66"
|
332
|
+
]
|
331
333
|
},
|
332
334
|
{
|
335
|
+
"slug": "minesweeper",
|
336
|
+
"uuid": "a0468f9b-55d1-45dd-9a2f-476aaf4d6c2e",
|
333
337
|
"core": false,
|
338
|
+
"unlocked_by": null,
|
334
339
|
"difficulty": 7,
|
335
|
-
"slug": "minesweeper",
|
336
340
|
"topics": [
|
337
341
|
"arrays",
|
338
342
|
"transforming"
|
339
|
-
]
|
340
|
-
"unlocked_by": null,
|
341
|
-
"uuid": "a0468f9b-55d1-45dd-9a2f-476aaf4d6c2e"
|
343
|
+
]
|
342
344
|
},
|
343
345
|
{
|
346
|
+
"slug": "bowling",
|
347
|
+
"uuid": "638b24d2-5288-4fc2-a70e-a178974f030e",
|
344
348
|
"core": false,
|
349
|
+
"unlocked_by": null,
|
345
350
|
"difficulty": 7,
|
346
|
-
"slug": "bowling",
|
347
351
|
"topics": [
|
348
352
|
"algorithms"
|
349
|
-
]
|
350
|
-
"unlocked_by": null,
|
351
|
-
"uuid": "638b24d2-5288-4fc2-a70e-a178974f030e"
|
353
|
+
]
|
352
354
|
},
|
353
355
|
{
|
356
|
+
"slug": "dominoes",
|
357
|
+
"uuid": "791c17d4-09b5-4e11-a433-b45f0c1c752e",
|
354
358
|
"core": false,
|
359
|
+
"unlocked_by": null,
|
355
360
|
"difficulty": 7,
|
356
|
-
"slug": "dominoes",
|
357
361
|
"topics": [
|
358
362
|
"algorithms",
|
359
363
|
"search"
|
360
|
-
]
|
361
|
-
"unlocked_by": null,
|
362
|
-
"uuid": "791c17d4-09b5-4e11-a433-b45f0c1c752e"
|
364
|
+
]
|
363
365
|
},
|
364
366
|
{
|
367
|
+
"slug": "custom-set",
|
368
|
+
"uuid": "0bc0bc18-c207-43d0-8b39-8e0e2e87aa72",
|
365
369
|
"core": false,
|
370
|
+
"unlocked_by": null,
|
366
371
|
"difficulty": 8,
|
367
|
-
"slug": "custom-set",
|
368
372
|
"topics": [
|
369
373
|
"functional_programming"
|
370
|
-
]
|
371
|
-
"unlocked_by": null,
|
372
|
-
"uuid": "0bc0bc18-c207-43d0-8b39-8e0e2e87aa72"
|
374
|
+
]
|
373
375
|
},
|
374
376
|
{
|
377
|
+
"slug": "connect",
|
378
|
+
"uuid": "6a1e1746-c23c-4225-ac8f-f1b31814d6c2",
|
375
379
|
"core": false,
|
380
|
+
"unlocked_by": null,
|
376
381
|
"difficulty": 8,
|
377
|
-
"slug": "connect",
|
378
382
|
"topics": [
|
379
383
|
"search"
|
380
|
-
]
|
381
|
-
"unlocked_by": null,
|
382
|
-
"uuid": "6a1e1746-c23c-4225-ac8f-f1b31814d6c2"
|
384
|
+
]
|
383
385
|
},
|
384
386
|
{
|
387
|
+
"slug": "meetup",
|
388
|
+
"uuid": "cd37ff33-d2c3-4420-9ad0-0121e2a04b61",
|
385
389
|
"core": false,
|
390
|
+
"unlocked_by": null,
|
386
391
|
"difficulty": 9,
|
387
|
-
"slug": "meetup",
|
388
392
|
"topics": [
|
389
393
|
"dates"
|
390
|
-
]
|
391
|
-
"unlocked_by": null,
|
392
|
-
"uuid": "cd37ff33-d2c3-4420-9ad0-0121e2a04b61"
|
394
|
+
]
|
393
395
|
},
|
394
396
|
{
|
397
|
+
"slug": "forth",
|
398
|
+
"uuid": "dc870c73-8a38-4b93-83b6-1144538f65bf",
|
395
399
|
"core": false,
|
400
|
+
"unlocked_by": null,
|
396
401
|
"difficulty": 9,
|
397
|
-
"slug": "forth",
|
398
402
|
"topics": [
|
399
403
|
"interpreters"
|
400
|
-
]
|
401
|
-
"unlocked_by": null,
|
402
|
-
"uuid": "dc870c73-8a38-4b93-83b6-1144538f65bf"
|
404
|
+
]
|
403
405
|
},
|
404
406
|
{
|
407
|
+
"slug": "zipper",
|
408
|
+
"uuid": "f75ff9fa-59cd-4b23-a2e1-13494d206e92",
|
405
409
|
"core": false,
|
410
|
+
"unlocked_by": null,
|
406
411
|
"difficulty": 10,
|
407
|
-
"slug": "zipper",
|
408
412
|
"topics": [
|
409
413
|
"functional_programming"
|
410
|
-
]
|
411
|
-
"unlocked_by": null,
|
412
|
-
"uuid": "f75ff9fa-59cd-4b23-a2e1-13494d206e92"
|
414
|
+
]
|
413
415
|
},
|
414
416
|
{
|
417
|
+
"slug": "react",
|
418
|
+
"uuid": "6b2139a0-953d-414a-8d40-641b431318b1",
|
415
419
|
"core": false,
|
420
|
+
"unlocked_by": null,
|
416
421
|
"difficulty": 10,
|
417
|
-
"slug": "react",
|
418
422
|
"topics": [
|
419
423
|
"reactive_programming"
|
420
|
-
]
|
421
|
-
"unlocked_by": null,
|
422
|
-
"uuid": "6b2139a0-953d-414a-8d40-641b431318b1"
|
424
|
+
]
|
423
425
|
},
|
424
426
|
{
|
427
|
+
"slug": "hangman",
|
428
|
+
"uuid": "4a17796e-3faf-48e4-8db4-e39374fee716",
|
425
429
|
"core": false,
|
430
|
+
"unlocked_by": null,
|
426
431
|
"difficulty": 10,
|
427
|
-
"slug": "hangman",
|
428
432
|
"topics": [
|
429
433
|
"reactive_programming"
|
430
|
-
]
|
431
|
-
"unlocked_by": null,
|
432
|
-
"uuid": "4a17796e-3faf-48e4-8db4-e39374fee716"
|
434
|
+
]
|
433
435
|
},
|
434
436
|
{
|
435
|
-
"deprecated": true,
|
436
437
|
"slug": "hexadecimal",
|
437
|
-
"uuid": "d0c937ef-3c7b-40be-891d-3024129b443f"
|
438
|
+
"uuid": "d0c937ef-3c7b-40be-891d-3024129b443f",
|
439
|
+
"core": false,
|
440
|
+
"unlocked_by": null,
|
441
|
+
"difficulty": 0,
|
442
|
+
"topics": null,
|
443
|
+
"deprecated": true
|
438
444
|
}
|
439
|
-
]
|
440
|
-
|
441
|
-
"language": "OCaml"
|
442
|
-
}
|
445
|
+
]
|
446
|
+
}
|
data/tracks/ocaml/docs/ABOUT.md
CHANGED
@@ -1,8 +1,4 @@
|
|
1
|
-
[OCaml](https://ocaml.org/) is an industrial strength programming language
|
2
|
-
|
3
|
-
|
4
|
-
[
|
5
|
-
compiler to catch some mistakes early on saving the developer a huge amount of
|
6
|
-
frustration. [Type inference](https://en.wikipedia.org/wiki/Type_inference)
|
7
|
-
relieves the developer from the tedium of providing all the type signatures by
|
8
|
-
themselves.
|
1
|
+
[OCaml](https://ocaml.org/) is an industrial strength programming language supporting functional, imperative and object-oriented styles.
|
2
|
+
It is used as a "teaching language" by a lot of institutions.
|
3
|
+
OCaml has a rich and powerful [type system](https://en.wikipedia.org/wiki/Type_system) that allows the compiler to catch some mistakes early on saving the developer a huge amount of frustration.
|
4
|
+
[Type inference](https://en.wikipedia.org/wiki/Type_inference) relieves the developer from the tedium of providing all the type signatures by themselves.
|