[Pharo-project] about FS: a roadmap

Stéphane Ducasse Stephane.Ducasse at inria.fr
Wed Feb 9 19:06:56 CET 2011


Excellnt colin

>> 
> 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
> correctly.
> 
> 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
> 
> Agreed.
> 
>>        - 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
> 
> Agreed.
> 
>>        - 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
>>        raiseFileDoesNotExistsFor:
> 
> Sure.
> 
>> 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.
> 
> Cool!
> 
> Colin





More information about the Pharo-project mailing list