├── .github └── workflows │ └── project-build.yml ├── .gitignore ├── .hindent.yaml ├── .hlint.yaml ├── .travis.yml ├── LICENSE ├── Makefile ├── README.md ├── Setup.hs ├── app └── Main.hs ├── package.yaml ├── stack.yaml ├── stack.yaml.lock └── test ├── Ex01_ListsExtractingSpec.hs ├── Ex02_ListsComprehensionsSpec.hs ├── Ex03_ListsRangesSpec.hs ├── Ex04_ListsTuplesSpec.hs ├── Ex05_TypesIntroSpec.hs ├── Ex06_FlowPatternMatchingSpec.hs ├── Ex07_FlowGuardsSpec.hs ├── Ex08_FlowWhereSpec.hs ├── Ex09_FlowLetItBeSpec.hs ├── Ex10_FlowCaseExpressionSpec.hs ├── Ex11_FlowRecursionsSpec.hs ├── Ex12_HofsIntroSpec.hs ├── Ex13_HofsLambdasSpec.hs ├── Ex14_HofsFoldsSpec.hs ├── Ex15_HofsScansSpec.hs ├── Ex16_HofsFunctionApplicationSpec.hs ├── Ex17_HofsFunctionCompositionSpec.hs ├── Ex18_ModulesIntroSpec.hs ├── Ex19_ModulesListFunctionsSpec.hs ├── Ex20_ModulesCharFunctionsSpec.hs ├── Ex21_ModulesMapFunctionalitySpec.hs ├── Ex22_ModulesMapFunctionsSpec.hs ├── Ex23_ModulesSetFunctionsSpec.hs ├── Ex24_TypesMakingTypesSpec.hs ├── Ex25_TypesRecordSpec.hs ├── Ex26_TypesTypeParametersSpec.hs ├── Ex27_TypesDerivedInstancesSpec.hs ├── Ex28_TypesMoreDerivedInstancesSpec.hs ├── Ex29_TypesAliasingSpec.hs ├── Ex30_TypesRecursiveDataStructuresSpec.hs ├── Ex31_TypesMoreTypeClassesSpec.hs ├── Ex32_TypesYesNoTypeClassSpec.hs ├── Ex33_TypesSequenceSpec.hs ├── Ex34_FaFunctorTypeClassSpec.hs ├── Ex35_ExercisesLondonToHeathrowSpec.hs ├── Ex36_ExercisesRPNCalculatorSpec.hs ├── Ex37_ExercisesPhoneNumberCleanerSpec.hs ├── Ex38_FaFmapFunctionCompositionSpec.hs ├── Ex39_FaFmapReplicateSpec.hs ├── Ex40_FaFunctorLawsSpec.hs ├── Ex41_FaApplicativesSpec.hs ├── Ex42_FaMoreApplicativesSpec.hs ├── Ex43_FaNewTypeSpec.hs ├── Ex44_FaMonoidsSpec.hs ├── Ex45_FaOrderingMonoidsSpec.hs ├── Ex46_FaMaybeMonoidsSpec.hs ├── Ex47_FaNewTypeMonoidSpec.hs ├── Ex48_FaFoldableSpec.hs ├── Ex49_MonadsCalculateBirthYearSpec.hs ├── Ex50_MonadsCalculateAgeFromDatesSpec.hs ├── Ex51_MonadsIntroSpec.hs ├── Ex52_MonadsBirdLandingSpec.hs ├── Ex53_MonadsDoNotationSpec.hs ├── Ex54_MonadsBirdLandingWithDoNotationSpec.hs ├── Ex55_MonadsListMonadSpec.hs ├── Ex56_MonadsMonadPlusSpec.hs ├── Ex57_ExercisesKnightsQuestSpec.hs ├── Ex58_MonadsMonadLawsSpec.hs ├── Ex59_MonadsInstancesSpec.hs ├── Ex60_MonadsIntroToWriteMonadSpec.hs ├── Ex61_MonadsWriterTypeSpec.hs ├── Ex62_MonadsLoggingWithWriterSpec.hs ├── Ex63_MonadsReaderSpec.hs ├── Ex64_MonadsReaderExampleSpec.hs ├── Ex65_MonadsStatefulComputationsSpec.hs ├── Ex66_ExercisesBalancedBinaryTreeSpec.hs ├── Solutions ├── Ex01_ListsExtractingSpec.hs ├── Ex02_ListsComprehensionsSpec.hs ├── Ex03_ListsRangesSpec.hs ├── Ex04_ListsTuplesSpec.hs ├── Ex05_TypesIntroSpec.hs ├── Ex06_FlowPatternMatchingSpec.hs ├── Ex07_FlowGuardsSpec.hs ├── Ex08_FlowWhereSpec.hs ├── Ex09_FlowLetItBeSpec.hs ├── Ex10_FlowCaseExpressionSpec.hs ├── Ex11_FlowRecursionsSpec.hs ├── Ex12_HofsIntroSpec.hs ├── Ex13_HofsLambdasSpec.hs ├── Ex14_HofsFoldsSpec.hs ├── Ex15_HofsScansSpec.hs ├── Ex16_HofsFunctionApplicationSpec.hs ├── Ex17_HofsFunctionCompositionSpec.hs ├── Ex18_ModulesIntroSpec.hs ├── Ex19_ModulesListFunctionsSpec.hs ├── Ex20_ModulesCharFunctionsSpec.hs ├── Ex21_ModulesMapFunctionalitySpec.hs ├── Ex22_ModulesMapFunctionsSpec.hs ├── Ex23_ModulesSetFunctionsSpec.hs ├── Ex24_TypesMakingTypesSpec.hs ├── Ex25_TypesRecordSpec.hs ├── Ex26_TypesTypeParametersSpec.hs ├── Ex27_TypesDerivedInstancesSpec.hs ├── Ex28_TypesMoreDerivedInstancesSpec.hs ├── Ex29_TypesAliasingSpec.hs ├── Ex30_TypesRecursiveDataStructuresSpec.hs ├── Ex31_TypesMoreTypeClassesSpec.hs ├── Ex32_TypesYesNoTypeClassSpec.hs ├── Ex33_TypesSequenceSpec.hs ├── Ex34_FaFunctorTypeClassSpec.hs ├── Ex35_ExercisesLondonToHeathrowSpec.hs ├── Ex36_ExercisesRPNCalculatorSpec.hs ├── Ex37_ExercisesPhoneNumberCleanerSpec.hs ├── Ex38_FaFmapFunctionCompositionSpec.hs ├── Ex39_FaFmapReplicateSpec.hs ├── Ex40_FaFunctorLawsSpec.hs ├── Ex41_FaApplicativesSpec.hs ├── Ex42_FaMoreApplicativesSpec.hs ├── Ex43_FaNewTypeSpec.hs ├── Ex44_FaMonoidsSpec.hs ├── Ex45_FaOrderingMonoidsSpec.hs ├── Ex46_FaMaybeMonoidsSpec.hs ├── Ex47_FaNewTypeMonoidSpec.hs ├── Ex48_FaFoldableSpec.hs ├── Ex49_MonadsCalculateBirthYearSpec.hs ├── Ex50_MonadsCalculateAgeFromDatesSpec.hs ├── Ex51_MonadsIntroSpec.hs ├── Ex52_MonadsBirdLandingSpec.hs ├── Ex53_MonadsDoNotationSpec.hs ├── Ex54_MonadsBirdLandingWithDoNotationSpec.hs ├── Ex55_MonadsListMonadSpec.hs ├── Ex56_MonadsMonadPlusSpec.hs ├── Ex57_ExercisesKnightsQuestSpec.hs ├── Ex58_MonadsMonadLawsSpec.hs ├── Ex59_MonadsInstancesSpec.hs ├── Ex60_MonadsIntroToWriteMonadSpec.hs ├── Ex61_MonadsWriterTypeSpec.hs ├── Ex62_MonadsLoggingWithWriterSpec.hs ├── Ex63_MonadsReaderSpec.hs ├── Ex64_MonadsReaderExampleSpec.hs ├── Ex65_MonadsStatefulComputationsSpec.hs └── Ex66_ExercisesBalancedBinaryTreeSpec.hs └── Spec.hs /.github/workflows/project-build.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/.github/workflows/project-build.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .stack-work/ 2 | katas.cabal 3 | *~ 4 | -------------------------------------------------------------------------------- /.hindent.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/.hindent.yaml -------------------------------------------------------------------------------- /.hlint.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/.hlint.yaml -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/.travis.yml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/README.md -------------------------------------------------------------------------------- /Setup.hs: -------------------------------------------------------------------------------- 1 | import Distribution.Simple 2 | main = defaultMain 3 | -------------------------------------------------------------------------------- /app/Main.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/app/Main.hs -------------------------------------------------------------------------------- /package.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/package.yaml -------------------------------------------------------------------------------- /stack.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/stack.yaml -------------------------------------------------------------------------------- /stack.yaml.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/stack.yaml.lock -------------------------------------------------------------------------------- /test/Ex01_ListsExtractingSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex01_ListsExtractingSpec.hs -------------------------------------------------------------------------------- /test/Ex02_ListsComprehensionsSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex02_ListsComprehensionsSpec.hs -------------------------------------------------------------------------------- /test/Ex03_ListsRangesSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex03_ListsRangesSpec.hs -------------------------------------------------------------------------------- /test/Ex04_ListsTuplesSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex04_ListsTuplesSpec.hs -------------------------------------------------------------------------------- /test/Ex05_TypesIntroSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex05_TypesIntroSpec.hs -------------------------------------------------------------------------------- /test/Ex06_FlowPatternMatchingSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex06_FlowPatternMatchingSpec.hs -------------------------------------------------------------------------------- /test/Ex07_FlowGuardsSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex07_FlowGuardsSpec.hs -------------------------------------------------------------------------------- /test/Ex08_FlowWhereSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex08_FlowWhereSpec.hs -------------------------------------------------------------------------------- /test/Ex09_FlowLetItBeSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex09_FlowLetItBeSpec.hs -------------------------------------------------------------------------------- /test/Ex10_FlowCaseExpressionSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex10_FlowCaseExpressionSpec.hs -------------------------------------------------------------------------------- /test/Ex11_FlowRecursionsSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex11_FlowRecursionsSpec.hs -------------------------------------------------------------------------------- /test/Ex12_HofsIntroSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex12_HofsIntroSpec.hs -------------------------------------------------------------------------------- /test/Ex13_HofsLambdasSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex13_HofsLambdasSpec.hs -------------------------------------------------------------------------------- /test/Ex14_HofsFoldsSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex14_HofsFoldsSpec.hs -------------------------------------------------------------------------------- /test/Ex15_HofsScansSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex15_HofsScansSpec.hs -------------------------------------------------------------------------------- /test/Ex16_HofsFunctionApplicationSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex16_HofsFunctionApplicationSpec.hs -------------------------------------------------------------------------------- /test/Ex17_HofsFunctionCompositionSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex17_HofsFunctionCompositionSpec.hs -------------------------------------------------------------------------------- /test/Ex18_ModulesIntroSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex18_ModulesIntroSpec.hs -------------------------------------------------------------------------------- /test/Ex19_ModulesListFunctionsSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex19_ModulesListFunctionsSpec.hs -------------------------------------------------------------------------------- /test/Ex20_ModulesCharFunctionsSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex20_ModulesCharFunctionsSpec.hs -------------------------------------------------------------------------------- /test/Ex21_ModulesMapFunctionalitySpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex21_ModulesMapFunctionalitySpec.hs -------------------------------------------------------------------------------- /test/Ex22_ModulesMapFunctionsSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex22_ModulesMapFunctionsSpec.hs -------------------------------------------------------------------------------- /test/Ex23_ModulesSetFunctionsSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex23_ModulesSetFunctionsSpec.hs -------------------------------------------------------------------------------- /test/Ex24_TypesMakingTypesSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex24_TypesMakingTypesSpec.hs -------------------------------------------------------------------------------- /test/Ex25_TypesRecordSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex25_TypesRecordSpec.hs -------------------------------------------------------------------------------- /test/Ex26_TypesTypeParametersSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex26_TypesTypeParametersSpec.hs -------------------------------------------------------------------------------- /test/Ex27_TypesDerivedInstancesSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex27_TypesDerivedInstancesSpec.hs -------------------------------------------------------------------------------- /test/Ex28_TypesMoreDerivedInstancesSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex28_TypesMoreDerivedInstancesSpec.hs -------------------------------------------------------------------------------- /test/Ex29_TypesAliasingSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex29_TypesAliasingSpec.hs -------------------------------------------------------------------------------- /test/Ex30_TypesRecursiveDataStructuresSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex30_TypesRecursiveDataStructuresSpec.hs -------------------------------------------------------------------------------- /test/Ex31_TypesMoreTypeClassesSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex31_TypesMoreTypeClassesSpec.hs -------------------------------------------------------------------------------- /test/Ex32_TypesYesNoTypeClassSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex32_TypesYesNoTypeClassSpec.hs -------------------------------------------------------------------------------- /test/Ex33_TypesSequenceSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex33_TypesSequenceSpec.hs -------------------------------------------------------------------------------- /test/Ex34_FaFunctorTypeClassSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex34_FaFunctorTypeClassSpec.hs -------------------------------------------------------------------------------- /test/Ex35_ExercisesLondonToHeathrowSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex35_ExercisesLondonToHeathrowSpec.hs -------------------------------------------------------------------------------- /test/Ex36_ExercisesRPNCalculatorSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex36_ExercisesRPNCalculatorSpec.hs -------------------------------------------------------------------------------- /test/Ex37_ExercisesPhoneNumberCleanerSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex37_ExercisesPhoneNumberCleanerSpec.hs -------------------------------------------------------------------------------- /test/Ex38_FaFmapFunctionCompositionSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex38_FaFmapFunctionCompositionSpec.hs -------------------------------------------------------------------------------- /test/Ex39_FaFmapReplicateSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex39_FaFmapReplicateSpec.hs -------------------------------------------------------------------------------- /test/Ex40_FaFunctorLawsSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex40_FaFunctorLawsSpec.hs -------------------------------------------------------------------------------- /test/Ex41_FaApplicativesSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex41_FaApplicativesSpec.hs -------------------------------------------------------------------------------- /test/Ex42_FaMoreApplicativesSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex42_FaMoreApplicativesSpec.hs -------------------------------------------------------------------------------- /test/Ex43_FaNewTypeSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex43_FaNewTypeSpec.hs -------------------------------------------------------------------------------- /test/Ex44_FaMonoidsSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex44_FaMonoidsSpec.hs -------------------------------------------------------------------------------- /test/Ex45_FaOrderingMonoidsSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex45_FaOrderingMonoidsSpec.hs -------------------------------------------------------------------------------- /test/Ex46_FaMaybeMonoidsSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex46_FaMaybeMonoidsSpec.hs -------------------------------------------------------------------------------- /test/Ex47_FaNewTypeMonoidSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex47_FaNewTypeMonoidSpec.hs -------------------------------------------------------------------------------- /test/Ex48_FaFoldableSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex48_FaFoldableSpec.hs -------------------------------------------------------------------------------- /test/Ex49_MonadsCalculateBirthYearSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex49_MonadsCalculateBirthYearSpec.hs -------------------------------------------------------------------------------- /test/Ex50_MonadsCalculateAgeFromDatesSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex50_MonadsCalculateAgeFromDatesSpec.hs -------------------------------------------------------------------------------- /test/Ex51_MonadsIntroSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex51_MonadsIntroSpec.hs -------------------------------------------------------------------------------- /test/Ex52_MonadsBirdLandingSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex52_MonadsBirdLandingSpec.hs -------------------------------------------------------------------------------- /test/Ex53_MonadsDoNotationSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex53_MonadsDoNotationSpec.hs -------------------------------------------------------------------------------- /test/Ex54_MonadsBirdLandingWithDoNotationSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex54_MonadsBirdLandingWithDoNotationSpec.hs -------------------------------------------------------------------------------- /test/Ex55_MonadsListMonadSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex55_MonadsListMonadSpec.hs -------------------------------------------------------------------------------- /test/Ex56_MonadsMonadPlusSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex56_MonadsMonadPlusSpec.hs -------------------------------------------------------------------------------- /test/Ex57_ExercisesKnightsQuestSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex57_ExercisesKnightsQuestSpec.hs -------------------------------------------------------------------------------- /test/Ex58_MonadsMonadLawsSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex58_MonadsMonadLawsSpec.hs -------------------------------------------------------------------------------- /test/Ex59_MonadsInstancesSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex59_MonadsInstancesSpec.hs -------------------------------------------------------------------------------- /test/Ex60_MonadsIntroToWriteMonadSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex60_MonadsIntroToWriteMonadSpec.hs -------------------------------------------------------------------------------- /test/Ex61_MonadsWriterTypeSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex61_MonadsWriterTypeSpec.hs -------------------------------------------------------------------------------- /test/Ex62_MonadsLoggingWithWriterSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex62_MonadsLoggingWithWriterSpec.hs -------------------------------------------------------------------------------- /test/Ex63_MonadsReaderSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex63_MonadsReaderSpec.hs -------------------------------------------------------------------------------- /test/Ex64_MonadsReaderExampleSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex64_MonadsReaderExampleSpec.hs -------------------------------------------------------------------------------- /test/Ex65_MonadsStatefulComputationsSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex65_MonadsStatefulComputationsSpec.hs -------------------------------------------------------------------------------- /test/Ex66_ExercisesBalancedBinaryTreeSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Ex66_ExercisesBalancedBinaryTreeSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex01_ListsExtractingSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex01_ListsExtractingSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex02_ListsComprehensionsSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex02_ListsComprehensionsSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex03_ListsRangesSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex03_ListsRangesSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex04_ListsTuplesSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex04_ListsTuplesSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex05_TypesIntroSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex05_TypesIntroSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex06_FlowPatternMatchingSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex06_FlowPatternMatchingSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex07_FlowGuardsSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex07_FlowGuardsSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex08_FlowWhereSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex08_FlowWhereSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex09_FlowLetItBeSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex09_FlowLetItBeSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex10_FlowCaseExpressionSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex10_FlowCaseExpressionSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex11_FlowRecursionsSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex11_FlowRecursionsSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex12_HofsIntroSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex12_HofsIntroSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex13_HofsLambdasSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex13_HofsLambdasSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex14_HofsFoldsSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex14_HofsFoldsSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex15_HofsScansSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex15_HofsScansSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex16_HofsFunctionApplicationSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex16_HofsFunctionApplicationSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex17_HofsFunctionCompositionSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex17_HofsFunctionCompositionSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex18_ModulesIntroSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex18_ModulesIntroSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex19_ModulesListFunctionsSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex19_ModulesListFunctionsSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex20_ModulesCharFunctionsSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex20_ModulesCharFunctionsSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex21_ModulesMapFunctionalitySpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex21_ModulesMapFunctionalitySpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex22_ModulesMapFunctionsSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex22_ModulesMapFunctionsSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex23_ModulesSetFunctionsSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex23_ModulesSetFunctionsSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex24_TypesMakingTypesSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex24_TypesMakingTypesSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex25_TypesRecordSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex25_TypesRecordSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex26_TypesTypeParametersSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex26_TypesTypeParametersSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex27_TypesDerivedInstancesSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex27_TypesDerivedInstancesSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex28_TypesMoreDerivedInstancesSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex28_TypesMoreDerivedInstancesSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex29_TypesAliasingSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex29_TypesAliasingSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex30_TypesRecursiveDataStructuresSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex30_TypesRecursiveDataStructuresSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex31_TypesMoreTypeClassesSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex31_TypesMoreTypeClassesSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex32_TypesYesNoTypeClassSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex32_TypesYesNoTypeClassSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex33_TypesSequenceSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex33_TypesSequenceSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex34_FaFunctorTypeClassSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex34_FaFunctorTypeClassSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex35_ExercisesLondonToHeathrowSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex35_ExercisesLondonToHeathrowSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex36_ExercisesRPNCalculatorSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex36_ExercisesRPNCalculatorSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex37_ExercisesPhoneNumberCleanerSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex37_ExercisesPhoneNumberCleanerSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex38_FaFmapFunctionCompositionSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex38_FaFmapFunctionCompositionSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex39_FaFmapReplicateSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex39_FaFmapReplicateSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex40_FaFunctorLawsSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex40_FaFunctorLawsSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex41_FaApplicativesSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex41_FaApplicativesSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex42_FaMoreApplicativesSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex42_FaMoreApplicativesSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex43_FaNewTypeSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex43_FaNewTypeSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex44_FaMonoidsSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex44_FaMonoidsSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex45_FaOrderingMonoidsSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex45_FaOrderingMonoidsSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex46_FaMaybeMonoidsSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex46_FaMaybeMonoidsSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex47_FaNewTypeMonoidSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex47_FaNewTypeMonoidSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex48_FaFoldableSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex48_FaFoldableSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex49_MonadsCalculateBirthYearSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex49_MonadsCalculateBirthYearSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex50_MonadsCalculateAgeFromDatesSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex50_MonadsCalculateAgeFromDatesSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex51_MonadsIntroSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex51_MonadsIntroSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex52_MonadsBirdLandingSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex52_MonadsBirdLandingSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex53_MonadsDoNotationSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex53_MonadsDoNotationSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex54_MonadsBirdLandingWithDoNotationSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex54_MonadsBirdLandingWithDoNotationSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex55_MonadsListMonadSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex55_MonadsListMonadSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex56_MonadsMonadPlusSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex56_MonadsMonadPlusSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex57_ExercisesKnightsQuestSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex57_ExercisesKnightsQuestSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex58_MonadsMonadLawsSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex58_MonadsMonadLawsSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex59_MonadsInstancesSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex59_MonadsInstancesSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex60_MonadsIntroToWriteMonadSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex60_MonadsIntroToWriteMonadSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex61_MonadsWriterTypeSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex61_MonadsWriterTypeSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex62_MonadsLoggingWithWriterSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex62_MonadsLoggingWithWriterSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex63_MonadsReaderSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex63_MonadsReaderSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex64_MonadsReaderExampleSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex64_MonadsReaderExampleSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex65_MonadsStatefulComputationsSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex65_MonadsStatefulComputationsSpec.hs -------------------------------------------------------------------------------- /test/Solutions/Ex66_ExercisesBalancedBinaryTreeSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adomokos/haskell-katas/HEAD/test/Solutions/Ex66_ExercisesBalancedBinaryTreeSpec.hs -------------------------------------------------------------------------------- /test/Spec.hs: -------------------------------------------------------------------------------- 1 | {-# OPTIONS_GHC -F -pgmF hspec-discover #-} 2 | --------------------------------------------------------------------------------