• [^] # Re: Haskel

    Posté par . En réponse au journal résoudre "trouve 24". Évalué à 2.

    Oui, remplacer div par % et adapter les tests dans doOp Div (a:b:xs) :-)

    Non, ça ne marchera pas.

    :t (/)
    (/) :: Fractional a => a -> a -> a
    :t div
    div :: Integral a => a -> a -> a
    Prelude Data.Ratio> 1% 4
    1 % 4
    Prelude Data.Ratio> (1%4) `div` (4%5)
    <interactive>:28:1: error:
      Non type-variable argument in the constraint: Integral (Ratio a)
     (Use FlexibleContexts to permit this)
      When checking the inferred type
     it :: forall a. (Integral a, Integral (Ratio a)) => Ratio a

    La division entière à besoin d’un type integral ce que n'est pas Ratio. On ne peut pas mélanger les types dans les divisions.