From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Chris Vine Newsgroups: gmane.lisp.guile.user Subject: Re: Passing objects between threads Date: Sat, 10 Sep 2016 22:36:38 +0100 Message-ID: <20160910223638.4a5ce4c7@bother.homenet> References: <20160910153006.695295d7@bother.homenet> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Trace: blaine.gmane.org 1473543445 2947 195.159.176.226 (10 Sep 2016 21:37:25 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sat, 10 Sep 2016 21:37:25 +0000 (UTC) To: "guile-user@gnu.org" Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Sat Sep 10 23:37:21 2016 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bipxc-00089c-Hp for guile-user@m.gmane.org; Sat, 10 Sep 2016 23:37:16 +0200 Original-Received: from localhost ([::1]:35728 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bipxa-0008Ti-FE for guile-user@m.gmane.org; Sat, 10 Sep 2016 17:37:14 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:34723) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bipxC-0008TZ-Hv for guile-user@gnu.org; Sat, 10 Sep 2016 17:36:51 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bipx6-00061X-EW for guile-user@gnu.org; Sat, 10 Sep 2016 17:36:49 -0400 Original-Received: from smtpout4.wanadoo.co.uk ([80.12.242.68]:53960 helo=smtpout.wanadoo.co.uk) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bipx6-00060o-4K for guile-user@gnu.org; Sat, 10 Sep 2016 17:36:44 -0400 Original-Received: from bother.homenet ([95.146.110.119]) by mwinf5d53 with ME id hxcf1t0092acZ5b03xcfe7; Sat, 10 Sep 2016 23:36:42 +0200 X-ME-Helo: bother.homenet X-ME-Date: Sat, 10 Sep 2016 23:36:42 +0200 X-ME-IP: 95.146.110.119 Original-Received: from bother.homenet (localhost [127.0.0.1]) by bother.homenet (Postfix) with ESMTP id E3172120C16 for ; Sat, 10 Sep 2016 22:36:38 +0100 (BST) In-Reply-To: X-Mailer: Claws Mail 3.13.2 (GTK+ 2.24.30; i686-pc-linux-gnu) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 80.12.242.68 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.21 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" Xref: news.gmane.org gmane.lisp.guile.user:12899 Archived-At: On Sat, 10 Sep 2016 22:16:22 +0200 Panicz Maciej Godek wrote: > I agree, it is a simple concept, and easily implementable using > condition variables. However, it would probably be nicer if guile > provided some standard solution, instead of forcing every programmer > to coming up with their own ones. > > I've noticed that there's a module (ice-9 occam-channel) bundled with > Guile, but unfortunately it is undocumented. > > Maybe it is a problem with the Guile community that -- despite some > attempts like Guildhall -- we didn't manage to create anything like > CPAN or pip. (I think that the Chicken community was more successful > in that regard) Unnecessary and overly complex abstractions are undesirable when dealing with native threads, because to use threads safely you need to know what the implementation is doing behind your back. (And I would say they are undesirable in other cases as well, but not everyone may agree with that.) Some thread abstractions I like - I think Go channels are quite a nice light weight wrapper over thread-safe and type-safe queues. Generally though I don't mind guile's lack of support for this given that it is so simple to do yourself. On your last point, I think by and large that guile has been reasonably successful in its ecosystem. There is a large set of libraries and scheme extensions that come with guile out of the box, and plenty of third party libraries on github and similar sites as well. I also want to inspect code I put on my system - if I do not know of the author and trust her code, I definitely want to look at the code first, not just install it over the internet. I am not sure that internet distribution sites of the kind you mention are particularly helpful unless they are curated, and there isn't usually the manpower to do that for open source code. Perl has waned considerably notwithstanding CPAN. (I am also suspicious of sites which advertise themselves as: "A guild is an association of independent craftspeople. A guildhall is where they meet. This Guildhall aims to make a virtual space for Guile wizards and journeyfolk to share code." WTF.) Chris