Begin forwarded message:
From: "Bill Schwab" <BSchwab@anest.ufl.edu> Date: June 1, 2008 3:27:45 PM CEDT To: <damien.cassou@gmail.com> Cc: <knight@acm.org>, <stephane.ducasse@inria.fr> Subject: Re: Discussion about Nile in Pharo
Damien,
That is a great next step. Dumb question: do I already have an account by virtue of being on the list, or do I need to create one?
Your rewrite to cope with #on: is fascinating, but I continue to wonder whether it is necessary. In fact, I _think_ I would prefer to rename the Nile classes (either up front or probably post-install via the RB) to be generic. While I too prefer idioms such as Array writeStream and aCollection readStream, #on: is perfectly ok, though clumsy. What we should do depends on your goal, and of course on what works best.
Changing to Nile via #readStream and #writeStream has its advantages, but the rewrite has made me greedy :) I am thinking of something like the following:
(1) prepare the image by renaming methods (#next -> #nextOrNil:, #next -> #nextAvailable:) to reflect current silently-truncating semantics
(2) add the silent truncating methods to Nile; add #on: methods to Nile, including comments referencing the shortcut methods
(3) change Nile's #next, #next: to raise errors; noting that after (1), the image will call the truncating methods, and only new code will see the errors
(4) either Smalltalk at:#ReadStream put:NSReadStream, etc., or perhaps better yet just ask the RB to rename the Nile classes, so that one codes in terms of ReadStream, WriteStream, catches EndOfStream. We can provide a defined set of RB steps that anyone can use in a throw-away image to prepare code that we did not fix for them; it should basically be step (1).
Comments? If you at all agree, feel free to edit and put it on the Wiki while I figure out how to access it.
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
"Damien Cassou" <damien.cassou@gmail.com> 06/01/08 6:30 AM >>> Hi Bill,
I writing a wiki page where I explain what we can do to slowly install Nile: https://gforge.inria.fr/plugins/wiki/index.php?refs=NileInstallation&id=1299...
You can help me with the redaction.
-- Damien Cassou Peter von der Ahé: «I'm beginning to see why Gilad wished us good luck». (http://blogs.sun.com/ahe/entry/override_snafu)