[armedbear-devel] CL:SLEEP fixed for sub-millisecond intervals

James M. Lawrence llmjjmll at gmail.com
Sat Mar 29 18:41:00 UTC 2014


On Tue, Mar 25, 2014 at 5:26 AM, Mark Evenson <evenson at panix.com> wrote:
> I propose to interpolate non-zero values specified by the user of less than a nanosecond to CL:SLEEP/THREADS:OBJECT-WAIT to mean a sleep/wait for a nanosecond.  If the user specifies a zero-value, then she will get an infinite timeout.

Yes, if we can't sleep/wait for zero seconds, then 1 ns is the next
best thing. The misdesign of the java.lang.Object.wait API goes from
ugly to wrong for arbitrarily fast machines of the future, but we
aren't there yet.

> P.S. not sure what you mean by the "separation of the reader phase in Lisp does not mix well...".  What does the Lisp reader have to do with the discontinuity of the API?

In retrospect it isn't a significant point. The catastrophic
difference in behavior between zero and near-zero is bad enough on its
own, but it's made a little bit worse when the reader rounds to zero.
Wherever parse trees are used instead of program text (e.g. sending
Lisp sexp data to a server), the intended meaning of the code is that
much farther away.



More information about the armedbear-devel mailing list