all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* CSP for Elisp?
@ 2013-08-22 15:35 Tim Visher
  2013-08-22 18:28 ` Stefan Monnier
  0 siblings, 1 reply; 6+ messages in thread
From: Tim Visher @ 2013-08-22 15:35 UTC (permalink / raw)
  To: emacs

Is anyone aware of any efforts going on to bring [CSPs][] a la
[core.async][] or [go][] to elisp?

[CSPs]: http://en.wikipedia.org/wiki/Communicating_sequential_processes
[core.async]: http://clojure.com/blog/2013/06/28/clojure-core-async-channels.html
[go]: http://golang.org/doc/effective_go.html#concurrency

--

In Christ,

Timmy V.

http://blog.twonegatives.com/
http://five.sentenc.es/ -- Spend less time on mail



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: CSP for Elisp?
  2013-08-22 15:35 CSP for Elisp? Tim Visher
@ 2013-08-22 18:28 ` Stefan Monnier
  2013-08-22 18:43   ` Tim Visher
  0 siblings, 1 reply; 6+ messages in thread
From: Stefan Monnier @ 2013-08-22 18:28 UTC (permalink / raw)
  To: help-gnu-emacs

> Is anyone aware of any efforts going on to bring [CSPs][] a la
> [core.async][] or [go][] to elisp?

We'd like to add concurrency to Elisp, but there is not much progress in
this area.  There is a `concurrency' branch with some work-in-progress
patches to provide ways to start a new thread, but it still needs a lot
of work.
Help would be very welcome (even more so than usual).


        Stefan




^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: CSP for Elisp?
  2013-08-22 18:28 ` Stefan Monnier
@ 2013-08-22 18:43   ` Tim Visher
  2013-08-23  0:57     ` Stefan Monnier
  0 siblings, 1 reply; 6+ messages in thread
From: Tim Visher @ 2013-08-22 18:43 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs

On Thu, Aug 22, 2013 at 2:28 PM, Stefan Monnier
<monnier@iro.umontreal.ca> wrote:
>> Is anyone aware of any efforts going on to bring [CSPs][] a la
>> [core.async][] or [go][] to elisp?
>
> We'd like to add concurrency to Elisp, but there is not much progress in
> this area.  There is a `concurrency' branch with some work-in-progress
> patches to provide ways to start a new thread, but it still needs a lot
> of work.
> Help would be very welcome (even more so than usual).

Just to be sure that we're both talking about the same thing, I'm
referring to ['concurrency', not 'parallelism'][pike].

The cool thing about this (in terms of `core.async`) is that the
concurrency models hold up even in single-threaded environments. Hence
`core.async` working just fine under [ClojureScript][].

So I'm specifically talking about efforts in that direction. To be
honest, parallelism in terms of elisp is quite frightening as it has
uncontrolled mutation in the language.

So are we talking about the same thing?

[pike]: http://vimeo.com/49718712
[clojurescript]:
http://rigsomelight.com/2013/08/12/clojurescript-core-async-dots-game.html

--

In Christ,

Timmy V.

http://blog.twonegatives.com/
http://five.sentenc.es/ -- Spend less time on mail



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: CSP for Elisp?
  2013-08-22 18:43   ` Tim Visher
@ 2013-08-23  0:57     ` Stefan Monnier
  2013-08-23 19:00       ` Tim Visher
  0 siblings, 1 reply; 6+ messages in thread
From: Stefan Monnier @ 2013-08-23  0:57 UTC (permalink / raw)
  To: help-gnu-emacs

> Just to be sure that we're both talking about the same thing, I'm
> referring to ['concurrency', not 'parallelism'][pike].

Yes, definitely concurrency.

My understanding is that cooperative threading could be in Emacs-25, if
a few people put enough work into it.  There was a proof-of-concept
"working" a couple years ago (IIUC Gnus could run in its own thread).

For true concurrency in Elisp you might have to wait for Emacs-30.
Tho you might get true concurrency in Emacs sooner if we switch
to Guile.


        Stefan




^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: CSP for Elisp?
  2013-08-23  0:57     ` Stefan Monnier
@ 2013-08-23 19:00       ` Tim Visher
  2013-08-24 14:06         ` Stefan Monnier
  0 siblings, 1 reply; 6+ messages in thread
From: Tim Visher @ 2013-08-23 19:00 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs

On Thu, Aug 22, 2013 at 8:57 PM, Stefan Monnier
<monnier@iro.umontreal.ca> wrote:
>> Just to be sure that we're both talking about the same thing, I'm
>> referring to ['concurrency', not 'parallelism'][pike].
>
> Yes, definitely concurrency.
>
> My understanding is that cooperative threading could be in Emacs-25, if
> a few people put enough work into it.  There was a proof-of-concept
> "working" a couple years ago (IIUC Gnus could run in its own thread).
>
> For true concurrency in Elisp you might have to wait for Emacs-30.
> Tho you might get true concurrency in Emacs sooner if we switch
> to Guile.

Awesome. I can't necessarily say that I'll be able to help at all but
I'll certainly check out that branch. Are there design docs or
discussions floating around anywhere?

--

In Christ,

Timmy V.

http://blog.twonegatives.com/
http://five.sentenc.es/ -- Spend less time on mail



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: CSP for Elisp?
  2013-08-23 19:00       ` Tim Visher
@ 2013-08-24 14:06         ` Stefan Monnier
  0 siblings, 0 replies; 6+ messages in thread
From: Stefan Monnier @ 2013-08-24 14:06 UTC (permalink / raw)
  To: help-gnu-emacs

> Awesome. I can't necessarily say that I'll be able to help at all but
> I'll certainly check out that branch. Are there design docs or
> discussions floating around anywhere?

It's been discussed in emacs-devel, tho I can't find the threads
right now.


        Stefan




^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2013-08-24 14:06 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-08-22 15:35 CSP for Elisp? Tim Visher
2013-08-22 18:28 ` Stefan Monnier
2013-08-22 18:43   ` Tim Visher
2013-08-23  0:57     ` Stefan Monnier
2013-08-23 19:00       ` Tim Visher
2013-08-24 14:06         ` Stefan Monnier

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.