> On 7 Oct 2017, at 10:10, Stephane Ducasse <[email protected]> wrote:
>
> Yes it would be good that class description do not use category else
> we will never be able to clean.
but as I said to Denis, adapting tonel would be easy, but it would be a
cosmetic change when what we actually need is to adapt the structure. Right now
Ring2 supports this, but Monticello metadata still doesn’t.
And I prefer to do the real fix, not just the cosmetic one… for me putting a
line like this:
TonelWriter >> methodDefinitionOf: aMethodDefinition
^ self toSTON: (OrderedDictionary new
at: #protocol put: aMethodDefinition category;
yourself)
would be a smell, and pointless.
but:
methodDefinitionOf: aMethodDefinition
^ self toSTON: (OrderedDictionary new
at: #protocol put: aMethodDefinition protocol;
yourself)
looks a lot better :)
Esteban
>
> Denis multiple tags for methods. when we will stop to add new features
> and stabilise what we have?
>
> Yes I'm not in a good mood because I see that I will have to migrate
> all calypso in the future to brick.
>
> Stef
>
> On Sat, Oct 7, 2017 at 10:08 AM, Stephane Ducasse
> <[email protected]> wrote:
>> Tim
>>
>> we talk about this format of methods year ago and we will like it and
>> we will not discuss it anymore.
>> For the record a method is a named block so it fits and we do not have
>> to have {} for method delimiters.
>>
>> Stef
>>
>> On Fri, Oct 6, 2017 at 11:34 PM, Tim Mackinnon <[email protected]> wrote:
>>> Gosh - It actually work quite well to be able to easily browse code online
>>> in a more traditional format of seeing an entire class. Hopefully this leads
>>> to us being able to share solutions to common language agnostic problems.
>>>
>>> One small observation - I quickly grok’d the use of class { …. } (with the
>>> curly braces) - but given that smalltalk methods often have lots of [ ]
>>> (square braces in them), I was a bit surprised to see that method
>>> declarations in tonal don’t use { … } (curly braces) to denote them, but
>>> instead use [ ] - which feels slightly strange given the class declaration
>>> above has. {}.
>>>
>>> Was it easier to parse this way, or is there some subtlety I missed? I would
>>> have been tempted to use {} for classes and methods and [] for the
>>> protocols as this more closely matches what other languages do - and it
>>> might actually make it more easily readable for other programmers. Given we
>>> have to learn this new format anyway - I’d be prepared to give a nod to what
>>> others do…
>>>
>>> Possibly this observation comes to late - and maybe there is compelling
>>> reason to go the route we have gone - but maybe its worth a quick double
>>> check as its an exciting development.
>>>
>>> Tim
>>>
>>> On 6 Oct 2017, at 18:18, Esteban Lorenzano <[email protected]> wrote:
>>>
>>> Hi all,
>>>
>>> I released Iceberg version 0.6. It includes a lot of small tweaks and fixes,
>>> but the most important inclusion is tonel file format which aims to replace
>>> file tree.
>>>
>>> What is Tonel? (https://github.com/pharo-vcs/tonel)
>>> Tonel is a file-per-class file format for monticello repositories. It’s
>>> purpose is to reduce the amount of files touched each operation, make the IO
>>> faster an compact the repositories database.
>>> It has also as an objective to offer an “easy-to-read” format, so people
>>> wanting to understand a chunk of code will recognise it easily.
>>> For testing, I migrated several of my projects to Tonel and I’ve been using
>>> it, you can see some as examples:
>>>
>>> https://github.com/estebanlm/MUDClient
>>> https://github.com/estebanlm/pharo-tonel (this was just an example and it
>>> has some minimal errors already fixed)
>>>
>>> We plan to migrate Pharo development to tonel to address some problems we
>>> have:
>>>
>>> - since it has to read/write a lot of files, IO operations are slow
>>> - and even much more slow in Windows
>>> - Windows also has a problem with longpaths.
>>>
>>> Iceberg 0.6 will be integrated to Pharo7 soon :)
>>> To update Pharo 6.1, there are instructions in the readme:
>>> https://github.com/pharo-vcs/iceberg/blob/master/README.md
>>> now, if you wan to migrate your projects to Tonel (from FileTree), here is a
>>> script you can use:
>>> https://github.com/pharo-vcs/tonel/blob/master/MigrateFromFileTree.md
>>>
>>> btw, tonel is independent of Iceberg and can be used with plain Monticello
>>> (but it is a metadaless format, history will reside on git, not on
>>> monticello).
>>>
>>> cheers,
>>> Esteban
>>>
>>>
>