On Fri, 27 Feb 2009 09:39:54 +0100 (CET), Leslie P Polzer said:
I agree. I think the set of default bindings should be very minimal, not including any of the CL I/O variables.
Moreover this should be fixed ASAP since it affects library (e.g. Hunchentoot) user applications severely.
Sorry, I can't help there.
I think inheriting values is worse in general, because it leads to accidental capture of values that should be specific to each thread.
I'm not sure we're on the same page here: I intend to have only the values inherited, not the bindings themselves.
Is that the meaning you picked up?
Yes, I talking about the values too.
I dislike inherited values becuase you don't always know when threads will be created, e.g. a library might start a background maintenance thread when you call it for the first time. Inheriting values from the dynamic environment where that happens is undesirable IMHO.
Moreover, inheriting the value of any mutable object (e.g. readtable, pprint dispatch table) means sharing it between threads, which is little better than sharing the global value.