From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: tb@becket.net (Thomas Bushnell, BSG) Newsgroups: gmane.lisp.guile.devel Subject: Re: Recursive mutexes? Date: 26 Oct 2002 18:18:16 -0700 Sender: guile-devel-admin@gnu.org Message-ID: <87wuo4n0h3.fsf@becket.becket.net> References: <87r8edos41.fsf@zagadka.ping.de> <87hef86e3d.fsf@raven.i.defaultvalue.org> <200210262242.PAA26787@morrowfield.regexps.com> <8765vook7c.fsf@becket.becket.net> <200210262335.QAA26980@morrowfield.regexps.com> <200210262350.QAA27046@morrowfield.regexps.com> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1035681435 19062 80.91.224.249 (27 Oct 2002 01:17:15 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Sun, 27 Oct 2002 01:17:15 +0000 (UTC) Cc: rlb@defaultvalue.org, mvo@zagadka.ping.de, guile-devel@gnu.org Return-path: Original-Received: from monty-python.gnu.org ([199.232.76.173]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 185c3F-0004xC-00 for ; Sun, 27 Oct 2002 02:17:13 +0100 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10) id 185c39-0007xx-00; Sat, 26 Oct 2002 21:17:07 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10) id 185c2i-0007pg-00 for guile-devel@gnu.org; Sat, 26 Oct 2002 21:16:40 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10) id 185c2g-0007lA-00 for guile-devel@gnu.org; Sat, 26 Oct 2002 21:16:39 -0400 Original-Received: from vp190174.reshsg.uci.edu ([128.195.190.174] helo=becket.becket.net) by monty-python.gnu.org with esmtp (Exim 4.10) id 185c2f-0007kf-00 for guile-devel@gnu.org; Sat, 26 Oct 2002 21:16:37 -0400 Original-Received: from tb by becket.becket.net with local (Exim 3.35 #1 (Debian)) id 185c4G-0003FK-00; Sat, 26 Oct 2002 18:18:16 -0700 Original-To: Tom Lord X-Reply-Permission: Posted or emailed replies to this message constitute permission for an emailed response. X-PGP-Fingerprint: 1F0A1E51 63 28 EB DA E6 44 E5 5E EC F3 04 26 4E BF 1A 92 X-Tom-Swiftie: "I like Gregorian chants," Tom intoned In-Reply-To: <200210262350.QAA27046@morrowfield.regexps.com> Original-Lines: 36 User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 Errors-To: guile-devel-admin@gnu.org X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.0.11 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Developers list for Guile, the GNU extensibility library List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.lisp.guile.devel:1617 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.devel:1617 Tom Lord writes: > > Trying or thinking through, sure. > > And, to be fair, sometimes the best way to think something through is > in parallel with trying to implement it -- no disrespect intended > towards people hacking on Guile threads. I think that problems like this require a somewhat more "daring" approach. For example, threads need not slow down access to the store. Threads in C do not, in general, slow down access. Only when there is an actual lock necessary do they slow anything down. The same thing should be true in a *good* scheme system. In a safe language like Scheme, this probably means that you have to be willing to accept arbitrary preemption. And, indeed, I knew this way back when guile was a dream, and said to people "if there are going to be threads, use real OS (i.e., preemptible on arbitrary instructions) threads". I was initially told "yeah, we'll do that", and then it didn't happen, because "it's too hard". Well, yeah, it's hard. But I don't think it's anything like unsolvable. It's actually not that hard at all if you think carefully about it and decide exactly what guarantees need to be provided and when. That's one of your issues about why "threads are bad". I don't see it as any reason why threads are bad, but rather about why the (sadly) normal implementation is bad. Thomas _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://mail.gnu.org/mailman/listinfo/guile-devel