With guile (and a few other Schemes/Lisps) you can directly add fractions
or rational numbers:
(+ 1/2 1/12)
=> 7/12
It's like magic, no? Anyway, I'm trying -- for educational purposes -- to
reproduce this functionality. But right out of the blocks I'm stuck trying
to figure out how to handle incoming parameters. So far I've got
(define (myrat a b)
. . .)
(define (myrat a b c d)
. . .)
where numerator and denominator are given separately, as well as
(define (myrat . fracparams)
. . .)
which still has my basic problem, namely, can one parameter hold both parts
of a rational number, then allow the numerator and denominator to be peeled
off and worked on, i.e., something like
(let ((num1 numepeeler(a))
(denom1 denompeeler(a)
LB