C'est sûr que c'est pas très lisible pour un CM2. :-P
L'écriture est lié au système de typage statique OCaml qui n'a pas de mécanisme à la type classes de Haskell. Du coup 2 est toujours interpréter comme étant de type int et ~$ est juste une notation infixe pour la fonction of_int.
L'idée était surtout de montrer qu'il n'y avait aucune difficulté à faire du calcul formel sur les rationnels, avec pour seul limite la capacité mémoire de la machine (python le fait aussi) : c'est juste coûteux en mémoire et plus long en calcul, mais inutile dans la plupart des applications (d'où le recours aux flottants par défaut dans tous les langages).
>>>fromfractionsimportFraction>>># attention à bien utiliser des strings...Fraction('2')-Fraction('1.8')-Fraction('0.2')Fraction(0,1)>>># avec les floats sa posera aussi problème...Fraction(2)-Fraction(1.8)-Fraction(0.2)Fraction(-1,18014398509481984)>>>Fraction('3')*Fraction('5/3')Fraction(5,1)
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
[^] # Re: Ca marche aussi... Mais j'ai triché
Posté par kantien . En réponse au journal [Humour] vers un monde différent. Évalué à 2.
C'est sûr que c'est pas très lisible pour un CM2. :-P
L'écriture est lié au système de typage statique OCaml qui n'a pas de mécanisme à la type classes de Haskell. Du coup
2est toujours interpréter comme étant de typeintet~$est juste une notation infixe pour la fonctionof_int.L'idée était surtout de montrer qu'il n'y avait aucune difficulté à faire du calcul formel sur les rationnels, avec pour seul limite la capacité mémoire de la machine (python le fait aussi) : c'est juste coûteux en mémoire et plus long en calcul, mais inutile dans la plupart des applications (d'où le recours aux flottants par défaut dans tous les langages).
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.