Source code.

(define (raise x) (apply-generic 'raise x))
...
...
; in the integer package
(put 'raise '(integer) (lambda (n) (make-rational n 1)))
...
...
; in the rational package
(define (rational->real r) (make-real (/ (numer r) (denom r))))
(put 'raise '(rational) rational->real)
...
...
; in the real package
(define (real->complex r) (make-complex-from-real-imag r 0))
(put 'raise '(real) real->complex)

### Like this:

Like Loading...

*Related*