Scheme:R5RS
R5RS : Revised5 Report on the Algorithmic Language Scheme
write や display は unspecified value を返す。
R5RS に定義される、write や display は副作用としての出力をし、unspecified value を返す。なんで?と思う。'() とか #t とかでなくて、なぜ?ていうか、返り値いらなくね。というシチュエーションに出会った。
期待する動作
(display "<?xml version=\"1.0\" encoding=\"UTF-8\"?>")
とやると
<?xml version="1.0" encoding="UTF-8"?>
と表示されて欲しい。しかし、結果は、
<?xml version="1.0" encoding="UTF-8"?>#<unspecified>
回避策
(and (display "<?xml version=\"1.0\" encoding=\"UTF-8\"?>") "")
とやると
<?xml version="1.0" encoding="UTF-8"?>
なんとかなった。