Value returned by a define expression in Scheme
问题 I ran this in MIT/GNU Scheme: (define x (+ 2 3)) The interpreter then prints: ;Value: x But according to my textbook, the value returned by a define expression should be undefined. Why did the interpreter print ";Value: x" then? 回答1: If the standard report does not specify a return or mentions that it is undefined an implementation is literally free to choose the value returned and it would be according to the standard. That also means you cannot depend on one implementations behaviour would