Tim,
I like the points you raise.
On 12/13/12, tim Rowledge tim@rowledge.org wrote:
On 12-12-2012, at 6:59 PM, Chris Muller asqueaker@gmail.com wrote:
I just think its worth asking, though, whether a "core" system should provide that rich a model out-of-the-box or instead just a bland, one-layer-above-the-primitives lightweight model ready to be easily wrapped by the user's _own_ rich model of a FileSystem.
You mean,
a) Colin's FileSystem should be wrapped around FileDirectory? (The is no reference to FileDirectory from any of the new FS packages, This would maintain backward compatibility and at the same time give a more abstract view. )
Or
b) Colin's FileSystem wrapped around a low-level replacement of FileDirectory? plus a compatibility layer of top which gives back FileDirectory
My experience suggests that the smart approach is to build a core system that has the parts of the rich model that are needed to support the stuff you want in the core and to make sure that the rest can be easily and non-destructively added as part of building up the system.
Yes, indeed.
That both allows and discourages the roll-your-own-in-a-hurry; which seems a good compromise between encouraging smart re-use of available code and allowing the truly nuts to invent something even better on the odd occasions they don't utterly crater.
There *should* be a way to provide a compatibility layer of fake-FileDirectory nastiness over the top of a nice FileSystem.
Yes,
Marcus Denker mentions on the Pharo list that this might be an option for Pharo to do
http://forum.world.st/To-try-out-FileSystem-in-2-0-which-download-td4649945.... (full citation see below)
It really is about time a good clean design got to have a chance;
Yes, and the inclusion of Colin's FileSystem into Squeak is planned for 4.5 as I understand the minutes of the board meetings.
there's been way too much crapulence in FileDirectory over the decades.
Yes.
I should know - I wrote a fairly large part of it, several times in fact, and always because nobody wanted to make a change to a good system.
Grate to have you still around here.
In the meantime the attitude has changed and for now (or better early 2013) the addition of FileSystem is planned.
As of now just a SqueakMap Squeak 4.4 entry for the load script of FileSystem might do the job. Could anybody take this on please?
Colin writes that the FileSystem implementation he has been working on for many years (
http://wiresong.ca/filesystem/ ) is pretty close to the Pharo version which is a fork of it.
Colin and the Pharo programmers recently did a sync as Colin writes in http://lists.squeakfoundation.org/pipermail/squeak-dev/2012-November/166519....
A easyt to read tutorial for FileSystem is here http://pharobooks.gforge.inria.fr/PharoByExampleTwo-Eng/latest/FileSystem.pd...
To load FileSystem into Squeak
(Installer wiresong project: 'mc') addPackage: 'FS-Core'; addPackage: 'FS-Disk'; addPackage: 'FS-Memory'; addPackage: 'FS-AnsiStreams'; addPackage: 'FS-Zip'; "addPackage: 'FS-Xtreams';" addPackage: 'FS-FileStream'; addPackage: 'FS-Tests-Core'; addPackage: 'FS-Tests-AnsiStreams'; " addPackage: 'FS-Tests-Xtreams'; " addPackage: 'FS-Tests-Zip'; addPackage: 'FS-Tests-Disk'; addPackage: 'FS-Tests-FileStream'; install.
does the job (script taken from http://lists.squeakfoundation.org/pipermail/squeak-dev/2012-
September/165822.html)
Two packages which depend on the presence of Xtreams are not loaded. As for this thread Xtreams is a different issue.
FileSystem Testrunner results 300 tests, 297 passes, 3 errors.
--Hannes