From 98329e0a3dd4f78b5d815ac3896272ec70904901 Mon Sep 17 00:00:00 2001 From: Eugen Wissner Date: Thu, 11 Dec 2025 10:28:11 +0100 Subject: Add remaining haskell book exercises --- Haskell-book/17/Exercises/test/Spec.hs | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 Haskell-book/17/Exercises/test/Spec.hs (limited to 'Haskell-book/17/Exercises/test/Spec.hs') diff --git a/Haskell-book/17/Exercises/test/Spec.hs b/Haskell-book/17/Exercises/test/Spec.hs new file mode 100644 index 0000000..e1405c5 --- /dev/null +++ b/Haskell-book/17/Exercises/test/Spec.hs @@ -0,0 +1,26 @@ +import Data.Monoid +import Exercises +import Test.QuickCheck.Checkers +import Test.QuickCheck.Classes + +main :: IO () +main = do + quickBatch $ functor $ Pair ('a', 'b', 'c') ('d', 'e', 'f') + quickBatch $ applicative $ Pair ('a', 'b', 'c') ('d', 'e', 'f') + quickBatch $ functor $ Two ('a', 'b', 'c') (1 :: Integer, 2 :: Integer, 3 :: Integer) + quickBatch $ applicative $ Two (Product (1 :: Integer), Product (2 :: Integer), Product (3 :: Integer)) + (Sum (1 :: Integer), Sum (2 :: Integer), Sum (3 :: Integer)) + quickBatch $ applicative $ Three (Product (1 :: Integer), Product (2 :: Integer), Product (3 :: Integer)) + (Sum (1 :: Integer), Sum (2 :: Integer), Sum (3 :: Integer)) + (Sum (4 :: Integer), Sum (5 :: Integer), Sum (6 :: Integer)) + quickBatch $ applicative $ Three' (Product (1 :: Integer), Product (2 :: Integer), Product (3 :: Integer)) + (Sum (1 :: Integer), Sum (2 :: Integer), Sum (3 :: Integer)) + (Sum (4 :: Integer), Sum (5 :: Integer), Sum (6 :: Integer)) + quickBatch $ applicative $ Four (Product (1 :: Integer), Product (2 :: Integer), Product (3 :: Integer)) + (Product (1 :: Integer), Product (2 :: Integer), Product (3 :: Integer)) + (Sum (1 :: Integer), Sum (2 :: Integer), Sum (3 :: Integer)) + (Sum (4 :: Integer), Sum (5 :: Integer), Sum (6 :: Integer)) + quickBatch $ applicative $ Four (Product (1 :: Integer), Product (2 :: Integer), Product (3 :: Integer)) + (Product (1 :: Integer), Product (2 :: Integer), Product (3 :: Integer)) + (Product (1 :: Integer), Product (2 :: Integer), Product (3 :: Integer)) + (Sum (4 :: Integer), Sum (5 :: Integer), Sum (6 :: Integer)) -- cgit v1.2.3