Hi Esteban,

> On Sep 8, 2017, at 7:08 PM, Esteban Lorenzano <[email protected]> wrote:
> 
> 
> 
>> On 8 Sep 2017, at 22:35, Peter Uhnák <[email protected]> wrote:
>> 
>> for example here
>> 
>> https://github.com/estebanlm/pharo-tonel/blob/master/src/Morphic-Core/Morph.class.st
>> 
> but this is still WIP: for example timestamp needs to go to avoid conflicts.

If there is still time to change the syntax slightly I would get rid of the 
white space around the method source so instead of

Point class >> x: anInt1 y: anInt2
  [
    ^ self new setX: anInt1 Y: anInt2
  ]

specify it must be

Point class >> x: anInt1 y: anInt2
  [
    ^ self new setX: anInt1 Y: anInt2]

because trailing white space will only accumulate, something I see in Pharo and 
Squeak code.

Alternatively have the output add white space if required and the input remove 
any and all trailing white space.

> 
>> and it also shows one downside --- up until now we didn't care much about 
>> how many methods are in class (because it was just another file), but now we 
>> have 10000 lines of code class.
> 
> I do not think this is a huge problem since the format is not intended to be 
> for direct edition, but yes, this is a downside... no format will be perfect.

I don't think it's even a problem.  It's a benefit..  It's /much/ more 
convenient to be able to edit a single file than edit many different files if 
editing is required.  We already know the advantage it has in getting selectors 
out of file names :-)

The main issue with a file containing many methods is method order stability.  
So sort by alphabetical order of method selector, not by protocol.

> 
> Esteban
> 
>> 
>> 
>> 
>>> On Fri, Sep 8, 2017 at 10:25 PM, Stephane Ducasse <[email protected]> 
>>> wrote:
>>> From memory one class of class/trait and one for extension
>>> 
>>> In class/Trait
>>> 
>>> "class / trait comments
>>> 
>>> 
>>> comment"
>>> 
>>> Special STON order for classes to minimic our logical order (ie
>>> package tag add the end).
>>> 
>>> Class {
>>> 
>>> }
>>> 
>>> or
>>> 
>>> Trait {
>>>    name: #T
>>> }
>>> 
>>> +
>>> 
>>> Point class >> x: anInt1 y: anInt2
>>>   [
>>>     ^ self new setX: anInt1 Y: anInt2
>>>   ]
>>> 
>>> 
>>> +
>>> 
>>> STON for meta data
>>> 
>>> {category : "printing"}
>>> 
>>> 
>>> Since I do not know STON all the above can be wrong but this is the idea.
>>> 
>>> 
>>> Stef
>>> 
>>> 
>>> On Fri, Sep 8, 2017 at 10:02 PM, Eliot Miranda <[email protected]> 
>>> wrote:
>>> > Hi All,
>>> >
>>> >> On Sep 8, 2017, at 9:44 AM, Stephane Ducasse <[email protected]> 
>>> >> wrote:
>>> >>
>>> >> Hi all
>>> >>
>>> >> At ESUG we discussed with Esteban, martin mcClure, Dale and (many many
>>> >> others :), esteban designed a nice class file format. So that we will
>>> >> not have 2Gb of space on harddisc, problems with long method names and
>>> >> sluggish commits.
>>> >
>>> > Wow, that's great news!  It'll make it much easier to import from Pharo 
>>> > hit repositories.  Thank you, Esteban!
>>> >
>>> > Can someone post the grammar or a description of the syntax asap?
>>> >
>>> >>
>>> >> He is waiting at Wien and is probably checking everything right now.
>>> >>
>>> >> It is a nice format because we will be able to use it to communicate
>>> >> by emails using it. So readable, compact and I like it :)
>>> >
>>> > Lovely!  Details please :-)
>>> >
>>> >>
>>> >> Stef
>>> >>
>>> >
>>> 
>> 

Reply via email to