- From: Steven Pemberton <steven.pemberton@cwi.nl>
- Date: Tue, 12 May 2026 11:39:41 +0000
- To: "Norm Tovey-Walsh" <norm@saxonica.com>
- Cc: ixml <public-ixml@w3.org>
On Monday 11 May 2026 02:46:44 PM (+02:00), Norm Tovey-Walsh wrote: > Broadly, I think our requirements are aligned. > > A few comments… > > > * There should be no change required to ixml proper: > > just use the existing syntax and semantics. > > Both of the proposals involve new syntax (and, arguably, new semantics for the new syntax) so I’m not sure this is clear as stated. I think the intent is that after modularity has been “resolved” as it were, the same syntax, with the same semantics, remain. Yes, that is what I meant with "ixml proper". There is new syntax for modules, but the underlying ixml stays the same. There is no change to the definition of 'rule' for instance. > > * It should be possible to include any rule from a grammar. Ultimately, reuse should be in the hands of the author of the including grammar. > > I think we both agree that a grammar author should be able to say what the public interface is. I think an author engaged in reuse should have the freedom to bypass that interface. I disagree. I think a module should be inviolable. If the author needs a new rule, then make one; if the user needs a different module, then make one; if there is a usecase for the module to be parameterised, then make a separate module that that module uses. But don't go messing with someone else's module; you shouldn't know how that module is constructed. > There’s no object code form here, there’s nothing preventing someone from just cutting and pasting. But we want to offer a mechanism that makes that unnecessary where possible. Sometimes that may mean reaching in and poking at “private” parts of the grammar being included. Your gun, your bullet, your foot. I disagree. By the way, I went through several versions of use/share before ending there. In particular, I avoided using "include" since I didn't want to suggest the C preprocessor semantics, and you have to say what you are using from a module so that the using grammar can be independently checked without necessarily knowing what was in a module: that would break one of my requirements that the module writer can change anything except the interface. Best wishes, Steven
Received on Tuesday, 12 May 2026 11:39:58 UTC