Proposing new features

I would like to suggest a methodology for handling future design issues.

We should specify *first* what any new feature should achieve, the 
abstraction, before suggesting any representation. This is to prevent 
similar constructs in other languages triggering pre-baked solutions.

We should raise issues that would need solving before it could be adopted, 
trying not to solve them in the discussion, just raising them.

Suggest *several* possible representations/syntaxes to spark the creative 
juices.

If possible, suggest what the resulting XML representation should look 
like.

Add personal discussion only after that.

I would also like to suggest we adopt the IBIS process or similar for 
discussing issues, as a tried method for directing discussions.
https://en.wikipedia.org/wiki/Issue-based_information_system

Example

Library feature.

An ixml grammar should be able to reference other grammars to use them.

ISSUES

Should they import them textually, or the parsed version, or just a 
reference to the textual or parsed version?

Does the resulting parsed ixml already include the referred-to ixml, or 
just the reference?

What about name clashes? Does it require scoping?

Should library grammars (be able to) specify which rules they are 
exporting?

Where are the grammars referred to? Is the reference a URL?

Potential syntaxes

use "iri.ixml"
using "iri.ixml"
import "iri.ixml"
include "iri.ixml"
insert "iri.ixml"
library "iri.ixml"
module "iri.ixml"

XML

Depending on the answers to the questions above

   <use ref="iri.ixml"/>

Steven

Received on Tuesday, 13 September 2022 10:55:53 UTC