
From context it's only used as a more concrete example of a product type to show how cardinality analysis works. I would infer that the idea is that this type would use mixedBit for the whole number and there would be a constraint that numerator < denominator. Fraction 5 1 2 would be the canonical way to represent 5 1/2 in that scheme. Practically speaking there's no reason to have the mixedBit field because a pair is enough to represent any fraction, but if it was simplified this way then the example would be redundant since there's already an example of a pair type on the same page.
On Tue, Sep 14, 2021 at 8:51 PM Galaxy Being
I'm looking at Sandy Maguire's _Thinking With Types_ and he's talking about the cardinality of types. He introduces the product type
data MixedFraction a = Fraction { mixedBit :: Word8 , numerator :: a , denominator :: a }
How is this a type for holding mixed fractions such as 5-1/2?
⨽ Lawrence Bottorff Grand Marais, MN, USA borgauf@gmail.com _______________________________________________ Haskell-Cafe mailing list To (un)subscribe, modify options or view archives go to: http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe Only members subscribed via the mailman list are allowed to post.