Schemeは空白区切り?
うぅん。コレ。
(define abc"xyz")
コンパイルエラーになるかと思って調べてみたら、
gauche
% gosh gosh> (define abc"xyz") abc gosh> abc "xyz" gosh> (string-append "abc""def""xyz") "abcdefxyz"
アレ?
MzScheme
% mzscheme Welcome to MzScheme v370 [3m], Copyright (c) 2004-2007 PLT Scheme Inc. > (define abc"xyz") > abc "xyz"
アレレレレ。
他の処理系(MIT,chez)も通った。
どうやら空白区切りではないらしい。仕様かな。
ということで、R5RS読み
読むぞー。
Revised^5 Report on the Algorithmic Language Scheme - Formal syntax and semantics
<fomals> -> (<variable>*) | ...
となっているので、どうやらabc"xyz"は合法。
ちょっとBNFが読めるようになってきた!!