[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 06/10] add most lisp-level features
From: |
Stefan Monnier |
Subject: |
Re: [PATCH 06/10] add most lisp-level features |
Date: |
Mon, 13 Aug 2012 16:46:54 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.1.50 (gnu/linux) |
> Yet one more observation here. The Bordeaux approach lets you specify
> which bindings to capture.
AFAIK, you can easily do that manually with the "no capture" behavior
as well.
> It seems to me that some such mechanism is necessary, at the very
> least. Otherwise, passing a local variable into a thread seems
> difficult, unless you assume that only lexical-binding:t code will
> want to make threads.
Converting to lexical-binding is fairly easy in my experience (at least
for code whose byte-compilation doesn't spit out hundreds of warnings).
So, yes, I assume that lexical-binding will be a common case for
threaded code and I'm happy to make things a bit harder for the
dynamic-binding case if it can make the whole approach simpler
and cleaner.
The concurrency code makes dynamic binding more expensive anyway
(either because of the need to unwind&rewind them during context switch,
or because accessing those vars requires fetching the current
thread-local value), so it naturally likes lexical-binding.
> Maybe everything important really will use lexical binding.
At least the `make-thread' code will likely be in a lexical-binding
file, yes.
Stefan