(letrec ((kernel (lambda () (display "Please enter a number and I'll square it: ") (let ((num (read))) (if (number? num) (let ((result (* num num))) ; (display "I bet you didn't know that ") ; (display "Emily thinks that ") (display num) (display " squared is ") (display result) (display ".") (newline)) (begin (display "Sam thinks that you are a bit clueless today, given that ") (display "you claimed that ") (display num) (display " is a number.") (newline) (kernel))))))) (kernel))