[plt-scheme] typed scheme intro
I'm trying to run the mag program described in:
http://docs.plt-scheme.org/ts-guide/quick.html
but it doesn't look quite right: the addition of the squared
components appears to be missing.
Furthermore, when I do change it to:
(: mag (pt -> Real))
(define (mag p)
(sqrt (+ (sqr (pt-x p))
(sqr (pt-y p)))))
I get a type error because I can't convince the type checker that the
result of the addition will be a positive real. I worked around by
doing:
(: mag (pt -> Real))
(define (mag p)
(real-part (sqrt (+ (sqr (pt-x p))
(sqr (pt-y p))))))
Am I missing something?