From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Julian Graham" Newsgroups: gmane.lisp.guile.devel Subject: Re: srfi-18 requirements Date: Mon, 15 Oct 2007 18:26:35 -0400 Message-ID: <2bc5f8210710151526t6345200ao997988c1877e8cce@mail.gmail.com> References: <2bc5f8210710101854m1254160ei451026182b87e767@mail.gmail.com> <87lka8pvv3.fsf@laas.fr> <2bc5f8210710120831q5c90dcfes930595fa3eb16a77@mail.gmail.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1192490482 5378 80.91.229.12 (15 Oct 2007 23:21:22 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 15 Oct 2007 23:21:22 +0000 (UTC) To: guile-devel@gnu.org Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Tue Oct 16 01:21:12 2007 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1IhYOi-0002wt-Bn for guile-devel@m.gmane.org; Tue, 16 Oct 2007 00:26:52 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1IhYOb-0001Q9-3W for guile-devel@m.gmane.org; Mon, 15 Oct 2007 18:26:45 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1IhYOW-0001O6-Oa for guile-devel@gnu.org; Mon, 15 Oct 2007 18:26:40 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1IhYOU-0001Mb-Sl for guile-devel@gnu.org; Mon, 15 Oct 2007 18:26:39 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1IhYOU-0001MU-GT for guile-devel@gnu.org; Mon, 15 Oct 2007 18:26:38 -0400 Original-Received: from nf-out-0910.google.com ([64.233.182.188]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1IhYOT-0002xO-Ls for guile-devel@gnu.org; Mon, 15 Oct 2007 18:26:38 -0400 Original-Received: by nf-out-0910.google.com with SMTP id f5so1528950nfh for ; Mon, 15 Oct 2007 15:26:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; bh=QlHImf9/jIiFL94JpWi7gIRirJg8NWkUhLzE2BNwGgc=; b=lCr3kdmE6ivkCp30nrGKp66H1PuNkRHdrNJfnOoJ5Bw/OEeSh4NNQ0QUMD3hoIcYphuA21HNhF0AypTe9JY3nkbMydoDaYwzwiZIxf8aNeNEYgd4xNv1aWtMmgRRJo+Ph7etn28eS0JgMKIkUn1TFOM2qWBQ306FyAFadt9vw0I= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=GtNffdT2cPWbD3c04Vm+TMpQVTUvAn8ncAMxND7VesKYrl/1Q0NwUy/5OHU7tB5QNIp1AcwNWvda+p8AgHxNxVewIzM8cB3NcDnJzLlefoSwYsqIu+tQe8EYim+WIs/9BhzXQ2y47EQCV0JpRZhNhf5FvUD6GNfBbYKww+qA/hA= Original-Received: by 10.82.162.14 with SMTP id k14mr12237580bue.1192487195342; Mon, 15 Oct 2007 15:26:35 -0700 (PDT) Original-Received: by 10.82.176.12 with HTTP; Mon, 15 Oct 2007 15:26:35 -0700 (PDT) In-Reply-To: <2bc5f8210710120831q5c90dcfes930595fa3eb16a77@mail.gmail.com> Content-Disposition: inline X-detected-kernel: by monty-python.gnu.org: Linux 2.6 (newer, 2) X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:6838 Archived-At: Alright, so I've completed the parts of SRFI-18 that absolutely needed to be written in C. I didn't modify the signatures of any existing parts of the API, although I did add some new functions and change behavior in a few places where I don't think it'll affect too many people (and which I'll describe at length once I've got things rolled up into a patch). Now I'm working on the things that can be implemented in Scheme. SRFI-18 defines a few functions whose names conflict with some of Guile's built-in primitives -- e.g., make-mutex and make-condition-variable -- and which have slightly different behavior (SRFI-18 make-condition-variable takes an optional argument that you can use to "name" the condition var). To work around this, I was going to create backup bindings of the original primitives and then refer to them in my scheme reimplementations, a la: (define guile:make-condition-variable make-condition-variable) (define (make-condition-variable . foo) (let ((m (guile:make-condition-variable))) (do-something))) ...and even if the user noticed the slightly different behavior, that would be okay, because she'd specifically requested it by loading (srfi srfi-18). Unfortunately, it doesn't seem possible to refer to a top-level primitive function from within a module body. I get "Unbound variable: make-condition-variable." What am I doing wrong? (Strangely enough, this doesn't seem to be an issue for 'make-mutex'.) Regards, Julian _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://lists.gnu.org/mailman/listinfo/guile-devel