Aubrey Jaffer <[email protected]>
> Is the syntax { f(x) } not handled?
As I mentioned earlier, not in straight curly-infix, because that's the role of
neoteric-expressions, which I intend to submit as a separate SRFI. But if
people want to support { f(x) } without necessarily supporting f(x) at the
outermost level, we could modify curly-infix to do easily, by requiring support
for a sequence of neoteric-expressions *inside* a curly-infix expression
(recursively).
That would add a little more to the specification, though not much. Here's an
example of how this would modify the current draft curly-infix specification:
~~~~
A curly-infix list contains, inside {...}, a sequence of 0 or more
whitespace-separated neoteric-expressions.
A neoteric-expression is a curly-infix expression, but in addition, given a
datum "e":
* An e(...) maps to (e ...). E.g., f(1 2) ⇒ (f 1 2), exit() ⇒
(exit), and read(. port) ⇒ (read . port).
* An e{} maps to (e), otherwise, e{...} maps to (e {...}). E.g., f{n - 1}
⇒ (f {n - 1}) ⇒ (f (- n 1)), and g{- x} ⇒ (g (- x)).
* An e[...] maps to (bracketaccess e ...)
There must be no whitespace between e and the open paired character. Also, an
unprefixed "( . e)" must evaluate as "e". Unprefixed lists contain a sequence
of zero or more whitespace-separated neoteric-expressions, recursively.
~~~~
With this addition, you *CAN* have:
{f(x) + 5 + g(x y)}
and even:
{substring("Hello" 1 3)}
For rationale on the design of neoteric-expressions, see:
https://sourceforge.net/p/readable/wiki/Rationale/
--- 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
[email protected]
https://lists.sourceforge.net/lists/listinfo/readable-discuss