CLIM mail archive
Re: CLIM philosophy wrt to X.
Date: Mon, 26 Aug 91 09:45 EDT
From: "David C. P. Linden" <DCPL@fuji.ila.com>
Subject: CLIM philosophy wrt to X.
To: email@example.com, clim@BBN.COM
Some of your concern is addressed by a
thought-about-but-never-implemented macro called with-buffered-output.
The full semantics have never been absolutely clear (including the
default), but the intent is to give some control back to the programmer
to say "The output in this dynamical scope is to be forced out as it
happens" and "The output in this dynamic scope may be buffered (e.g.,
for efficiency and speed)." Would this be an acceptable solution to
your concern, or do you need more?
I don't think a macro would be a good idea because:
1. it would require low level routines to check if they should buffer or
not, and they are already slow enough.
2. if the macro was implemented as a closure, this would cons in those
Common LISP's that still don't stack allocate closures.
3. Usually i don't want lots of operations unbufferred, i just want to be
sure the buffer is flushed by a particular time.
I'd rather just put FORCE-OUTPUT's where i know i really want the output
buffer emptied. I don't mind this being a noop on streams that don't
It would be reasonable for CLIM to put FORCE-OUTPUT's in some obvious
places like the loop inside TRACKING-POINTER, but i also think it is
reasonable to expect a developer to add others too.
Main Index |