Re: First impressions of the specification Mark H Weaver 26 Mar 2013 12:04 UTC
"David A. Wheeler" <xxxxxx@dwheeler.com> writes: > Mark H Weaver: >> I think this new draft is very promising. However, there's still one >> major piece missing: a description (in english) of what data structures >> are created. Somehow that needs to be integrated into this new text. > > I'm not sure I understand. If by "data structure" you mean > n-expressions, those are already defined in SRFI-105. > It's really just s-expressions with a few tweaks. By "data structure", I mean the object returned by the reader after reading a sweet expression. In your new "Basic specification", there's lots of detail about how the input is parsed (good), but almost no discussion of how those pieces are put together into lists. That's what's missing, IMO. >> * Re: "leading traditional abbreviation (quote, comma, backquote, or >> comma-at)": IMO, for readers that support the syntax-case >> abbreviations (#' #` #, #,@), I think that it ought to be _mandatory_ >> for these to be handled in the same way as for (' ` , ,@). > > I disagree. Many Scheme systems do not implement them or > implement some of these with very different semantics. > For example, the many Schemes that implement SRFI-10 > do something completely different with "#,". > They've also been abandoned in R7RS. That's why I said it ought to be mandatory "for readers that support the syntax-case abbreviations". This is analogous to SRFI-105 requiring that {#1=f(#1#)} be read as #1=(f #1#) if there is support for SRFI-38. If it's not required, then authors will not be able to safely use the syntax-case abbreviations with SRFI-110 syntax, even on implementations that support both SRFI-110 and syntax-case. Syntax-case is a de-facto standard in the Scheme world now, and extremely widely supported and used. It is required by the R6RS and very likely to be in R7RS-large as well. It would be a shame to not support it properly. Thanks, Mark