In https://sourceforge.net/p/readable/wiki/Modifications-0.5/ Alan wisely points out: "Dropping support for (. x) may have the undesirable side effect that actual implementations not based on our code may incorrectly parse f(. x) as an error. It should be clarified that f(. x) means (f . x) and that the validity of the mapping of (. x) to x is at the implementation's behest. All in all, it is still much, much simpler for an implementation to just support (. x) as x, and in particular we should mandate f(. x) as a valid syntax. Given that f(. x) should map to (f . x), an implementation would be much, much easier to have (. x) map to x, so that a simple cons is always done in the f( ... case."
Clearly f(. x) is vital; read is defined as "read(. port)". We should clearly document that anyway. I've modified the [Solution] page to note this, since that is not a spec change. There's another reason to support (. e) too: partly-compliant readers might implement upper tiers without curly-infix. It's entirely plausible that an implementer might implement neoteric- or sweet- expression readers *without* curly-infix, e.g., because {...} is already being used for something else. Let's call these expressions "neoteric-without-curly-" (nwc-, pronounced "nuke") and "sweet-without-curly" (swc-, pronounced "sweek") expressions, so I don't have to say a mouthful each time. The resulting reader would not comply with our specs, and would be less pleasant to use, too. Ugh, really. But as a *transitional* form they might make sense. If we required support for (. e) mapping to e in neoteric-expressions, then nwc- and swc- reader *users* could use (. e) in their code, and when they transition their code to a full reader, it'd still work. This might make it easier for developers to adopt at least *part* of our notation. A key thing that concerns me about our notation is trying to make it *easy* to adopt by both Lisp system implementers and by software developers. If that would help, let's do it. So I guess I'm leaning towards *keeping* the mapping (. e) to e, given the arguments above. --- David A. Wheeler ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ Readable-discuss mailing list Readable-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/readable-discuss