[Haskell-beginners] Type constructor

David McBride toad3k at gmail.com
Wed Nov 8 19:31:50 UTC 2017


The only thing I can think of is that you wrote a Num instance for
Fraction.  That allows it to represent a fraction as a literal 2 because
you can create a fraction from an integer via fromInteger.

On Wed, Nov 8, 2017 at 2:21 PM, mike h <mike_k_houghton at yahoo.co.uk> wrote:

> Hi,
>
> I’m modelling fractions with a view to looking at continued fractions and
> I have this recursive structure.
>
> type Numerator   = Integer
> data Fraction = Numbr Integer | F Numerator Fraction
>
>
> in ghci I do
>
> λ-> :t F 1 (Numbr 2)
> F 1 (Numbr 2) :: Fraction
>
> which is fine. But what surprised me is that it also works without using
> Numbr e.g.
>
> λ-> :t F 1 2
> F 1 2 :: Fraction
>
> why is this?
>
> Thanks
>
> Mike
> _______________________________________________
> Beginners mailing list
> Beginners at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/beginners/attachments/20171108/5d843e16/attachment.html>


More information about the Beginners mailing list