<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">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.<div class=""><br class=""></div><div class="">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. {}.</div><div class=""><br class=""></div><div class="">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…</div><div class=""><br class=""></div><div class="">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.</div><div class=""><br class=""></div><div class="">Tim</div><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On 6 Oct 2017, at 18:18, Esteban Lorenzano <<a href="mailto:estebanlm@gmail.com" class="">estebanlm@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hi all, <div class=""><br class=""></div><div class="">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.</div><div class=""><br class=""></div><div class="">What is Tonel? (<a href="https://github.com/pharo-vcs/tonel" class="">https://github.com/pharo-vcs/tonel</a>)</div><div class="">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. </div><div class="">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. </div><div class="">For testing, I migrated several of my projects to Tonel and I’ve been using it, you can see some as examples: </div><div class=""><br class=""></div><div class=""><a href="https://github.com/estebanlm/MUDClient" class="">https://github.com/estebanlm/MUDClient</a></div><div class=""><a href="https://github.com/estebanlm/pharo-tonel" class="">https://github.com/estebanlm/pharo-tonel</a> (this was just an example and it has some minimal errors already fixed)</div><div class=""><br class=""></div><div class="">We plan to migrate Pharo development to tonel to address some problems we have: </div><div class=""><br class=""></div><div class="">- since it has to read/write a lot of files, IO operations are slow</div><div class="">- and even much more slow in Windows</div><div class="">- Windows also has a problem with longpaths.</div><div class=""><br class=""></div><div class="">Iceberg 0.6 will be integrated to Pharo7 soon :)</div><div class="">To update Pharo 6.1, there are instructions in the readme: <a href="https://github.com/pharo-vcs/iceberg/blob/master/README.md" class="">https://github.com/pharo-vcs/iceberg/blob/master/README.md</a></div><div class="">now, if you wan to migrate your projects to Tonel (from FileTree), here is a script you can use: <a href="https://github.com/pharo-vcs/tonel/blob/master/MigrateFromFileTree.md" class="">https://github.com/pharo-vcs/tonel/blob/master/MigrateFromFileTree.md</a></div><div class=""><br class=""></div><div class="">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).</div><div class=""><br class=""></div><div class="">cheers, </div><div class="">Esteban </div></div></div></blockquote></div><br class=""></div></body></html>