[Haskell-cafe] Mixed Fraction data type

Bob Ippolito bob at redivi.com
Wed Sep 15 04:13:10 UTC 2021


>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 <borgauf at gmail.com> wrote:

> 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 at 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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20210914/901ac161/attachment.html>


More information about the Haskell-Cafe mailing list