Re: New draft (#6) and last call for comments on SRFI 266: The expr syntax Marc Nieper-Wißkirchen (30 Aug 2026 17:42 UTC)
Re: New draft (#6) and last call for comments on SRFI 266: The expr syntax Marc Nieper-Wißkirchen (31 Aug 2026 07:01 UTC)
Re: New draft (#6) and last call for comments on SRFI 266: The expr syntax Marc Nieper-Wißkirchen (01 Sep 2026 08:28 UTC)
Re: New draft (#6) and last call for comments on SRFI 266: The expr syntax Marc Nieper-Wißkirchen (01 Sep 2026 10:09 UTC)
Re: New draft (#6) and last call for comments on SRFI 266: The expr syntax Marc Nieper-Wißkirchen (01 Sep 2026 12:47 UTC)
Re: New draft (#6) and last call for comments on SRFI 266: The expr syntax Marc Nieper-Wißkirchen (01 Sep 2026 12:14 UTC)
Re: New draft (#6) and last call for comments on SRFI 266: The expr syntax Marc Nieper-Wißkirchen (01 Sep 2026 14:42 UTC)
Re: New draft (#6) and last call for comments on SRFI 266: The expr syntax Marc Nieper-Wißkirchen (04 Sep 2026 19:46 UTC)
Re: New draft (#6) and last call for comments on SRFI 266: The expr syntax Peter McGoron (04 Sep 2026 22:06 UTC)

Re: New draft (#6) and last call for comments on SRFI 266: The expr syntax Peter McGoron 04 Sep 2026 22:02 UTC

Given that something like

     f(x, y, z - w)

would read as

     f(x (unquote y) (unquote z) - w)

Would it be possible to take (unquote <expression>) in the list as the
argument separator, and continue parsing as-if <expression> was spliced
into the list?

This is *very* hacky. However, it would allow one to write CALLs into
ARGUMENTs without parentheses (currently forbidden by the grammar).

The other ways to fix it:

1. Change FORMULA in the production of ARGUMENTS to VALUE. This makes `f
(a - b)` a syntax error, in favor of `f((a - b))` being the correct
expression.
2. specify that ARGUMENTS disambiguates by parsing the longest FORMULA
on the left, recursively. This makes `f(a - b)` parse with a single
argument, and you would have to do `f(a (- b))` to make it two
arguments. Another example, `f(a - b sin theta)` is two arguments `(f (-
a b) (sin theta))`, because `a - b` is the longest parse one can do (no
calls).

-- Peter McGoron