├── .gitignore ├── LICENSE ├── README.md ├── haskell-book-solutions.cabal ├── src ├── Utils.hs ├── ch10 │ ├── db.hs │ ├── foldReview.hs │ ├── folds.hs │ ├── generalReview.hs │ └── scan.hs ├── ch11 │ ├── as.hs │ ├── binaryTree.hs │ ├── cardinality.hs │ ├── deconstruct.hs │ ├── huttonsRazor.hs │ ├── newType.hs │ ├── normalForm.hs │ ├── phone.hs │ ├── programmer.hs │ ├── uniqueInhabitants.hs │ ├── vehicles.hs │ └── vigenere.hs ├── ch12 │ ├── anamorphs.hs │ ├── binaryTree.hs │ ├── eitherLib.hs │ ├── eitherPerson.hs │ ├── exercises.hs │ ├── maybeLib.hs │ └── natural.hs ├── ch13 │ ├── palindrome.hs │ └── showPerson.hs ├── ch14 │ ├── Abitrary.hs │ ├── Adition.hs │ ├── CaesarSpec.hs │ ├── Exercises.hs │ ├── Generators.hs │ ├── Idempotence.hs │ ├── VignenereSpec.hs │ └── WordNumbers.hs ├── ch15 │ ├── BadMonoid.hs │ ├── MadLibs.hs │ ├── Monoid.hs │ ├── MonoidLaws.hs │ ├── Optional.hs │ └── Semigroup.hs ├── ch16 │ ├── Exercises.hs │ ├── FunctorLaws.hs │ ├── Instances.hs │ ├── Lifting.hs │ ├── Possibly.hs │ └── Sum.hs ├── ch17 │ ├── BadMonoidCheck.hs │ ├── Constant.hs │ ├── Cow.hs │ ├── Exercises.hs │ ├── Identity.hs │ ├── List.hs │ ├── Lookups.hs │ ├── MakePerson.hs │ └── Validation.hs ├── ch18 │ ├── BadMonad.hs │ ├── Exercises.hs │ ├── Exercises2.hs │ ├── FmapBind.hs │ └── SoftwareShop.hs ├── ch20 │ ├── Exercises.hs │ ├── IdentityFold.hs │ └── Library.hs ├── ch21 │ ├── Exercises.hs │ ├── HttpStuff.hs │ └── Pipeline.hs ├── ch22 │ ├── BipBoop.hs │ ├── Exercises.hs │ ├── Person.hs │ ├── ShawtyReader.hs │ └── ShortExercise.hs ├── ch23 │ ├── Exercises.hs │ ├── FizzBuzz.hs │ ├── Random.hs │ ├── Random2.hs │ └── State.hs ├── ch24 │ ├── CanadaPhone.hs │ ├── Digit.hs │ ├── Fractions.hs │ ├── IP4Address.hs │ ├── IP6Address.hs │ ├── Logfile.hs │ ├── Practice.hs │ └── Semver.hs ├── ch25 │ ├── Compose.hs │ └── IdentityT.hs ├── ch26 │ ├── EitherT.hs │ ├── Exercises.hs │ ├── HitCounter.hs │ ├── MonadIO.hs │ ├── Morra1.hs │ ├── Morra2.hs │ ├── ReaderT.hs │ ├── Scotty.hs │ ├── StateT.hs │ └── Wrapper.hs ├── ch27 │ └── Exercises.hs ├── ch28 │ ├── DifferenceList.hs │ └── MapSet.hs ├── ch29 │ ├── INIDir.hs │ ├── Vigenere.hs │ └── logs │ │ ├── file.txt │ │ ├── log1.ini │ │ └── log2.ini ├── ch30 │ ├── Async.hs │ ├── OurExceptions.hs │ ├── StoppingTheParty.hs │ ├── TryExcept.hs │ ├── WhySomeException.hs │ └── WritePls.hs ├── ch6 │ ├── equalityData.hs │ ├── excercises.hs │ ├── identity.hs │ └── week.hs ├── ch7 │ ├── compose.hs │ ├── employees.hs │ ├── exercises.hs │ ├── guards.hs │ ├── penguins.hs │ ├── tupleFunctions.hs │ └── users.hs ├── ch8 │ ├── numbersToWords.hs │ └── recur.hs └── ch9 │ ├── Splitter.hs │ ├── caesar.hs │ ├── excercises.hs │ ├── filter.hs │ ├── listComprehensions.hs │ ├── map.hs │ ├── reimplement.hs │ ├── safeOps.hs │ └── zip.hs └── stack.yaml /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/README.md -------------------------------------------------------------------------------- /haskell-book-solutions.cabal: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/haskell-book-solutions.cabal -------------------------------------------------------------------------------- /src/Utils.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/Utils.hs -------------------------------------------------------------------------------- /src/ch10/db.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch10/db.hs -------------------------------------------------------------------------------- /src/ch10/foldReview.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch10/foldReview.hs -------------------------------------------------------------------------------- /src/ch10/folds.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch10/folds.hs -------------------------------------------------------------------------------- /src/ch10/generalReview.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch10/generalReview.hs -------------------------------------------------------------------------------- /src/ch10/scan.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch10/scan.hs -------------------------------------------------------------------------------- /src/ch11/as.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch11/as.hs -------------------------------------------------------------------------------- /src/ch11/binaryTree.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch11/binaryTree.hs -------------------------------------------------------------------------------- /src/ch11/cardinality.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch11/cardinality.hs -------------------------------------------------------------------------------- /src/ch11/deconstruct.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch11/deconstruct.hs -------------------------------------------------------------------------------- /src/ch11/huttonsRazor.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch11/huttonsRazor.hs -------------------------------------------------------------------------------- /src/ch11/newType.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch11/newType.hs -------------------------------------------------------------------------------- /src/ch11/normalForm.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch11/normalForm.hs -------------------------------------------------------------------------------- /src/ch11/phone.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch11/phone.hs -------------------------------------------------------------------------------- /src/ch11/programmer.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch11/programmer.hs -------------------------------------------------------------------------------- /src/ch11/uniqueInhabitants.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch11/uniqueInhabitants.hs -------------------------------------------------------------------------------- /src/ch11/vehicles.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch11/vehicles.hs -------------------------------------------------------------------------------- /src/ch11/vigenere.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch11/vigenere.hs -------------------------------------------------------------------------------- /src/ch12/anamorphs.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch12/anamorphs.hs -------------------------------------------------------------------------------- /src/ch12/binaryTree.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch12/binaryTree.hs -------------------------------------------------------------------------------- /src/ch12/eitherLib.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch12/eitherLib.hs -------------------------------------------------------------------------------- /src/ch12/eitherPerson.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch12/eitherPerson.hs -------------------------------------------------------------------------------- /src/ch12/exercises.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch12/exercises.hs -------------------------------------------------------------------------------- /src/ch12/maybeLib.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch12/maybeLib.hs -------------------------------------------------------------------------------- /src/ch12/natural.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch12/natural.hs -------------------------------------------------------------------------------- /src/ch13/palindrome.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch13/palindrome.hs -------------------------------------------------------------------------------- /src/ch13/showPerson.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch13/showPerson.hs -------------------------------------------------------------------------------- /src/ch14/Abitrary.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch14/Abitrary.hs -------------------------------------------------------------------------------- /src/ch14/Adition.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch14/Adition.hs -------------------------------------------------------------------------------- /src/ch14/CaesarSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch14/CaesarSpec.hs -------------------------------------------------------------------------------- /src/ch14/Exercises.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch14/Exercises.hs -------------------------------------------------------------------------------- /src/ch14/Generators.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch14/Generators.hs -------------------------------------------------------------------------------- /src/ch14/Idempotence.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch14/Idempotence.hs -------------------------------------------------------------------------------- /src/ch14/VignenereSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch14/VignenereSpec.hs -------------------------------------------------------------------------------- /src/ch14/WordNumbers.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch14/WordNumbers.hs -------------------------------------------------------------------------------- /src/ch15/BadMonoid.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch15/BadMonoid.hs -------------------------------------------------------------------------------- /src/ch15/MadLibs.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch15/MadLibs.hs -------------------------------------------------------------------------------- /src/ch15/Monoid.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch15/Monoid.hs -------------------------------------------------------------------------------- /src/ch15/MonoidLaws.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch15/MonoidLaws.hs -------------------------------------------------------------------------------- /src/ch15/Optional.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch15/Optional.hs -------------------------------------------------------------------------------- /src/ch15/Semigroup.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch15/Semigroup.hs -------------------------------------------------------------------------------- /src/ch16/Exercises.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch16/Exercises.hs -------------------------------------------------------------------------------- /src/ch16/FunctorLaws.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch16/FunctorLaws.hs -------------------------------------------------------------------------------- /src/ch16/Instances.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch16/Instances.hs -------------------------------------------------------------------------------- /src/ch16/Lifting.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch16/Lifting.hs -------------------------------------------------------------------------------- /src/ch16/Possibly.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch16/Possibly.hs -------------------------------------------------------------------------------- /src/ch16/Sum.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch16/Sum.hs -------------------------------------------------------------------------------- /src/ch17/BadMonoidCheck.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch17/BadMonoidCheck.hs -------------------------------------------------------------------------------- /src/ch17/Constant.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch17/Constant.hs -------------------------------------------------------------------------------- /src/ch17/Cow.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch17/Cow.hs -------------------------------------------------------------------------------- /src/ch17/Exercises.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch17/Exercises.hs -------------------------------------------------------------------------------- /src/ch17/Identity.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch17/Identity.hs -------------------------------------------------------------------------------- /src/ch17/List.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch17/List.hs -------------------------------------------------------------------------------- /src/ch17/Lookups.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch17/Lookups.hs -------------------------------------------------------------------------------- /src/ch17/MakePerson.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch17/MakePerson.hs -------------------------------------------------------------------------------- /src/ch17/Validation.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch17/Validation.hs -------------------------------------------------------------------------------- /src/ch18/BadMonad.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch18/BadMonad.hs -------------------------------------------------------------------------------- /src/ch18/Exercises.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch18/Exercises.hs -------------------------------------------------------------------------------- /src/ch18/Exercises2.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch18/Exercises2.hs -------------------------------------------------------------------------------- /src/ch18/FmapBind.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch18/FmapBind.hs -------------------------------------------------------------------------------- /src/ch18/SoftwareShop.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch18/SoftwareShop.hs -------------------------------------------------------------------------------- /src/ch20/Exercises.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch20/Exercises.hs -------------------------------------------------------------------------------- /src/ch20/IdentityFold.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch20/IdentityFold.hs -------------------------------------------------------------------------------- /src/ch20/Library.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch20/Library.hs -------------------------------------------------------------------------------- /src/ch21/Exercises.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch21/Exercises.hs -------------------------------------------------------------------------------- /src/ch21/HttpStuff.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch21/HttpStuff.hs -------------------------------------------------------------------------------- /src/ch21/Pipeline.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch21/Pipeline.hs -------------------------------------------------------------------------------- /src/ch22/BipBoop.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch22/BipBoop.hs -------------------------------------------------------------------------------- /src/ch22/Exercises.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch22/Exercises.hs -------------------------------------------------------------------------------- /src/ch22/Person.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch22/Person.hs -------------------------------------------------------------------------------- /src/ch22/ShawtyReader.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch22/ShawtyReader.hs -------------------------------------------------------------------------------- /src/ch22/ShortExercise.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch22/ShortExercise.hs -------------------------------------------------------------------------------- /src/ch23/Exercises.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch23/Exercises.hs -------------------------------------------------------------------------------- /src/ch23/FizzBuzz.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch23/FizzBuzz.hs -------------------------------------------------------------------------------- /src/ch23/Random.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch23/Random.hs -------------------------------------------------------------------------------- /src/ch23/Random2.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch23/Random2.hs -------------------------------------------------------------------------------- /src/ch23/State.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch23/State.hs -------------------------------------------------------------------------------- /src/ch24/CanadaPhone.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch24/CanadaPhone.hs -------------------------------------------------------------------------------- /src/ch24/Digit.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch24/Digit.hs -------------------------------------------------------------------------------- /src/ch24/Fractions.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch24/Fractions.hs -------------------------------------------------------------------------------- /src/ch24/IP4Address.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch24/IP4Address.hs -------------------------------------------------------------------------------- /src/ch24/IP6Address.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch24/IP6Address.hs -------------------------------------------------------------------------------- /src/ch24/Logfile.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch24/Logfile.hs -------------------------------------------------------------------------------- /src/ch24/Practice.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch24/Practice.hs -------------------------------------------------------------------------------- /src/ch24/Semver.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch24/Semver.hs -------------------------------------------------------------------------------- /src/ch25/Compose.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch25/Compose.hs -------------------------------------------------------------------------------- /src/ch25/IdentityT.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch25/IdentityT.hs -------------------------------------------------------------------------------- /src/ch26/EitherT.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch26/EitherT.hs -------------------------------------------------------------------------------- /src/ch26/Exercises.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch26/Exercises.hs -------------------------------------------------------------------------------- /src/ch26/HitCounter.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch26/HitCounter.hs -------------------------------------------------------------------------------- /src/ch26/MonadIO.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch26/MonadIO.hs -------------------------------------------------------------------------------- /src/ch26/Morra1.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch26/Morra1.hs -------------------------------------------------------------------------------- /src/ch26/Morra2.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch26/Morra2.hs -------------------------------------------------------------------------------- /src/ch26/ReaderT.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch26/ReaderT.hs -------------------------------------------------------------------------------- /src/ch26/Scotty.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch26/Scotty.hs -------------------------------------------------------------------------------- /src/ch26/StateT.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch26/StateT.hs -------------------------------------------------------------------------------- /src/ch26/Wrapper.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch26/Wrapper.hs -------------------------------------------------------------------------------- /src/ch27/Exercises.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch27/Exercises.hs -------------------------------------------------------------------------------- /src/ch28/DifferenceList.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch28/DifferenceList.hs -------------------------------------------------------------------------------- /src/ch28/MapSet.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch28/MapSet.hs -------------------------------------------------------------------------------- /src/ch29/INIDir.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch29/INIDir.hs -------------------------------------------------------------------------------- /src/ch29/Vigenere.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch29/Vigenere.hs -------------------------------------------------------------------------------- /src/ch29/logs/file.txt: -------------------------------------------------------------------------------- 1 | not a log file 2 | -------------------------------------------------------------------------------- /src/ch29/logs/log1.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch29/logs/log1.ini -------------------------------------------------------------------------------- /src/ch29/logs/log2.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch29/logs/log2.ini -------------------------------------------------------------------------------- /src/ch30/Async.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch30/Async.hs -------------------------------------------------------------------------------- /src/ch30/OurExceptions.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch30/OurExceptions.hs -------------------------------------------------------------------------------- /src/ch30/StoppingTheParty.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch30/StoppingTheParty.hs -------------------------------------------------------------------------------- /src/ch30/TryExcept.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch30/TryExcept.hs -------------------------------------------------------------------------------- /src/ch30/WhySomeException.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch30/WhySomeException.hs -------------------------------------------------------------------------------- /src/ch30/WritePls.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch30/WritePls.hs -------------------------------------------------------------------------------- /src/ch6/equalityData.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch6/equalityData.hs -------------------------------------------------------------------------------- /src/ch6/excercises.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch6/excercises.hs -------------------------------------------------------------------------------- /src/ch6/identity.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch6/identity.hs -------------------------------------------------------------------------------- /src/ch6/week.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch6/week.hs -------------------------------------------------------------------------------- /src/ch7/compose.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch7/compose.hs -------------------------------------------------------------------------------- /src/ch7/employees.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch7/employees.hs -------------------------------------------------------------------------------- /src/ch7/exercises.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch7/exercises.hs -------------------------------------------------------------------------------- /src/ch7/guards.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch7/guards.hs -------------------------------------------------------------------------------- /src/ch7/penguins.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch7/penguins.hs -------------------------------------------------------------------------------- /src/ch7/tupleFunctions.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch7/tupleFunctions.hs -------------------------------------------------------------------------------- /src/ch7/users.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch7/users.hs -------------------------------------------------------------------------------- /src/ch8/numbersToWords.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch8/numbersToWords.hs -------------------------------------------------------------------------------- /src/ch8/recur.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch8/recur.hs -------------------------------------------------------------------------------- /src/ch9/Splitter.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch9/Splitter.hs -------------------------------------------------------------------------------- /src/ch9/caesar.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch9/caesar.hs -------------------------------------------------------------------------------- /src/ch9/excercises.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch9/excercises.hs -------------------------------------------------------------------------------- /src/ch9/filter.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch9/filter.hs -------------------------------------------------------------------------------- /src/ch9/listComprehensions.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch9/listComprehensions.hs -------------------------------------------------------------------------------- /src/ch9/map.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch9/map.hs -------------------------------------------------------------------------------- /src/ch9/reimplement.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch9/reimplement.hs -------------------------------------------------------------------------------- /src/ch9/safeOps.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch9/safeOps.hs -------------------------------------------------------------------------------- /src/ch9/zip.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/src/ch9/zip.hs -------------------------------------------------------------------------------- /stack.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewMacmurray/haskell-book-solutions/HEAD/stack.yaml --------------------------------------------------------------------------------