Is this your ideal, or mainly to align with Tonel? Because it seems Tonel was developed without much consideration of interactive method definition -- which is fine in as much as Tonel was designed to quickly overcome a specific problem with Windows+Git, but it Tonel shouldn't be set in stone since its introduction changes the environment and stimulates further thinking on requirements.
Not only. We decided that the methods syntax in tonel could be used in browser and in email. I have this proposal since before ESUG in lugano (2005) so I really thought about it a lot. This is not by accident that the code in all my book follow nearly this shape. The tonel structure is nice because it mimics also other languages. fooSignature { }
Amongst your many priorities, could you ask someone familiar with changing compiler syntax have a serious look at implementing both ways: 1. Tonel syntax for interactive method definition
Yes but we are really busy And yes we want this. So we should do it.
2. Named block parameters for interactive method definition
2 mega sucks. And we will not do it. Sorry.
to determine practically which one is preferred and easier to support.
I will veto 2. And I will be really strong on it. I'm teaching Pharo and this is enough.
And feed that into determining whether syntax should adapt to Tonel or whether Tonel should adapt to the latter. It would be better to do this earlier while Tonel is young before it becomes more widely used by other dialects.
Tonel method definition will not change.
Also btw, would having named block parameters possibly unify more methods and blocks? (only a random thought, I'm not familiar with the low level distinction)
This is not because they look the same that in the conceptual model they should. Now I would like to have optional parameter value (but it can be a bit touchy since there are many design decision to take and it impacts senders and the rest.
cheers -ben
P.S. should Tonel include a format-version field on the first line? Its seems a good practice even if the format never does change for a long time.
Tonel has a property file that encodes metadata.