[Pharo-project] about FS: a roadmap
Stephane.Ducasse at inria.fr
Wed Feb 9 19:06:56 CET 2011
> I've published my changes to the SqueakSource FS repository. However,
> I think we should abandon them, for several reasons:
> They're based on a quite old version of FS, and they touch a *lot* of
> methods. So there are a ton of conflicts, and merging them into the
> latest versions that are on SqueakSource is really difficult to do
> Also, I think they're ultimately going in the wrong direction, and we
> should try to come up with a better solution to the Path/Reference
> naming problem.
Ok I guess that with good comment and a bit of package reorganization as I did it
we can leave with FSPath.
>> I will integrate the fixes of damien.
>> I would like to have
>> - a better help (already there).
>> - Rename workingDirectory as workingDirectoryPath
>> - add workingDirectory returning a FSReference
>> - Every method with an adequate comment. The idea is that the comment should describe what the method does when we do not see its
>> body: let us try to think a bit in JavaDoc or Ruby Yard fashion for once.
> Also agreed, at least for the public API. Comments should be more
> sparse for the private stuff.
>> - Use rename primitives
>> - Have the possibility to create empty file
>> - Clean identification of implementation tests and black box tests
>> - Integrate Gemstone fixes
>> - Stream usage clearly identified to support Gemstone migration)
>> - Onion like structure so that we can have one or two packages that are really the core
>> (yes I still want a minimal kernel).
> I'd like to see FS split into separate packages:
> - Core (basic, API, resolvers, enumeration and exceptions)
> - MemoryFS
> - DiskFS
> - ZipFS
> - GitFS
> - CurlFS
> - FileStream compatibility
> - ANSI streams
> - Xtreams integration
> This will make it easier to have a minimal installation (just Core and
> DiskFS) as well as port to platforms like VW and Gemstone
>> - Check the file API creation:
>> old, new, exist....
> Sure, but that stuff is actually much simpler when you have read-only
> and write-only streams.
>> - Prepare a migration path for 1.3
>> - Fix filesystem workingDirectory isWorkingDirectory returns false.
>> - rename fileDoesNotExist: and friends do convey that its goal is mainly to raise en exception
>> Of course I would like to avoid to throw away all that good energy so I hope to collaborate with colin.
>> We will see what will happen. I can understand that he has another agenda/time frame but we should
>> move on this front. So all my code will be publicly available in the SqueakSource/fs repository.
More information about the Pharo-project