From unknown Tue Aug 19 10:01:28 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#12341 <12341@debbugs.gnu.org> To: bug#12341 <12341@debbugs.gnu.org> Subject: Status: define does not support lambda shorthand notation, define-public does Reply-To: bug#12341 <12341@debbugs.gnu.org> Date: Tue, 19 Aug 2025 17:01:28 +0000 retitle 12341 define does not support lambda shorthand notation, define-pub= lic does reassign 12341 guile submitter 12341 David Kastrup severity 12341 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 03 14:07:28 2012 Received: (at submit) by debbugs.gnu.org; 3 Sep 2012 18:07:28 +0000 Received: from localhost ([127.0.0.1]:36696 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T8b3X-0003wN-Bo for submit@debbugs.gnu.org; Mon, 03 Sep 2012 14:07:28 -0400 Received: from eggs.gnu.org ([208.118.235.92]:39955) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T8b3U-0003wG-Di for submit@debbugs.gnu.org; Mon, 03 Sep 2012 14:07:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1T8b1x-0007sp-Su for submit@debbugs.gnu.org; Mon, 03 Sep 2012 14:05:50 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD autolearn=unavailable version=3.3.2 Received: from lists.gnu.org ([208.118.235.17]:55083) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T8b1x-0007si-LW for submit@debbugs.gnu.org; Mon, 03 Sep 2012 14:05:49 -0400 Received: from eggs.gnu.org ([208.118.235.92]:47463) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T8b1t-0006mV-S6 for bug-guile@gnu.org; Mon, 03 Sep 2012 14:05:49 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1T8b1s-0007sR-C5 for bug-guile@gnu.org; Mon, 03 Sep 2012 14:05:45 -0400 Received: from fencepost.gnu.org ([208.118.235.10]:58434) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T8b1s-0007sN-60 for bug-guile@gnu.org; Mon, 03 Sep 2012 14:05:44 -0400 Received: from localhost ([127.0.0.1]:47798 helo=lola) by fencepost.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T8b1r-000448-Cg for bug-guile@gnu.org; Mon, 03 Sep 2012 14:05:43 -0400 Received: by lola (Postfix, from userid 1000) id 06E6120067E; Mon, 3 Sep 2012 20:05:25 +0200 (CEST) From: David Kastrup To: bug-guile@gnu.org Subject: define does not support lambda shorthand notation, define-public does Date: Mon, 03 Sep 2012 20:05:25 +0200 Message-ID: <87ligrhti2.fsf@fencepost.gnu.org> MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 208.118.235.17 X-Spam-Score: -7.1 (-------) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -7.1 (-------) Having this supported in define-public but not in define seems like an inconsistency: dak@lola:/usr/local/tmp/lilypond$ guile GNU Guile 2.0.5-deb+1-1 Copyright (C) 1995-2012 Free Software Foundation, Inc. Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'. This program is free software, and you are welcome to redistribute it under certain conditions; type `,show c' for details. Enter `,help' for help. scheme@(guile-user)> (define-public ((x a) b) a) scheme@(guile-user)> (define ((x a) b) a) While compiling expression: ERROR: Syntax error: unknown file:2:0: source expression failed to match any pattern in form (define ((x a) b) a) scheme@(guile-user)> The Scheme report does not mention this explicitly, but it would appear as a recursive application of the rule (define (a b) ...) -> (define a (lambda (b) ...)) leading first to (define (x a) (lambda (b) a)) and thence to (define x (lambda (a) (lambda (b) a))) And if it is not supposed to be supported, why is it supported with define-public? -- David Kastrup From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 03 16:31:29 2012 Received: (at 12341) by debbugs.gnu.org; 3 Sep 2012 20:31:29 +0000 Received: from localhost ([127.0.0.1]:36844 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T8dIu-0007JE-Vf for submit@debbugs.gnu.org; Mon, 03 Sep 2012 16:31:29 -0400 Received: from xanadu.aquilenet.fr ([88.191.123.111]:46422) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T8dIs-0007J6-JE for 12341@debbugs.gnu.org; Mon, 03 Sep 2012 16:31:28 -0400 Received: from localhost (localhost [127.0.0.1]) by xanadu.aquilenet.fr (Postfix) with ESMTP id 0D2159552; Mon, 3 Sep 2012 22:29:49 +0200 (CEST) Received: from xanadu.aquilenet.fr ([127.0.0.1]) by localhost (xanadu.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id kZk+s2jwuSuO; Mon, 3 Sep 2012 22:29:48 +0200 (CEST) Received: from pluto (reverse-83.fdn.fr [80.67.176.83]) by xanadu.aquilenet.fr (Postfix) with ESMTPSA id 7A2409545; Mon, 3 Sep 2012 22:29:48 +0200 (CEST) From: ludo@gnu.org (Ludovic =?iso-8859-1?Q?Court=E8s?=) To: David Kastrup Subject: Re: bug#12341: define does not support lambda shorthand notation, define-public does References: <87ligrhti2.fsf@fencepost.gnu.org> Date: Mon, 03 Sep 2012 22:29:48 +0200 In-Reply-To: <87ligrhti2.fsf@fencepost.gnu.org> (David Kastrup's message of "Mon, 03 Sep 2012 20:05:25 +0200") Message-ID: <87zk56onnn.fsf@gnu.org> User-Agent: Gnus/5.130005 (Ma Gnus v0.5) Emacs/24.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -1.2 (-) X-Debbugs-Envelope-To: 12341 Cc: 12341@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -1.2 (-) Hi David, David Kastrup skribis: > scheme@(guile-user)> (define-public ((x a) b) a) > scheme@(guile-user)> (define ((x a) b) a) > While compiling expression: > ERROR: Syntax error: > unknown file:2:0: source expression failed to match any pattern in form (= define ((x a) b) a) For the latter, one should use (ice-9 curried-definitions), introduced in 2.0 (see =E2=80=98NEWS=E2=80=99), with code like this: (cond-expand (guile-2 (use-modules (ice-9 curried-definitions))) (else #t)) ; Guile 1.8 and earlier supports it That the former works is indeed inconsistent. It=E2=80=99s due to the fact= that =E2=80=98define-public=E2=80=99 is implemented as a macro, whereas =E2=80= =98define=E2=80=99 is a core form. I=E2=80=99m inclined to live with the inconsistency, but I=E2=80=99m open to suggestions. Thanks, Ludo=E2=80=99. PS: This was also discussed at . From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 04 08:21:52 2012 Received: (at 12341) by debbugs.gnu.org; 4 Sep 2012 12:21:52 +0000 Received: from localhost ([127.0.0.1]:37955 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T8s8d-0005hq-4Z for submit@debbugs.gnu.org; Tue, 04 Sep 2012 08:21:51 -0400 Received: from mail-we0-f172.google.com ([74.125.82.172]:48575) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T8s8Z-0005hh-RX for 12341@debbugs.gnu.org; Tue, 04 Sep 2012 08:21:49 -0400 Received: by weyu54 with SMTP id u54so3497025wey.3 for <12341@debbugs.gnu.org>; Tue, 04 Sep 2012 05:21:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20120113; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-type; bh=WKvazMmxNTiKwYzCi3s5deW8JuJSzk+RYn+M2EiChjk=; b=TMCsLH1HbZ5n3STFUZBcBa0s/wSYM+6wBg+O4kcjcyfH4sJLswu4R1jdo3cyoAyacL rLBUDFhCyLRKbiAfmXXqkkJcMhzJTISmlyLrfWxYZjX5GDGpaQh+j6ij012t3Gn1kuoO gKpTRJuDHW1pt6SwoJSBxMTdP6wqc+jCvENpx6Pzb34wndJzfs1wW2JEguHWyMMJ+sr3 1Brxb5Sfila2FEyDWKrQj4FgLrZKoqfwln6ssQjpiVt7pux3AmCLSrYuUfZGjSHnLBqz Go0ub9U9SCzhsZz9fVgUf3D1APIRp4UFWS0nsDo00soWASHucsPM1cZ22JxAIiN36MOD VAmw== Received: by 10.180.81.38 with SMTP id w6mr30450128wix.10.1346761306224; Tue, 04 Sep 2012 05:21:46 -0700 (PDT) Received: from Kagami.home (host86-128-178-54.range86-128.btcentralplus.com. [86.128.178.54]) by mx.google.com with ESMTPS id bc2sm35892845wib.0.2012.09.04.05.21.43 (version=TLSv1/SSLv3 cipher=OTHER); Tue, 04 Sep 2012 05:21:44 -0700 (PDT) From: Ian Price To: ludo@gnu.org (Ludovic =?iso-8859-1?Q?Court=E8s?=) Subject: Re: bug#12341: define does not support lambda shorthand notation, define-public does References: <87ligrhti2.fsf@fencepost.gnu.org> <87zk56onnn.fsf@gnu.org> Date: Tue, 04 Sep 2012 13:21:39 +0100 In-Reply-To: <87zk56onnn.fsf@gnu.org> ("Ludovic =?iso-8859-1?Q?Court=E8s?= =?iso-8859-1?Q?=22's?= message of "Mon, 03 Sep 2012 22:29:48 +0200") Message-ID: <87vcfu9dws.fsf@Kagami.home> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 12341 Cc: 12341@debbugs.gnu.org, David Kastrup X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.3 (--) --=-=-= Content-Type: text/plain; charset=iso-2022-jp-2 ludo@gnu.org (Ludovic Court$(D+2(Bs) writes: > I$B!G(Bm inclined to live with the inconsistency, but I$B!G(Bm open to > suggestions. A quick git grep doesn't show any uses of curried define-public in the guile code base, so the fix is pretty simple. I'm open to better approaches though, since it does duplicate code, though this code is IMO trivial. -- Ian Price -- shift-reset.com "Programming is like pinball. The reward for doing it well is the opportunity to do it again" - from "The Wizardy Compiled" --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0001-define-public-is-no-a-longer-curried-definition-by-d.patch Content-Description: define-public patch >From fb23b4a49e9c1f5c15ef0ceb2ee1903ebfddd71a Mon Sep 17 00:00:00 2001 From: Ian Price Date: Tue, 4 Sep 2012 13:18:58 +0100 Subject: [PATCH] `define-public' is no a longer curried definition by default. * module/ice-9/boot-9.scm (define-public): Remove currying functionality. * module/ice-9/curried-definitions.scm (define-public): New export. --- module/ice-9/boot-9.scm | 4 +++- module/ice-9/curried-definitions.scm | 14 +++++++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/module/ice-9/boot-9.scm b/module/ice-9/boot-9.scm index 5ed543a..cf8252a 100644 --- a/module/ice-9/boot-9.scm +++ b/module/ice-9/boot-9.scm @@ -3321,7 +3321,9 @@ module '(ice-9 q) '(make-q q-length))}." (define-syntax define-public (syntax-rules () ((_ (name . args) . body) - (define-public name (lambda args . body))) + (begin + (define name (lambda args . body)) + (export name))) ((_ name val) (begin (define name val) diff --git a/module/ice-9/curried-definitions.scm b/module/ice-9/curried-definitions.scm index d55f1fb..8c684a1 100644 --- a/module/ice-9/curried-definitions.scm +++ b/module/ice-9/curried-definitions.scm @@ -16,7 +16,8 @@ (define-module (ice-9 curried-definitions) #:replace ((cdefine . define) - (cdefine* . define*))) + (cdefine* . define*) + define-public)) (define-syntax cdefine (syntax-rules () @@ -39,3 +40,14 @@ (lambda* rest body body* ...))) ((_ . rest) (define* . rest)))) + +(define-syntax define-public + (syntax-rules () + ((_ (name . args) . body) + (begin + (cdefine (name . args) . body) + (export name))) + ((_ name val) + (begin + (define name val) + (export name))))) -- 1.7.7.6 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 04 08:36:49 2012 Received: (at 12341) by debbugs.gnu.org; 4 Sep 2012 12:36:49 +0000 Received: from localhost ([127.0.0.1]:37964 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T8sN6-00062y-4V for submit@debbugs.gnu.org; Tue, 04 Sep 2012 08:36:49 -0400 Received: from fencepost.gnu.org ([208.118.235.10]:41999) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T8sN3-00062q-6I for 12341@debbugs.gnu.org; Tue, 04 Sep 2012 08:36:46 -0400 Received: from localhost ([127.0.0.1]:38775 helo=lola) by fencepost.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T8sN1-0001pX-9e; Tue, 04 Sep 2012 08:36:43 -0400 Received: by lola (Postfix, from userid 1000) id 2765320082F; Tue, 4 Sep 2012 14:36:26 +0200 (CEST) From: David Kastrup To: Ian Price Subject: Re: bug#12341: define does not support lambda shorthand notation, define-public does References: <87ligrhti2.fsf@fencepost.gnu.org> <87zk56onnn.fsf@gnu.org> <87vcfu9dws.fsf@Kagami.home> Date: Tue, 04 Sep 2012 14:36:26 +0200 In-Reply-To: <87vcfu9dws.fsf@Kagami.home> (Ian Price's message of "Tue, 04 Sep 2012 13:21:39 +0100") Message-ID: <87vcfudkxh.fsf@fencepost.gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.2.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -7.1 (-------) X-Debbugs-Envelope-To: 12341 Cc: Ludovic =?iso-8859-1?Q?Court=E8s?= , 12341@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -7.1 (-------) Ian Price writes: > ludo@gnu.org (Ludovic Court=C3=A8s) writes: > >> I=E2=80=99m inclined to live with the inconsistency, but I=E2=80=99m ope= n to >> suggestions. > A quick git grep doesn't show any uses of curried define-public in the > guile code base, so the fix is pretty simple. I'm open to better > approaches though, since it does duplicate code, though this code is IMO > trivial. Since this is a change from 1.8 behavior, would it be feasible to place a cross-reference to (ice-9 curried-definitions) into the manual entry for define ? At the current point of time, discoverability of this change is really bad. I can't find _any_ reference to it in the Guile manual (a plain text search for either "curried" or "curry" turns up nothing), so it seems like this is just a change sprung without notice or discoverable remedy on Guile users. I'd have expected a pointer at least somewhere (if not everywhere) among those links: --=20 David Kastrup From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 04 10:38:10 2012 Received: (at 12341) by debbugs.gnu.org; 4 Sep 2012 14:38:10 +0000 Received: from localhost ([127.0.0.1]:38558 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T8uGX-0000Ry-To for submit@debbugs.gnu.org; Tue, 04 Sep 2012 10:38:10 -0400 Received: from mail-wg0-f46.google.com ([74.125.82.46]:59436) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T8uGP-0000RS-VM for 12341@debbugs.gnu.org; Tue, 04 Sep 2012 10:38:06 -0400 Received: by wgi16 with SMTP id 16so4541497wgi.15 for <12341@debbugs.gnu.org>; Tue, 04 Sep 2012 07:37:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20120113; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-type; bh=dQudbpi7XLS654Wwa9cNOF8U5NyPgAYLMaa8mdRULX4=; b=JNsYoKgMmOKHMH+S/SeZpOIqj8ckLQRRbta+0y/YmGQJASP34NV6f7Jr0MI9MlOqcZ E7+/phJ0SxP7DSxWYKsN4y5CIGwonXcQatkr3NU6KRy7cQgDY6gEui76vUKIpbxIh11Q BpMHUq3VSNpicp+p7dlMscOAONQ66gdnkZadfZqzb6/faJDaaFo8kzaLhQJVk+jwx0o4 xtueWMLhFGgNagY+io8Smv5TkqigcO3ghPVmo0/PbQ3QnRjqiIJBN8GRlnbPPp9ENyCH vOkABDFAoH+PCVUesCXKESiGrOAEUzFNm8pMV/xzeSg4gb/e7CS5L+LiWt+M9KHgyqqe 3UGA== Received: by 10.180.103.4 with SMTP id fs4mr31204498wib.16.1346769478455; Tue, 04 Sep 2012 07:37:58 -0700 (PDT) Received: from Kagami.home (host86-128-178-54.range86-128.btcentralplus.com. [86.128.178.54]) by mx.google.com with ESMTPS id eu4sm24665779wib.2.2012.09.04.07.37.55 (version=TLSv1/SSLv3 cipher=OTHER); Tue, 04 Sep 2012 07:37:57 -0700 (PDT) From: Ian Price To: David Kastrup Subject: Re: bug#12341: define does not support lambda shorthand notation, define-public does References: <87ligrhti2.fsf@fencepost.gnu.org> <87zk56onnn.fsf@gnu.org> <87vcfu9dws.fsf@Kagami.home> <87vcfudkxh.fsf@fencepost.gnu.org> Date: Tue, 04 Sep 2012 15:37:50 +0100 In-Reply-To: <87vcfudkxh.fsf@fencepost.gnu.org> (David Kastrup's message of "Tue, 04 Sep 2012 14:36:26 +0200") Message-ID: <87r4qham69.fsf@Kagami.home> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 12341 Cc: Ludovic =?iso-8859-1?Q?Court=E8s?= , 12341@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.3 (--) --=-=-= David Kastrup writes: > I'd have expected a pointer at least somewhere (if not everywhere) among > those links: > > > > I agree, and have provided some documentation. I'm no texinfo expert so it probably needs cleanup. In particular, I wasn't sure of how to markup these curried forms. Comments kindly requested, -- Ian Price -- shift-reset.com "Programming is like pinball. The reward for doing it well is the opportunity to do it again" - from "The Wizardy Compiled" --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0001-Document-ice-9-curried-definitions.patch Content-Description: curried define docs >From 6addaedac96ffe919d1b0cb58ed9992fbd240bf7 Mon Sep 17 00:00:00 2001 From: Ian Price Date: Tue, 4 Sep 2012 15:36:54 +0100 Subject: [PATCH] Document (ice-9 curried definitions) * doc/ref/Makefile.am(guile_TEXINFOS): Add curried.texi to list * doc/ref/curried.texi: New file. * doc/ref/guile.texi(Guile Modules): Add "Curried Definitions" to menu. * doc/ref/scheme-ideas.texi(Lambda Alternatives): Refer to "Curried Definitions" from the `define' section. --- doc/ref/Makefile.am | 1 + doc/ref/curried.texi | 53 +++++++++++++++++++++++++++++++++++++++++++++ doc/ref/guile.texi | 2 + doc/ref/scheme-ideas.texi | 5 ++++ 4 files changed, 61 insertions(+), 0 deletions(-) create mode 100644 doc/ref/curried.texi diff --git a/doc/ref/Makefile.am b/doc/ref/Makefile.am index abe9cb9..201ab6b 100644 --- a/doc/ref/Makefile.am +++ b/doc/ref/Makefile.am @@ -62,6 +62,7 @@ guile_TEXINFOS = preface.texi \ web.texi \ expect.texi \ scsh.texi \ + curried.texi \ sxml-match.texi \ scheme-scripts.texi \ api-overview.texi \ diff --git a/doc/ref/curried.texi b/doc/ref/curried.texi new file mode 100644 index 0000000..05475bd --- /dev/null +++ b/doc/ref/curried.texi @@ -0,0 +1,53 @@ +@c -*-texinfo-*- +@c This is part of the GNU Guile Reference Manual. +@c Copyright (C) 2012 +@c Free Software Foundation, Inc. +@c See the file guile.texi for copying conditions. + +@node Curried Definitions +@section Curried Definitions + +The macros in this section are provided by +@lisp +(use-modules (ice-9 curried-definitions)) +@end lisp +@noindent +and replace those provided by default. + +Prior to guile 2, guile provided a type of definition known colloquially +as a ``curried definition''. The idea is to extend the syntax of +@code{define} so that you can conveniently define procedures that return +procedures, up to any desired depth. + +For example, +@example +(define ((foo x) y) + (list x y)) +@end example +is a convenience form of +@example +(define foo + (lambda (x) + (lambda (y) + (list x y)))) +@end example + +@deffn {Syntax} define (@dots{} (name args @dots{}) @dots{}) expression @dots{} +A curried version of the default @code{define}. +@end deffn + +@deffn {Syntax} define* (@dots{} (name args @dots{}) @dots{}) expression @dots{} +A curried version of the default @code{define*}. Accepts all the options +@code{lambda*} does, for example, +@example +(define* ((foo #:keys (bar 'baz) (quux 'zot)) frotz #:rest rest) + (list bar quux frotz rest)) + +((foo #:quux 'foo) 1 2 3 4 5) +@result{} (baz foo 1 (2 3 4 5)) +@end example +@end deffn + +@deffn {Syntax} define-public (@dots{} (name args @dots{}) @dots{}) expression @dots{} +A curried version of the default @code{define-public}. +@end deffn diff --git a/doc/ref/guile.texi b/doc/ref/guile.texi index c3da0c3..a1b3fe6 100644 --- a/doc/ref/guile.texi +++ b/doc/ref/guile.texi @@ -370,6 +370,7 @@ available through both Scheme and C interfaces. * Expect:: Controlling interactive programs with Guile. * sxml-match:: Pattern matching of SXML. * The Scheme shell (scsh):: Using scsh interfaces in Guile. +* Curried Definitions:: Extended @code{define} syntax. @end menu @include slib.texi @@ -387,6 +388,7 @@ available through both Scheme and C interfaces. @include sxml-match.texi @include scsh.texi +@include curried.texi @node Standard Library @chapter Standard Library diff --git a/doc/ref/scheme-ideas.texi b/doc/ref/scheme-ideas.texi index 53f7b61..49297fd 100644 --- a/doc/ref/scheme-ideas.texi +++ b/doc/ref/scheme-ideas.texi @@ -476,6 +476,11 @@ The corresponding forms of the alternative @code{define} syntax are: @noindent For details on how these forms work, see @xref{Lambda}. +Prior to guile 2, guile provided an extension to @code{define} syntax +that allowed you to nest the previous extension up to an arbitrary +depth. These are no longer provided by default, and instead have been +moved to @ref{Curried Definitions} + (It could be argued that the alternative @code{define} forms are rather confusing, especially for newcomers to the Scheme language, as they hide both the role of @code{lambda} and the fact that procedures are values -- 1.7.7.6 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 05 17:16:15 2012 Received: (at 12341) by debbugs.gnu.org; 5 Sep 2012 21:16:15 +0000 Received: from localhost ([127.0.0.1]:41320 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T9MxL-0005rn-3s for submit@debbugs.gnu.org; Wed, 05 Sep 2012 17:16:15 -0400 Received: from xanadu.aquilenet.fr ([88.191.123.111]:34739) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T9MxJ-0005rg-03 for 12341@debbugs.gnu.org; Wed, 05 Sep 2012 17:16:14 -0400 Received: from localhost (localhost [127.0.0.1]) by xanadu.aquilenet.fr (Postfix) with ESMTP id E3CBD90A7; Wed, 5 Sep 2012 23:16:03 +0200 (CEST) Received: from xanadu.aquilenet.fr ([127.0.0.1]) by localhost (xanadu.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1r1ZGcg36rzB; Wed, 5 Sep 2012 23:16:03 +0200 (CEST) Received: from pluto (reverse-83.fdn.fr [80.67.176.83]) by xanadu.aquilenet.fr (Postfix) with ESMTPSA id 03A441165; Wed, 5 Sep 2012 23:16:02 +0200 (CEST) From: ludo@gnu.org (Ludovic =?iso-8859-1?Q?Court=E8s?=) To: Ian Price Subject: Re: bug#12341: define does not support lambda shorthand notation, define-public does References: <87ligrhti2.fsf@fencepost.gnu.org> <87zk56onnn.fsf@gnu.org> <87vcfu9dws.fsf@Kagami.home> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 20 Fructidor an 220 de la =?iso-8859-1?Q?R=E9volutio?= =?iso-8859-1?Q?n?= X-PGP-Key-ID: 0xEA52ECF4 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 83C4 F8E5 10A3 3B4C 5BEA D15D 77DD 95E2 EA52 ECF4 X-OS: x86_64-unknown-linux-gnu Date: Wed, 05 Sep 2012 23:16:02 +0200 In-Reply-To: <87vcfu9dws.fsf@Kagami.home> (Ian Price's message of "Tue, 04 Sep 2012 13:21:39 +0100") Message-ID: <87vcfsuq5p.fsf@gnu.org> User-Agent: Gnus/5.130005 (Ma Gnus v0.5) Emacs/24.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -1.2 (-) X-Debbugs-Envelope-To: 12341 Cc: 12341@debbugs.gnu.org, David Kastrup X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -1.2 (-) Hello, Ian Price skribis: > From fb23b4a49e9c1f5c15ef0ceb2ee1903ebfddd71a Mon Sep 17 00:00:00 2001 > From: Ian Price > Date: Tue, 4 Sep 2012 13:18:58 +0100 > Subject: [PATCH] `define-public' is no a longer curried definition by > default. > > * module/ice-9/boot-9.scm (define-public): Remove currying functionality. > * module/ice-9/curried-definitions.scm (define-public): New export. Looks good to me. You now have commit access, so you=E2=80=99re welcome to commit it by yours= elf! :-) Please post patches before committing, for a start. Make sure to always rebase before committing, to avoid gratuitous merge commits if somebody else pushed changes in the meantime. If you have any doubts with Git, please ask us. > David Kastrup writes: > >> I'd have expected a pointer at least somewhere (if not everywhere) among >> those links: >> >> >> >> > > I agree, and have provided some documentation. +1. > I'm no texinfo expert so it probably needs cleanup. In particular, I > wasn't sure of how to markup these curried forms. > From 6addaedac96ffe919d1b0cb58ed9992fbd240bf7 Mon Sep 17 00:00:00 2001 > From: Ian Price > Date: Tue, 4 Sep 2012 15:36:54 +0100 > Subject: [PATCH] Document (ice-9 curried definitions) > > * doc/ref/Makefile.am(guile_TEXINFOS): Add curried.texi to list > * doc/ref/curried.texi: New file. > * doc/ref/guile.texi(Guile Modules): Add "Curried Definitions" to menu. > * doc/ref/scheme-ideas.texi(Lambda Alternatives): Refer to "Curried Defin= itions" > from the `define' section. Please leave a space before opening parentheses. > +++ b/doc/ref/curried.texi > @@ -0,0 +1,53 @@ > +@c -*-texinfo-*- > +@c This is part of the GNU Guile Reference Manual. > +@c Copyright (C) 2012 > +@c Free Software Foundation, Inc. No newline. > +@node Curried Definitions > +@section Curried Definitions > + > +The macros in this section are provided by > +@lisp > +(use-modules (ice-9 curried-definitions)) > +@end lisp > +@noindent > +and replace those provided by default. > + > +Prior to guile 2, guile provided a type of definition known colloquially Should be =E2=80=9CGuile 2.0=E2=80=9D. > +as a ``curried definition''. The idea is to extend the syntax of > +@code{define} so that you can conveniently define procedures that return > +procedures, up to any desired depth. > + > +For example, > +@example > +(define ((foo x) y) > + (list x y)) > +@end example > +is a convenience form of > +@example > +(define foo > + (lambda (x) > + (lambda (y) > + (list x y)))) > +@end example > + > +@deffn {Syntax} define (@dots{} (name args @dots{}) @dots{}) expression = @dots{} It should be {Scheme Syntax}, for consistency with most of the manual. Instead of =E2=80=98expression=E2=80=99, what about =E2=80=98body @dots{}= =E2=80=99? Also, I wonder whether the parentheses should appear at all, since it also accepts the flat form. OTOH, the only things worth describing is the parenthesized form. > +A curried version of the default @code{define}. > +@end deffn Please use a more formal, present-tense description, like =E2=80=9CCreate a top-level variable @var{name} bound to the procedure defined by @var{args}. @var{args} may be a list of formal parameters, possibly including nested formal parameter lists, in which case a higher-order procedure is created, as in the example above.=E2=80=9D > +@deffn {Syntax} define* (@dots{} (name args @dots{}) @dots{}) expression= @dots{} Here =E2=80=98deffnx=E2=80=99 could be used instead, like: @deffn {Scheme Syntax} define (@dots{} (name args @dots{}) @dots{}) body = @dots{} @deffnx {Scheme Syntax} define* (@dots{} (name args @dots{}) @dots{}) bod= y @dots{} [...] @code{define*} works similarly, and accepts all the options that @code{lambda*} accepts (@pxref{lambda* and define*}). For example: @example [...] @end example @end deffn =20=20 > +@deffn {Syntax} define-public (@dots{} (name args @dots{}) @dots{}) expr= ession @dots{} @deffnx too? > +Prior to guile 2, guile provided an extension to @code{define} syntax =E2=80=9CGuile 2.0=E2=80=9D. Thanks! Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Thu Sep 06 16:28:00 2012 Received: (at 12341) by debbugs.gnu.org; 6 Sep 2012 20:28:00 +0000 Received: from localhost ([127.0.0.1]:44820 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T9igA-0006XB-Vy for submit@debbugs.gnu.org; Thu, 06 Sep 2012 16:28:00 -0400 Received: from mail-we0-f172.google.com ([74.125.82.172]:48235) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T9ig8-0006X3-A5 for 12341@debbugs.gnu.org; Thu, 06 Sep 2012 16:27:57 -0400 Received: by weyu54 with SMTP id u54so1291529wey.3 for <12341@debbugs.gnu.org>; Thu, 06 Sep 2012 13:27:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20120113; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-type; bh=9v86f0Ffx0wvFfU64TuUS5lYe5wb6JQORUsCP0pUjqg=; b=jvQLj8s/J9840PUwL12xVlGkfdAROmn7Iq4sM7XMg5DCnVx8cX1ekQ6TYdR/I96/vJ xCEk0y7FbiU9DWd6QzdAbtmagbbl1EroII1bwuruiOn01Z0dB8F1HM15GAywpM0ADpMe NhUX5f7y9Evb4SHFaxbcX+05DSiB654UwGKbE1Epp4Mow7+b/z2yUQfwRQ4A0ihrXZ2e c6CfG4XhywaZT6s/bqBEYPilQW79YXpQrvZ20SMugGVvIxkfTNS7/0EZcvbkdy19uJlY AyCqhqSvztRLWEDTdHCeU7AMgLfZma+YXIm4gNlrmRAgGoMvxW8ogeQbNBhXkL5D3FsU x6MA== Received: by 10.180.76.36 with SMTP id h4mr48128846wiw.13.1346963261252; Thu, 06 Sep 2012 13:27:41 -0700 (PDT) Received: from Kagami.home (host86-174-96-191.range86-174.btcentralplus.com. [86.174.96.191]) by mx.google.com with ESMTPS id o2sm8249058wiz.11.2012.09.06.13.27.38 (version=TLSv1/SSLv3 cipher=OTHER); Thu, 06 Sep 2012 13:27:39 -0700 (PDT) From: Ian Price To: ludo@gnu.org (Ludovic =?iso-8859-1?Q?Court=E8s?=) Subject: Re: bug#12341: define does not support lambda shorthand notation, define-public does References: <87ligrhti2.fsf@fencepost.gnu.org> <87zk56onnn.fsf@gnu.org> <87vcfu9dws.fsf@Kagami.home> <87vcfsuq5p.fsf@gnu.org> Date: Thu, 06 Sep 2012 21:27:31 +0100 In-Reply-To: <87vcfsuq5p.fsf@gnu.org> ("Ludovic =?iso-8859-1?Q?Court=E8s?= =?iso-8859-1?Q?=22's?= message of "Wed, 05 Sep 2012 23:16:02 +0200") Message-ID: <87y5kmkibw.fsf@Kagami.home> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 12341 Cc: 12341@debbugs.gnu.org, David Kastrup X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.3 (--) --=-=-= Content-Type: text/plain; charset=iso-2022-jp-2 ludo@gnu.org (Ludovic Court$(D+2(Bs) writes: > You now have commit access, so you$B!G(Bre welcome to commit it by yourself! > :-) I have :-) > > Please post patches before committing, for a start. Make sure to always > rebase before committing, to avoid gratuitous merge commits if somebody > else pushed changes in the meantime. If you have any doubts with Git, > please ask us. Rebasing is already standard practice when sending patches, so no trouble there. >> * doc/ref/Makefile.am(guile_TEXINFOS): Add curried.texi to list >> * doc/ref/curried.texi: New file. >> * doc/ref/guile.texi(Guile Modules): Add "Curried Definitions" to menu. >> * doc/ref/scheme-ideas.texi(Lambda Alternatives): Refer to "Curried Definitions" >> from the `define' section. > > Please leave a space before opening parentheses. Fixed. >> +++ b/doc/ref/curried.texi >> @@ -0,0 +1,53 @@ >> +@c -*-texinfo-*- >> +@c This is part of the GNU Guile Reference Manual. >> +@c Copyright (C) 2012 >> +@c Free Software Foundation, Inc. > > No newline. Can you tell I just mimicked the nearest file? Fixed. >> +Prior to guile 2, guile provided a type of definition known colloquially > > Should be $B!H(BGuile 2.0$B!I(B. Fixed. >> +@deffn {Syntax} define (@dots{} (name args @dots{}) @dots{}) expression @dots{} > > It should be {Scheme Syntax}, for consistency with most of the manual. Fixed. > Instead of $B!F(Bexpression$B!G(B, what about $B!F(Bbody @dots{}$B!G(B? Fixed. > Also, I wonder whether the parentheses should appear at all, since it > also accepts the flat form. OTOH, the only things worth describing is > the parenthesized form. That was my thinking. >> +A curried version of the default @code{define}. >> +@end deffn > > Please use a more formal, present-tense description, like $B!H(BCreate a > top-level variable @var{name} bound to the procedure defined by > @var{args}. @var{args} may be a list of formal parameters, possibly > including nested formal parameter lists, in which case a higher-order > procedure is created, as in the example above.$B!I(B I was having a hard time adequately describing it, and thought it was better to show by example than give a bad formal description. Anyway, I hope I've met your expectations with this one. >> +@deffn {Syntax} define* (@dots{} (name args @dots{}) @dots{}) expression @dots{} > > Here $B!F(Bdeffnx$B!G(B could be used instead, like: I was not aware of that options, done. >> +Prior to guile 2, guile provided an extension to @code{define} syntax > > $B!H(BGuile 2.0$B!I(B. Fixed. David, How about you, any feedback on this documentation? -- Ian Price -- shift-reset.com "Programming is like pinball. The reward for doing it well is the opportunity to do it again" - from "The Wizardy Compiled" --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0001-Document-ice-9-curried-definitions.patch Content-Description: Curried Documentation Mark II >From 4f4783096d1052e6e7532acfed21616556c9c456 Mon Sep 17 00:00:00 2001 From: Ian Price Date: Thu, 6 Sep 2012 21:21:47 +0100 Subject: [PATCH] Document (ice-9 curried definitions) * doc/ref/Makefile.am (guile_TEXINFOS): Add curried.texi to list * doc/ref/curried.texi: New file. * doc/ref/guile.texi (Guile Modules): Add "Curried Definitions" to menu. * doc/ref/scheme-ideas.texi (Lambda Alternatives): Refer to "Curried Definitions" from the `define' section. --- doc/ref/Makefile.am | 1 + doc/ref/curried.texi | 56 +++++++++++++++++++++++++++++++++++++++++++++ doc/ref/guile.texi | 2 + doc/ref/scheme-ideas.texi | 5 ++++ 4 files changed, 64 insertions(+), 0 deletions(-) create mode 100644 doc/ref/curried.texi diff --git a/doc/ref/Makefile.am b/doc/ref/Makefile.am index abe9cb9..201ab6b 100644 --- a/doc/ref/Makefile.am +++ b/doc/ref/Makefile.am @@ -62,6 +62,7 @@ guile_TEXINFOS = preface.texi \ web.texi \ expect.texi \ scsh.texi \ + curried.texi \ sxml-match.texi \ scheme-scripts.texi \ api-overview.texi \ diff --git a/doc/ref/curried.texi b/doc/ref/curried.texi new file mode 100644 index 0000000..f12907e --- /dev/null +++ b/doc/ref/curried.texi @@ -0,0 +1,56 @@ +@c -*-texinfo-*- +@c This is part of the GNU Guile Reference Manual. +@c Copyright (C) 2012 Free Software Foundation, Inc. +@c See the file guile.texi for copying conditions. + +@node Curried Definitions +@section Curried Definitions + +The macros in this section are provided by +@lisp +(use-modules (ice-9 curried-definitions)) +@end lisp +@noindent +and replace those provided by default. + +Prior to guile 2.0, guile provided a type of definition known colloquially +as a ``curried definition''. The idea is to extend the syntax of +@code{define} so that you can conveniently define procedures that return +procedures, up to any desired depth. + +For example, +@example +(define ((foo x) y) + (list x y)) +@end example +is a convenience form of +@example +(define foo + (lambda (x) + (lambda (y) + (list x y)))) +@end example + +@deffn {Scheme Syntax} define (@dots{} (name args @dots{}) @dots{}) body @dots{} +@deffnx {Scheme Syntax} define* (@dots{} (name args @dots{}) @dots{}) body @dots{} +@deffnx {Scheme Syntax} define-public (@dots{} (name args @dots{}) @dots{}) body @dots{} + +Create a top level variable @var{name} bound to the procedure with +parameter list @var{args}. If @var{name} is itself a formal parameter +list, then a higher order procedure is created using that +formal-parameter list, and returning a procedure that has parameter list +@var{args}. This nesting may occur to arbitrary depth. + +@code{define*} is similar but the formal parameter lists take additional +options as described in @ref{lambda* and define*}. For example, +@example +(define* ((foo #:keys (bar 'baz) (quux 'zot)) frotz #:rest rest) + (list bar quux frotz rest)) + +((foo #:quux 'foo) 1 2 3 4 5) +@result{} (baz foo 1 (2 3 4 5)) +@end example + +@code{define-public} is similar to @code{define} but it also adds +@var{name} to the list of exported bindings of the current module. +@end deffn diff --git a/doc/ref/guile.texi b/doc/ref/guile.texi index c3da0c3..a1b3fe6 100644 --- a/doc/ref/guile.texi +++ b/doc/ref/guile.texi @@ -370,6 +370,7 @@ available through both Scheme and C interfaces. * Expect:: Controlling interactive programs with Guile. * sxml-match:: Pattern matching of SXML. * The Scheme shell (scsh):: Using scsh interfaces in Guile. +* Curried Definitions:: Extended @code{define} syntax. @end menu @include slib.texi @@ -387,6 +388,7 @@ available through both Scheme and C interfaces. @include sxml-match.texi @include scsh.texi +@include curried.texi @node Standard Library @chapter Standard Library diff --git a/doc/ref/scheme-ideas.texi b/doc/ref/scheme-ideas.texi index 53f7b61..cbf1a5c 100644 --- a/doc/ref/scheme-ideas.texi +++ b/doc/ref/scheme-ideas.texi @@ -476,6 +476,11 @@ The corresponding forms of the alternative @code{define} syntax are: @noindent For details on how these forms work, see @xref{Lambda}. +Prior to guile 2.0, guile provided an extension to @code{define} syntax +that allowed you to nest the previous extension up to an arbitrary +depth. These are no longer provided by default, and instead have been +moved to @ref{Curried Definitions} + (It could be argued that the alternative @code{define} forms are rather confusing, especially for newcomers to the Scheme language, as they hide both the role of @code{lambda} and the fact that procedures are values -- 1.7.7.6 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Thu Sep 06 16:37:31 2012 Received: (at 12341) by debbugs.gnu.org; 6 Sep 2012 20:37:31 +0000 Received: from localhost ([127.0.0.1]:44834 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T9ipO-0006n4-UM for submit@debbugs.gnu.org; Thu, 06 Sep 2012 16:37:31 -0400 Received: from xanadu.aquilenet.fr ([88.191.123.111]:57542) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T9ipL-0006mt-Nw for 12341@debbugs.gnu.org; Thu, 06 Sep 2012 16:37:29 -0400 Received: from localhost (localhost [127.0.0.1]) by xanadu.aquilenet.fr (Postfix) with ESMTP id 6E671964A; Thu, 6 Sep 2012 22:37:11 +0200 (CEST) Received: from xanadu.aquilenet.fr ([127.0.0.1]) by localhost (xanadu.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id z6SDmUY4h0B1; Thu, 6 Sep 2012 22:37:11 +0200 (CEST) Received: from pluto (reverse-83.fdn.fr [80.67.176.83]) by xanadu.aquilenet.fr (Postfix) with ESMTPSA id DC4829643; Thu, 6 Sep 2012 22:37:10 +0200 (CEST) From: ludo@gnu.org (Ludovic =?iso-8859-1?Q?Court=E8s?=) To: Ian Price Subject: Re: bug#12341: define does not support lambda shorthand notation, define-public does References: <87ligrhti2.fsf@fencepost.gnu.org> <87zk56onnn.fsf@gnu.org> <87vcfu9dws.fsf@Kagami.home> <87vcfsuq5p.fsf@gnu.org> <87y5kmkibw.fsf@Kagami.home> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 21 Fructidor an 220 de la =?iso-8859-1?Q?R=E9volutio?= =?iso-8859-1?Q?n?= X-PGP-Key-ID: 0xEA52ECF4 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 83C4 F8E5 10A3 3B4C 5BEA D15D 77DD 95E2 EA52 ECF4 X-OS: x86_64-unknown-linux-gnu Date: Thu, 06 Sep 2012 22:37:10 +0200 In-Reply-To: <87y5kmkibw.fsf@Kagami.home> (Ian Price's message of "Thu, 06 Sep 2012 21:27:31 +0100") Message-ID: <87zk523n2h.fsf@gnu.org> User-Agent: Gnus/5.130005 (Ma Gnus v0.5) Emacs/24.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -1.2 (-) X-Debbugs-Envelope-To: 12341 Cc: 12341@debbugs.gnu.org, David Kastrup X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -1.2 (-) Hi! Ian Price skribis: > ludo@gnu.org (Ludovic Court=C3=A8s) writes: > >> You now have commit access, so you=E2=80=99re welcome to commit it by yo= urself! >> :-) > I have :-) Great, thanks! >> Please post patches before committing, for a start. Make sure to always >> rebase before committing, to avoid gratuitous merge commits if somebody >> else pushed changes in the meantime. If you have any doubts with Git, >> please ask us. > Rebasing is already standard practice when sending patches, so no > trouble there. Yeah, that=E2=80=99s what I suspected anyway. ;-) > +Prior to guile 2.0, guile provided a type of definition known colloquial= ly Should really be =E2=80=9CGuile 2.0=E2=80=9D and =E2=80=9CGuile=E2=80=9D, w= ith a capital =E2=80=98G=E2=80=99, when talking about the package. Other than that, looks good to me. Thank you! Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Thu Sep 06 17:37:48 2012 Received: (at 12341) by debbugs.gnu.org; 6 Sep 2012 21:37:48 +0000 Received: from localhost ([127.0.0.1]:44912 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T9jlk-0008Bz-90 for submit@debbugs.gnu.org; Thu, 06 Sep 2012 17:37:48 -0400 Received: from mail-we0-f172.google.com ([74.125.82.172]:62111) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T9jlg-0008Bk-Jd; Thu, 06 Sep 2012 17:37:45 -0400 Received: by weyu54 with SMTP id u54so1324637wey.3 for ; Thu, 06 Sep 2012 14:37:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20120113; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-type; bh=iAIFkvbIduzxr5YDefZhTC+21abZ9iq/JgpjCf1mv/I=; b=RUKrGFHCoOEdl2agwyk1ScAnriAsWhlNklvbE8BlY8/0wZBn6MryMg+LJf9pCyOj/j umY1TLPo+kwRjx9Ca08WyoscTIjdSz1Nlw1HthJZfCH8Kg3v6qxJpC6lLaN2T5d6cAiW 6Oe+73dOKOR+9n+V0ab2Mc5ArZ+0z8Clit0/Qubc35oH3RkwWuLqa4/kh35WBJCgxFxr AQnn3dEio7rX3dgtrQ9xmPasqqvaLrHdUJ7wJ4i0Pc2Y1MS+9R4K60KCclpbbRnChcXM Tzkf8qYK+xXWy+ghlhUgzNS01/2MwzxEkN2PB8YoTzNor9heLay48DH8XVpmWGgO3IXb uolA== Received: by 10.216.134.97 with SMTP id r75mr2028325wei.127.1346967449747; Thu, 06 Sep 2012 14:37:29 -0700 (PDT) Received: from Kagami.home (host86-174-96-191.range86-174.btcentralplus.com. [86.174.96.191]) by mx.google.com with ESMTPS id ef5sm8720760wib.3.2012.09.06.14.37.27 (version=TLSv1/SSLv3 cipher=OTHER); Thu, 06 Sep 2012 14:37:28 -0700 (PDT) From: Ian Price To: ludo@gnu.org (Ludovic =?iso-8859-1?Q?Court=E8s?=) Subject: Re: bug#12341: define does not support lambda shorthand notation, define-public does References: <87ligrhti2.fsf@fencepost.gnu.org> <87zk56onnn.fsf@gnu.org> <87vcfu9dws.fsf@Kagami.home> <87vcfsuq5p.fsf@gnu.org> <87y5kmkibw.fsf@Kagami.home> <87zk523n2h.fsf@gnu.org> Date: Thu, 06 Sep 2012 22:37:23 +0100 In-Reply-To: <87zk523n2h.fsf@gnu.org> ("Ludovic =?iso-8859-1?Q?Court=E8s?= =?iso-8859-1?Q?=22's?= message of "Thu, 06 Sep 2012 22:37:10 +0200") Message-ID: <87txvakf3g.fsf@Kagami.home> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=iso-2022-jp-2 X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 12341 Cc: 12341@debbugs.gnu.org, David Kastrup , 12341-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.3 (--) ludo@gnu.org (Ludovic Court$(D+2(Bs) writes: > Should really be $B!H(BGuile 2.0$B!I(B and $B!H(BGuile$B!I(B, with a capital $B!F(BG$B!G(B, when > talking about the package. Ah, of course. Fixed and Pushed. Thanks David for the report, I'm marking this as done. -- Ian Price -- shift-reset.com "Programming is like pinball. The reward for doing it well is the opportunity to do it again" - from "The Wizardy Compiled" From unknown Tue Aug 19 10:01:28 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Fri, 05 Oct 2012 11:24:03 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator