On Jan 4, 2012, at 3:59 PM, Norbert Hartl wrote: > > Am 29.12.2011 um 23:04 schrieb Stéphane Ducasse: > >> Hi guys >> >> I thought that XMLSupport was about parsing and XMLNode traversal. >> So why the configuration contains references to SIXX and Grease Core? >> > It is called XMLSupport. So it combines xml support technologies (otherwise > it should be named ConfigurationOfXMLParsersAndDOM). I think Michael just > dropped the name in and nobody changed it. > > The presence of Sixx and the dependency of Grease is my duty (I'm > intentionally not writing 'my faul't). I'm working a lot in GemStone and > differences between the dialects are a real pain if you try to develop in > pharo and deploy in GemStone. As we also need to exchange data we ported Sixx > to GemStone. I've put Sixx in the configuration to keep the development of > XML parser and Sixx close because Sixx relies on the interface of xml parser > pretty much. As every module is a symbol there is no problem. And Sixx is not > loaded by default.
I know what is SIXX but to me you should write a ConfigurationOfSixx, if each package move its clients close to him then we will end up in a mess. > Sixx is a serializer/deserializer for XML and therefor is using streams. > Streams are one of those fine examples where platform differences can drive > you nuts. I couldn't understand all the fuzz of not using sport and > preferring grease for seaside but only for seaside etc. I had a hard time > dealing with platform subtleties for character encoding (yes, I care!) and > streams when it comes to dialects. So I decided to introduce grease and made > the GemStone port of Sixx depend on streams and character encoding behaviour > of grease (Please sue me!). Dale was so kind to make even GemStone Core to > depend on Grease to make Xml loadable by the core. But put that in ConfigurationOfSixx :) > Later I recognized that in pharo terms this is not possible. I had a > discussion with Sven because I wanted to have a zinc port for gemstone. But > he was more interested to get zinc close to pharo. So the grease way was not > an option and the result is the port to gemstone is still incomplete and hard > to maintain. > > Sorry for the long answer but this is just another story of how hard it is to > have modular systems where all of the mentioned issues wouldn't be that much > of a problem. I would wish that we find a good solution to make sources more > interchangable between platforms. I don't mean get rid of the dialect > differences (because I don't think it will happen) but to design code in a > way that platform subtleties can be compensated in an object oriented way. > > Norbert > >
