emacs-devel
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]