On Mon, Jan 09, 2012 at 02:51:40PM -0500, John Cowan wrote: > Peter Bex scripsit: > > > In "bare" symbols I'd expect anything but s-expression delimiters > > (spaces, parens, semicolons and possibly single quotes, commas and > > backticks) to be allowed but no "special interpretation" of composite > > characters. This keeps the reader simple; just consume characters > > until you find an s-expression metacharacter. > > No Scheme in my list allows " within an identifier.
Yeah, I wouldn't expect that either, just forgot about it. > I haven't tested the other special lexical-syntax characters, but I > expect all of them except # will be treated similarly. Yeah, # is pretty special. The spec should probably leave that unspecified. Maybe a whitelist of characters that are definitely allowed in symbols? Several (most?) schemes actually try to read until the next s-expression separator and convert it to a number. If that fails, it's a symbol and taken as-is. I'm not sure this behaviour should be standardized as it's very "loose" and poorly defined. > > I think I've argued this point before, but it would be more consistent > > to allow \ to escape the | so that || acts exactly analogously to "" > > in strings, where backslashes escape the delimiter. > > > > This is simpler, more regular and allows implementation to use the same > > routine for reading strings and symbols (with the delimiter as parameter). > > Ticket #324 filed. Thanks! 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
