On Mon, Apr 18, 2011 at 10:58:49AM +0900, Alex Shinn wrote: > > I might be missing something but AIUI when an underscore doesn't appear > > in the <template> part of a <syntax rule>, the behaviour of that macro > > is exactly the same whether the underscore is treated as a wildcard or > > not. > > The only difference is if you use multiple wildcards in the pattern, > which would have been an error in R5RS. I'm not particularly fond > of the syntax, but I suppose it helps if you have lots of subpatterns > that you don't care about and don't want to think up descriptive > names.
I see. I knew I was overlooking something :) I still think it's a superfluous feature. How often does this occur, and is it really so much work to think up variable names like ignore1 ignore2 etc? Like I pointed out in my previous mail, we don't have anything like it elsewhere either; when you have a lambda with several arguments you want to ignore, there's no special wildcard syntax for that. Same goes for the exception variables in the new guard clause etc. > > Section 6.3.7: > > > > The blob interface could be simplified by getting rid of > > partial-blob and partial-blob-copy! and making blob-copy and blob-copy!'s > > signatures accept optional arguments: > > I agree, I'll add a ticket for this. Thank you. > > Section 7.1: > > > > This says case is insignificant in the BNF; but it isn't really when the > > Scheme is not in case-folding mode. Possibly only for #x and a few > > others? For example, are the <expression keyword>s case-insensitive? > > If case is insignificant, why are there uppercase letters under > > <hex digit>? > > The BNF is case-insensitive. The uppercase letters in <hex digit> are > for emphasis. I thought I had removed the <expression keywords>s > and <syntactic keywords> - Scheme has no reserved words, and I'm > not sure what the original motivation for them was. What about all the <expression> productions? They're case-insensitive while the Scheme may be in case sensitive mode. They also contain literals like LET, IF, SET! etc, whereas the module system allows for renaming or omitting those from import. The BNF seems too rigid to allow for the "dynamic" compile-time nature of Scheme-with-modules. Cheers, Peter -- http://sjamaan.ath.cx -- "The process of preparing programs for a digital computer is especially attractive, not only because it can be economically and scientifically rewarding, but also because it can be an aesthetic experience much like composing poetry or music." -- Donald Knuth _______________________________________________ Scheme-reports mailing list [email protected] http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports
