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

Reply via email to