I guess the madlibbinBetter'
is "better", but nothing to blow my mind as of now.
link:ch15_15.11_0.hs[role=include]
-
data Trivial = Trivial deriving (Eq, Show)
link:ch15_15.14_0.hs[role=include]
-
newtype Identity a = Identity a
link:ch15_15.14_1.hs[role=include]
-
data Two a b = Two a b
link:ch15_15.14_2.hs[role=include]
-
data Three a b c = Three a b c
link:ch15_15.14_3.hs[role=include]
-
data Four a b c d = Four a b c d
link:ch15_15.14_4.hs[role=include]
-
newtype BoolConj = BoolConj Bool
link:ch15_15.14_5.hs[role=include]
-
newtype BoolDisj = BoolDisj Bool
link:ch15_15.14_6.hs[role=include]
-
data Or a b = Fst a | Snd b
link:ch15_15.14_7.hs[role=include]
-
newtype Combine a b = Combine { unCombine :: (a → b) }
Warningcould not break the CoArbitrary
link:ch15_15.14_8.hs[role=include]
-
newtype Comp a = Comp { unComp :: (a → a) }
Warningprobably correct, do not undestand link:ch15_15.14_9.hs[role=include]
-
data Validation a b = Failure a | Success b deriving (Eq, Show)
link:ch15_15.14_10.hs[role=include]
-
newtype AccumulateRight a b = AccumulateRight (Validation a b) deriving (Eq, Show)
link:ch15_15.14_11.hs[role=include]
-
newtype AccumulateBoth a b = AccumulateBoth (Validation a b) deriving (Eq, Show)
link:ch15_15.14_12.hs[role=include]
-
data Trivial = Trivial deriving (Eq, Show)
link:ch15_15.14_13.hs[role=include]
-
newtype Identity a = Identity a deriving (Eq, Show)
link:ch15_15.14_14.hs[role=include]
-
data Two a b = Two a b
link:ch15_15.14_15.hs[role=include]
-
newtype BoolConj = BoolConj Bool
link:ch15_15.14_16.hs[role=include]
-
newtype BoolDisj = BoolDisj Bool
link:ch15_15.14_17.hs[role=include]
-
newtype Combine a b = Combine { unCombine :: (a → b) }
Warningcould not break the CoArbitrary
link:ch15_15.14_18.hs[role=include]
-
newtype Comp a = Comp { unComp :: (a → a) }
Warninghow come unComp f 0
does not break?link:ch15_15.14_19.hs[role=include]
-
newtype Mem s a….
Warningawkward, what is this for? and again, no CoArbitrary
link:ch15_15.14_20.hs[role=include]