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

Reply via email to