Thanks.
this is why I propose a group to work on a new file library may be
starting from
GNU + rio interface + URI.
This can be a good item for pharo milestone 2. I will start to collect
information
(such as this email, GNU library, ....)
Stef
On Jul 30, 2008, at 8:29 PM, Lukas Renggli wrote:
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
_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project