Squeak and the filesystem
2 May, 2008
One of the stumbling blocks for experienced developers looking at Squeak for the first time is the concept of the “image”. Many developers, especially from the UNIX world are used to managing their source code and other resources with a host of file-based utilities, including editors, archivers and change-management tools.
The Squeak philosophy that everything happens within the image can make the transition to Squeak painful for such developers, but there are tools out there to help with the transition. Two such tools were discussed recently on the #squeak irc channel.
Johan Björk announced the release of SqueakFS, which allows you to browse and search all objects contained in your squeak image from your local file system. SqueakFS is currently read-only, but the developers are interested in adding editing capabilities. The file system functionality is provided by a socket client built on top of FusePython. This client translates file system paths into squeak objects and queries a server running in the squeak image for details on these objects. In order to do this, SqueakFS uses FusePython for file system support and is dependent on both FUSE and Python and will only work on UNIX systems. SqueakFS has been developed and tested on Linux 2.6 and MacOS Leopard running on Intel systems.
Brian Rice pointed to another recent project, Stave, which mounts sources on a webDAV share, and so provides an editable WebDAV interface to Squeak’s class system. With the use of a WebDAV filesystem or a webDAV-enabled editor, this enables a file-based view on Squeak. Stave is intended primarily for use with external editors, and hasn’t been tested with search tools.