[Cuis] Wrapper for file access in different Smalltalk dialects

Masashi UMEZAWA ume at blueplane.jp
Sun Jun 14 06:38:35 CDT 2015


Hello Juan,

Thank you for the patches and more tests! I'll adapt those updates for
other FileMan ports.

Best regards,

2015-06-07 12:42 GMT+09:00 Juan Vuletich <juan at jvuletich.org>:
> Hi Masashi,
>
> I was trying FileMan tests today and I saw they create some folders in my
> drive. The names looked a bit strange, so I took a closer look and found a
> couple of bugs. At least on Windows, #testRecursiveDelete instead of
> creating
>       subDir/aaa/bbb/ccc/ddd/eee/fff/ggg/test1
> it created
>        subDir/bbb/ccc/eee/ggg/test!
>
> So I wrote a few more tests on the issues I saw, and teaked the code to make
> them pass. The result is attached, and I think is useful for all ports of
> FileMan.
>
> Thanks,
> Juan Vuletich
>
> On 5/26/2015 11:34 PM, Masashi UMEZAWA wrote:
>>
>> Hi all,
>>
>> I think it is nice if FileMan is on the core package repository.
>>
>> FileMan for Cuis (and Squeak) has minimum dependencies to the existing
>> FileDirectory and DirectoryEntry. FileMan selectively uses a few
>> methods of them.
>>
>> So we can gradually adopt FileMan interfaces and trim the
>> FileDirectory and DirectoryEntry's non-intuitive methods.
>>
>> Another way of cleaning-up the file-related classes is to port
>> FileSystems to Cuis.
>> But since Cuis is a lightweight Smalltalk dialect, FileSystems might
>> be an overkill.
>>
>> Best regards,
>>
>> 2015-05-19 9:42 GMT+09:00 Juan Vuletich<juan at jvuletich.org>:
>>>
>>> Hi Folks,
>>>
>>> I apologize for talking before taking even a quick look, but anyway, We'd
>>> take a good look at this. And seriously consider replacing files stuff in
>>> Cuis base. Or at least adopting it as a core package in our repo.
>>>
>>> Thoughts?
>>>
>>> Masashi-san: opinions?
>>>
>>> Thanks,
>>> Juan Vuletich
>>>
>>>
>>> On 5/17/2015 12:07 PM, H. Hirzel wrote:
>>>>
>>>> Below are the comments from the FileMan package.
>>>>
>>>> Question: How do you compare the FileMan package to the FileSystem
>>>> package in Pharo?
>>>>
>>>>
>>>>
>>>>
>>>> https://github.com/mumez/Cuis-Smalltalk-FileMan/blob/master/FileMan-Core.pck.st#L45
>>>> I represent a single file entry (including directory).
>>>> You can write data by #fileContents: , and read the data by
>>>> #fileContents.
>>>> ---
>>>> mu 11/6/2006 20:21!
>>>>
>>>>
>>>>
>>>> https://github.com/mumez/Cuis-Smalltalk-FileMan/blob/master/FileMan-Core.pck.st#L53
>>>> I represent a single file directory.
>>>> I implement various directory specific behaviors.
>>>> You can write data by #at:put: , and read the data by #at:.
>>>> ---
>>>> mu 11/6/2006 20:21
>>>>
>>>>
>>>>
>>>> https://github.com/mumez/Cuis-Smalltalk-FileMan/blob/master/FileMan-Core.pck.st#L63
>>>> !FmFileIOAccessor commentStamp: '<historical>' prior: 0!
>>>> I am an accessor to the low level file IO.
>>>> You can extend/rewrite me if you port FileMan to other Smalltalk
>>>> dialects.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> https://github.com/mumez/Cuis-Smalltalk-FileMan/blob/master/FileMan-Example.pck.st#L44
>>>> !FmBackupDirectoryEntry commentStamp: 'mu 5/4/2007 23:26' prior: 0!
>>>> This is a simple example for adding special behaviors to
>>>> FmDirectoryEntry.
>>>> I backup file contents automatically, while users are not conscious
>>>> about
>>>> that.
>>>> Usage:
>>>> dir := './withBackup' asDirectoryEntry: FmBackupDirectoryEntry.
>>>> dir at: 'text' put: 'abc'.
>>>> dir at: 'text' put: 'def'.
>>>> (dir at: 'text') inspect. "def"
>>>> (dir backupAt: 'text') inspect. "abc"
>>>> ((dir / 'sub') at: 'text2' put: '123').
>>>> ((dir / 'sub') at: 'text2' put: '456').
>>>> ((dir / 'sub') at: 'text2') inspect. "456"
>>>> ((dir / 'sub') backupAt: 'text2') inspect. "123"
>>>>
>>>>
>>>>
>>>> https://github.com/mumez/Cuis-Smalltalk-FileMan/blob/master/FileMan-Example.pck.st#L63
>>>> This is a simple example for adding special behaviors to
>>>> FmDirectoryEntry.
>>>> I put and get file contents as gzipped, while users are not conscious
>>>> about that.
>>>> Usage:
>>>> | dir |
>>>> dir := './gzipped2' asDirectoryEntry: FmGZipDirectoryEntry.
>>>> dir binaryAt: 'bin' put: #(1 2 3 12 34 56) asByteArray.
>>>> (dir binaryAt: 'bin') inspect.
>>>> dir at: 'text' put: 'This will be gzipped'.
>>>> (dir at: 'text') inspect.
>>>> I would be useful for storing/loading big contents in a simple
>>>> dictionary-like manner.
>>>>
>>>>
>>>>
>>>> On 5/17/15, H. Hirzel<hannes.hirzel at gmail.com>   wrote:
>>>>>
>>>>> Hello Masashi-san
>>>>>
>>>>> I'd like to come back to your FileMan package
>>>>>
>>>>> https://github.com/mumez/Cuis-Smalltalk-FileMan
>>>>>
>>>>> and ask a question.
>>>>>
>>>>> Is this package a port from somewhere or did you write it from scratch?
>>>>>
>>>>> Some background information is appreciated.
>>>>>
>>>>> There is no description
>>>>>
>>>>>
>>>>> https://github.com/mumez/Cuis-Smalltalk-FileMan/blob/master/FileMan-Example.pck.st#L2
>>>>>
>>>>> Thank you in advance
>>>>>
>>>>> Hannes Hirzel
>>>>>
>>>>>
>>>>> On 5/2/14, Masashi UMEZAWA<ume at blueplane.jp>   wrote:
>>>>>>
>>>>>> Hi all,
>>>>>>
>>>>>> Thank you for the kind words. I've just started Cuis on March, and I
>>>>>> was impressed with its cleanness, simplicity, etc.
>>>>>> So I did a introductory presentation at Tokyo Smalltalkers meeting. It
>>>>>> was successful.
>>>>>> Now I'm planning to port Folktale (telnet-base object shell), and SIXX
>>>>>> to Cuis. My pace maybe slow, but please stay tuned. ;)
>>>>>>
>>>>>> Best regards,
>>>>>>
>>>>>> 2014-05-02 1:05 GMT+09:00 Germán Arduino<garduino at gmail.com>:
>>>>>>>
>>>>>>> Wow, I was completely unaware of Masashi working in Cuis! Welcome
>>>>>>> aboard!!
>>>>>>>
>>>>>>>
>>>>>>> 2014-05-01 12:19 GMT-03:00 H. Hirzel<hannes.hirzel at gmail.com>:
>>>>>>>
>>>>>>>> Thank you for the link to  Masashi Umezawa's presentation.
>>>>>>>>
>>>>>>>> It is from 2014 and talks about
>>>>>>>>
>>>>>>>> - the number of classes compared to Squeak and Pharo
>>>>>>>> - the size of Morphic -- Morph allSelectors size "=>   502"
>>>>>>>> - something I do not fully get about instance variables
>>>>>>>>        'bounds owner submorphs fullBounds color extension'
>>>>>>>>        versus
>>>>>>>>       'owner submorphs location layoutNeeded layoutSpec properties'
>>>>>>>> - layoutSpec
>>>>>>>> - PackageInfo
>>>>>>>> - version control with git
>>>>>>>> - Feature require: '<PackageName>'.
>>>>>>>> - your Unicode package
>>>>>>>> https://github.com/KenDickey/Cuis-Smalltalk-Unicode
>>>>>>>> - https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-StyledTextEditor
>>>>>>>> - How to query for other Cuis-Smalltalk repositories
>>>>>>>>                https://github.com/search?q=cuis-smalltalk
>>>>>>>>
>>>>>>>> All things which we will include Cuis documentation effort.
>>>>>>>>
>>>>>>>> --Hannes
>>>>>>>>
>>>>>>>> On 5/1/14, Ken Dickey<Ken.Dickey at whidbey.com>   wrote:
>>>>>>>>>
>>>>>>>>> On Thu, 1 May 2014 07:28:54 +0000
>>>>>>>>> "H. Hirzel"<hannes.hirzel at gmail.com>   wrote:
>>>>>>>>>
>>>>>>>>>> A noteworthy effort
>>>>>>>>>>
>>>>>>>>>>         https://github.com/mumez/Cuis-Smalltalk-FileMan
>>>>>>>>>
>>>>>>>>> Yes.  Masashi Umezawa is the man in Japan!
>>>>>>>>>
>>>>>>>>> He should introduce himself.
>>>>>>>>>
>>>>>>>>> He gave a talk about Cuis at the 63rd Smalltalkers' meeting in
>>>>>>>>> Tokyo:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> http://www.smalltalk-users.jp/Home/gao-zhi/dai63kaismalltalkbenkyoukai/shiryou
>>>>>>>>>
>>>>>>>>> Masashi has ported several packages to CUis.
>>>>>>>>>
>>>>>>>>> Because of Unicode interest, I was made aware that recent font
>>>>>>>>> tweaks
>>>>>>>>> have
>>>>>>>>> broken my Unicode package in the latest Cuis versions.
>>>>>>>>>
>>>>>>>>> Masashi-san, would you care to tell us about yourself and what
>>>>>>>>> people
>>>>>>>>> there
>>>>>>>>> think about Cuis?
>>>>>>>>>
>>>>>>>>> -KenD
>>>>
>>>> _______________________________________________
>>>> Cuis mailing list
>>>> Cuis at jvuletich.org
>>>> http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
>>>
>>>
>>
>>
>



-- 
[:masashi | ^umezawa]




More information about the Cuis mailing list