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 Peter McGoron (01 Sep 2026 12:32 UTC)

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

 > It also avoids splitting predefined operators
in many sub-libraries (ex: (srfi 266 flonum)) that I failed to imagine
how it can be composed (ex: (import (srfi 266 flonum) (srfi 266
fixnum)).

You don't have to do this with hygienic matching: (srfi 266) could just
export all identifiers, and then raise an error if operation fl+ or
whatever is used but not supported.

 > I checked identifier-property and it looked promising on the paper but
I noticed that there is very few implementations. Peter points
Capy scheme and srfi 262. I have to check. It will take time...

This is relevant for hygienic-matching+extensibility. If you go for
hygienic matching, I would just cut out the extensibility section in
this SRFI. Then the whole thing could be implement in syntax-rules. (I'm
not telling you to rewrite the whole implementation to do that!) Then
later on, if identifier properties are more widely implemented, then you
(or someone else) can backwards-compatibly extend the syntax with
extensibility.

________________________________________________

 > It implies that part of the specification is to be rewritten. I have
to check. It will take time...

I think addressing Marc's point is simple.

The spec uses "parentheses" and "spaces" to mean "lists" and "separate
elements of a list." These are pretty commonly interchanged when talking
  informally, but are confusing when we talk about parsing. By replacing
these you should be able to fix the problem.

My suggestions:

Your text:

 > The arguments are either a single expression or a subexpression in
parentheses. When it is a subexpression in parentheses, the arguments of
the call are separated by spaces.

This should read

 > The arguments are either a single expression or a list subexpression.
When it is a list subexpression, the arguments of the call are the
elements of the list.

Your text:

 > Subexpressions are expressions enclosed in parentheses.

Should be:

 > Subexpressions are list data (i.e. lexically, they are enclosed in
parentheses).

Your text in the description of "call":

 > Space separated arguments.

Should be removed.

Your text:

 > Expressions can have subexpressions in parentheses.

Should be:

 > Expressions can have subexpressions, which are list data (i.e.
lexically, they are enclosed in parentheses).

Your text:

 > When argument of a call, spaces are interpreted as separating arguments.

Should be:

 > Each element of the list is interpreted as an argument to the call.

_______________________________

 > I was thinking I used R6RS macro facilities, but Marc tells I don't,
so I have to check. It will take time...

If the above changes are made, I think this point is addressed too.

_________________________________

I really like this proposal and I hope it is finalized.

-- Peter McGoron