>>3 (define (solve +/- b delta a)
(/ (+/- (- b) (sqrt delta)) (* 2 a)))
(define (solve-complex +/- b delta a)
(+/- (/ (- b) (* 2 a))
(* +i (/ (sqrt (- delta))
(* 2 a)))))
(define (quad a b c)
(let ((delta (- (sqr b) (* 4 a c)))
(solve (if (> delta 0) solve solve-complex)))
(if (zero? delta) (- (/ b (* 2 a)))
(values (solve + b delta a)
(solve - b delta a)))))
>>4 $ scheme48
Welcome to Scheme 48 1.8 (made by yellow on Sun Sep 18 01:57:41 UTC 2011)
Copyright (c) 1993-2008 by Richard Kelsey and Jonathan Rees.
Please report bugs to scheme-48-bugs@s48.org.
Get more information at http://www.s48.org/.
Type ,? (comma question-mark) for help. (sqrt -1)
0.0+1.0i
Exit Scheme 48 (y/n)? y
$ racket
Welcome to Racket v5.1.1. (sqrt -1)
0+1i