From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Chris Vine Newsgroups: gmane.lisp.guile.user Subject: Re: Potluck - thread safe event loop with await semantics Date: Mon, 22 Feb 2016 18:12:38 +0000 Message-ID: <20160222181238.44241ad8@dell.homenet> References: <20160216214512.42e6fd39@bother.homenet> <878u2dosxu.fsf@gnu.org> <20160222174056.2091d806@dell.homenet> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1456164795 7036 80.91.229.3 (22 Feb 2016 18:13:15 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 22 Feb 2016 18:13:15 +0000 (UTC) To: Guile User Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Mon Feb 22 19:13:02 2016 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1aXuyf-0007Sk-J5 for guile-user@m.gmane.org; Mon, 22 Feb 2016 19:12:57 +0100 Original-Received: from localhost ([::1]:51044 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aXuyb-0000C1-Ft for guile-user@m.gmane.org; Mon, 22 Feb 2016 13:12:53 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:53896) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aXuyS-0000Bb-DA for guile-user@gnu.org; Mon, 22 Feb 2016 13:12:45 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aXuyP-0005tW-N7 for guile-user@gnu.org; Mon, 22 Feb 2016 13:12:44 -0500 Original-Received: from avasout08.plus.net ([212.159.14.20]:58474) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aXuyP-0005tK-Hc for guile-user@gnu.org; Mon, 22 Feb 2016 13:12:41 -0500 Original-Received: from dell.homenet ([87.115.102.251]) by avasout08 with smtp id MWCe1s0075RSpqF01WCgPJ; Mon, 22 Feb 2016 18:12:40 +0000 X-CM-Score: 0.00 X-CNFS-Analysis: v=2.1 cv=O6PEx0JW c=1 sm=1 tr=0 a=LKYHlaG36XqnqgCEqUWx/g==:117 a=LKYHlaG36XqnqgCEqUWx/g==:17 a=L9H7d07YOLsA:10 a=9cW_t1CCXrUA:10 a=s5jvgZ67dGcA:10 a=kj9zAlcOel0A:10 a=jFJIQSaiL_oA:10 a=Fwo3Pw8wAAAA:8 a=CcLUTRNvAAAA:8 a=11NuEdWAwy5XIdModgoA:9 a=uZ-6ZwXOlUiXmIMQ:21 a=TR8CvSflqk3D_VZg:21 a=CjuIK1q_8ugA:10 Original-Received: from dell.homenet (localhost [127.0.0.1]) by dell.homenet (Postfix) with ESMTP id B460E443A39 for ; Mon, 22 Feb 2016 18:12:38 +0000 (GMT) In-Reply-To: X-Mailer: Claws Mail 3.13.1 (GTK+ 2.24.29; x86_64-unknown-linux-gnu) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x (no timestamps) [generic] X-Received-From: 212.159.14.20 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Original-Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.user:12426 Archived-At: On Mon, 22 Feb 2016 12:53:10 -0500 "Thompson, David" wrote: > On Mon, Feb 22, 2016 at 12:40 PM, Chris Vine > wrote: > > > The other thing that may require further work is the > > documentation. I am used to doxygen or gtk-doc, neither of which I > > imagine will parse guile scheme code, so I will have to look into > > what is available (I don't like info). > > > > I'll post the URL when I have put it up. > > Please consider unifying with Chris Webber's 8sync project, which > covers the same territory and has been approved as an official GNU > project. > > https://notabug.org/cwebber/8sync 8sync has a nice design but the two cannot be unified because (i) 8sync does not try to be thread safe (it is strictly single-threaded), and (ii) it does not wrap an external event loop such as the glib/gtk+ event loop. In a number of ways it is considerably more sophisticated than my code, because it does not reveal the event loop at all, nor for that matter does it explicitly reveal its await/resume continuations. It is highly abstracted. They are just different things, which happen to both use delimited continuations in the same way. In particular, I think it essential that an asynchronous event loop should have the ability for worker threads to post events to it. Chris