Stef, The streams are a mess, and the more I work with them, the more I understand the desire to replace them with Nile. For now, I am simply inserting some methods that behave well (work when they should, raise errors when they should) to allow me to begin doing some real work. My view is that I can always add helper classes and methods as needed. Whether that gets around fragile design (#nextOne) or is a one-place fix for the myriad times I open a file, it can always be rewritten to work with whatever we create. URIs make sense. I have never been happy with the ways I split and combine paths, so those things will have to be rewritten, especially since they are Windows-specific. Bill Wilhelm K. Schwab, Ph.D. University of Florida Department of Anesthesiology PO Box 100254 Gainesville, FL 32610-0254 Email: bschwab@anest.ufl.edu Tel: (352) 846-1285 FAX: (352) 392-7029
stephane.ducasse@inria.fr 07/19/08 5:49 AM >>>
On Jul 18, 2008, at 5:01 PM, Bill Schwab wrote:
Stef,
I do not doubt that the image is littered with such problems. On several occasions, I lost 10-15 minutes tracking down errors that resulted from unopened files. It is all a continuation of my streams "rant" (a well-intentioned one, of course).
Meaning no disrespect to the milestones (in particular, streams being slated for the future), I have undertaken an effort similar to what you propose: putting an end to silent failures and lack of protection. As a streams addict, I need stable semantics, and have thus embarked on my #nextOne, #nextMany:, etc. solution to reaching that goal. It also became clear that FileStream was quite unfriendly, so I started adding Dolphin-compatible methods, at least to a point. My primary goal is to have errors arise when appropriate vs. waiting for potentially/apparently disconnected collateral damage to occur.
I have the impression that FileStream should be patched but also just rewritten from scratch. I was discussing with mike about the use of URI in sophie. He told me that they got a really nice solution which was offering cross platform real portability
Dolphin's semantics will not be completely appropriate for Squeak, because there are OS (in)dependencies to consider. I want that to work well so I can treat my Redmond allergy.
I urge Smalltalkers to avoid #next and #next: like the plague, but one could always use my changes and ignore the replacements. A very incomplete but gradually evolving change set is available on request.
ok good to know. _______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project