Bonjour,
Je réfléchis à la façon d'implémenter Scheme R5RS dans un autre langage et les trois extraits ci-dessous de la norme R5RS (pages 22-23) me laissent perplexe :
Faut-il comprendre que même si -4.0, 32.0 et (exact->inexact (/ 6 4)) sont inexacts, l'implémentation doit se souvenir de leur équivalent exact (-4, 32 et 3/2) pour procéder à des divisions entières, des décompositions en facteur premiers, etc... ?(remainder -13 -4) ==> -1
(remainder -13 -4.0) ==> -1.0 ; inexact
(lcm 32 -36) ==> 288
(lcm 32.0 -36) ==> 288.0 ; inexact
(denominator (/ 6 4)) ==> 2
(denominator (exact->inexact (/ 6 4))) ==> 2.0
Sinon, comment réussit-il à donner les réponses en gras ci-dessus ?
Tout cela me semble un peu étrange. Mais il y a probablement quelque chose qui m'échappe.
Merci d'avance pour vos lumières,
Cordialement,
Nicolas
Partager