diff options
Diffstat (limited to 'coding-exercises/2/83')
| -rw-r--r-- | coding-exercises/2/83/install-integer.rkt | 3 | ||||
| -rw-r--r-- | coding-exercises/2/83/install-rational.rkt | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/coding-exercises/2/83/install-integer.rkt b/coding-exercises/2/83/install-integer.rkt index 2fabf3a..ca1ebb5 100644 --- a/coding-exercises/2/83/install-integer.rkt +++ b/coding-exercises/2/83/install-integer.rkt @@ -16,6 +16,7 @@ (put 'make 'integer (lambda (x) (tagme (make x)))) ;; methods (put 'add '(integer integer) (lambda (x y) (tagme (make (+ x y))))) + (put 'neg '(integer) (lambda (x) (tagme (- x)))) (put 'sub '(integer integer) (lambda (x y) (tagme (make (- x y))))) (put 'mul '(integer integer) (lambda (x y) (tagme (make (* x y))))) (put 'div '(integer integer) (lambda (x y) (tagme (make (/ x y))))) @@ -23,7 +24,7 @@ ;; sqrt and trig methods for complex nums (put 'sqr '(integer) sqr) (put 'sqrt '(integer) sqrt) - (put 'atan '(integer) atan) + (put 'atan '(integer integer) atan) (put 'cos '(integer) cos) (put 'sin '(integer) sin) ;; predicates diff --git a/coding-exercises/2/83/install-rational.rkt b/coding-exercises/2/83/install-rational.rkt index 96dcef1..73640b7 100644 --- a/coding-exercises/2/83/install-rational.rkt +++ b/coding-exercises/2/83/install-rational.rkt @@ -46,6 +46,8 @@ ;; interface (put 'add '(rational rational) (lambda (x y) (tagme (add-rat x y)))) + (put 'neg '(rational) + (lambda (rat) (tagme (neg-rat rat)))) (put 'sub '(rational rational) (lambda (x y) (tagme (sub-rat x y)))) (put 'mul '(rational rational) |
