I'm having fun learning scheme using chicken.   Looking at the manual, I
see that there is deviation from the R5RS standard in that numerator and
denominator procedures cannot be applied to inexact numbers.  But I can't
figure out how to make an exact rational. Tried (/ 6 4) and 6/4, but
neither works.

Running on arch-linux amd64, the arch package and compiling from git source
both have the same effect.

#csi -n

CHICKEN
(c)2008-2011 The Chicken Team
(c)2000-2007 Felix L. Winkelmann
Version 4.7.0
linux-unix-gnu-x86 [ manyargs dload ptables ]
compiled 2011-10-17 on roseapple (Linux)

#;1> (rational? 6/10)
Warning: cannot represent exact fraction - coerced to flonum: "6/10"
#t
#;2> (rational? (/ 6 10))
#t
#;3> (exact? 6/10)

Warning: cannot represent exact fraction - coerced to flonum: "6/10"
#f
#;4> (exact? (/ 6 10))
#f


#;5> (numerator (/ 6 10))

Error: (numerator) bad argument type - not a rational number: 0.6

Call history:

<syntax>  (numerator (/ 6 10))
<syntax>  (/ 6 10)
 <eval>  (numerator (/ 6 10))
<eval>  (/ 6 10) <--
#;6> (numerator 6/10)

Warning: cannot represent exact fraction - coerced to flonum: "6/10"

Error: (numerator) bad argument type - not a rational number: 0.6

Call history:

<syntax>  (numerator 0.6)
 <eval>  (numerator 0.6) <--


Am I missing something?
-Nick
_______________________________________________
Chicken-users mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to