> because the interface of rio is looking good. I agree, and I think it Rio goes in the right direction. I have some things to consider before including RIo in Pharo though:
- I read everything mentioned about the Null pattern and checked its use in Rio. This looks nice and probably makes sense in the context. I don't believe however that something like that should be part of a standard image. People won't understand it, beginners will be confused and it is highly incompatible with any other Smalltalk dialect. - Rio prominently uses #doesNotUnderstand: for delegation (not only for the Null implementation). In my opinion this is a big no-go for any core-library. This looks like a design smell. It makes debugging and code understanding unnecessarily hard. - Internally Rio uses string concatenation everywhere. For example to get the parent directory the path is split into two parts and a new object is created. What about paths that contain $/ as part of a file-name? - Rio mixes meta-levels. For example the inst-vars 'recursive', 'rename' and 'binary' (temporary navigation settings) are on a completely different level than 'value' and 'stat' (the actual model object). - Rio uses a string as the internal representation of the path (Why not a chain of parent directories?). When opening a Smalltalk image on a different platform a conversion is supposed to happen, however this is not implemented as far as I can see. I think a correct implementation will be complicated because for n platforms n^2 conversion methods have to be provided. - Rio does not support relative paths. If you get the directory relative to the default path it simply stores the full absolute path. If I move the Smalltalk image around, Rio points to the wrong location. - Rio uses several non-standard extensions that I don't know where they are coming from. I run across: Stream>>#<< and Stream>>#, - Why copy the name of a Ruby framework? Cheers, Lukas -- Lukas Renggli http://www.lukas-renggli.ch _______________________________________________ Pharo-project mailing list [email protected] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
