* How about running some slave lisp virtual machines in emacs to do background work?
@ 2018-06-28 16:39 Zhang Haijun
0 siblings, 0 replies; 2+ messages in thread
From: Zhang Haijun @ 2018-06-28 16:39 UTC (permalink / raw)
To: emacs-devel@gnu.org
The slave lisp machine knows nothing in the master lisp machine
(buffers, windows, frames ...), and it can't interact with the user.
They are just background workers, and can only run lisp code in it's own
environment.
Every slave machine is standalone, and doesn't share data with other
machines(maybe can share copy-on-write data). So it can be fully
multi-threading and can do heavy computing work.
Lisp programs in the main machine can send tasks(or lisp codes) to slave
machines, and wait for results. And programs in the slave machine can
send notifications to the master machine. Here they need a IPC framework
to work better with each other.
The slave lisp machines may be limited to be a sandbox to run only safe
codes.
Lisp programs in the master machine can create slave machines to use.
Something like async.el, but can share data more efficiently.
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: How about running some slave lisp virtual machines in emacs to do background work?
[not found] <8c76d527-b2c7-8a53-d92c-40dcdb263fc7@outlook.com>
@ 2018-07-14 11:50 ` Zhang Haijun
0 siblings, 0 replies; 2+ messages in thread
From: Zhang Haijun @ 2018-07-14 11:50 UTC (permalink / raw)
To: emacs-devel@gnu.org
Find something similar (web worker):
https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers
On 06/29/2018 12:39 AM, jun wrote:
> The slave lisp machine knows nothing in the master lisp machine
> (buffers, windows, frames ...), and it can't interact with the user.
> They are just background workers, and can only run lisp code in it's own
> environment.
>
> Every slave machine is standalone, and doesn't share data with other
> machines(maybe can share copy-on-write data). So it can be fully
> multi-threading and can do heavy computing work.
>
> Lisp programs in the main machine can send tasks(or lisp codes) to slave
> machines, and wait for results. And programs in the slave machine can
> send notifications to the master machine. Here they need a IPC framework
> to work better with each other.
>
> The slave lisp machines may be limited to be a sandbox to run only safe
> codes.
>
> Lisp programs in the master machine can create slave machines to use.
>
> Something like async.el, but can share data more efficiently.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2018-07-14 11:50 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-06-28 16:39 How about running some slave lisp virtual machines in emacs to do background work? Zhang Haijun
[not found] <8c76d527-b2c7-8a53-d92c-40dcdb263fc7@outlook.com>
2018-07-14 11:50 ` Zhang Haijun
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).