From: Majorinc, Kazimir (kazimir at chem.pmf.hr) Date: Tue Apr 1 13:29:05 EDT 2008 |
|
I do not like how redefinition of + changes the function "distance": > (define distance (lambda (x y)(sqrt (+ (* x x)(* y y))))) > (distance 4 3) 5 > (define + -) > (distance 4 3) 2.6457513110645907 It can be solved with: > (define distance (let ((+ +)(* *)(sqrt sqrt)) (lambda(x y)(sqrt (+ (* x x)(* y y)))))) > (distance 4 3) 5 > (define + -) > (distance 4 3) 5 > Is there any better way to accomplish the same?
Posted on the users mailing list. |
|