From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Alex Shinn Newsgroups: gmane.lisp.guile.devel Subject: Re: Why not support (begin), (cond), (case-lambda), etc? Date: Fri, 6 Jan 2012 12:37:02 +0900 Message-ID: References: <871urdd593.fsf@netris.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: dough.gmane.org 1325821034 22083 80.91.229.12 (6 Jan 2012 03:37:14 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Fri, 6 Jan 2012 03:37:14 +0000 (UTC) Cc: guile-devel@gnu.org To: Mark H Weaver Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Fri Jan 06 04:37:10 2012 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Rj0cA-0003K6-Dy for guile-devel@m.gmane.org; Fri, 06 Jan 2012 04:37:10 +0100 Original-Received: from localhost ([::1]:53815 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Rj0c8-0004aA-N1 for guile-devel@m.gmane.org; Thu, 05 Jan 2012 22:37:08 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:51633) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Rj0c5-0004Zu-V5 for guile-devel@gnu.org; Thu, 05 Jan 2012 22:37:06 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Rj0c4-0003jf-SL for guile-devel@gnu.org; Thu, 05 Jan 2012 22:37:05 -0500 Original-Received: from mail-ee0-f41.google.com ([74.125.83.41]:54007) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Rj0c4-0003jV-Lt for guile-devel@gnu.org; Thu, 05 Jan 2012 22:37:04 -0500 Original-Received: by eekc41 with SMTP id c41so886613eek.0 for ; Thu, 05 Jan 2012 19:37:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=XD5UDt6Bo8qDjA/yOrWaSu49ICih5c0iNXP0cX+CDWs=; b=Tqkob2cD6vQCH8BlebpqGI4NCLIOE8YZiEYbswcWsd3BwjM0bArpecrUH60avC/Kwn +uXP7Rbgbh5J486g1waewQlQ+Dj4xzEY4ib310LlfPqUHEHhX7lyMa6MZqYh9UyTkfpj Z3Cy0CnmUC0naxennnppBOTK53uXuoG5gSc+4= Original-Received: by 10.213.110.11 with SMTP id l11mr907689ebp.72.1325821023041; Thu, 05 Jan 2012 19:37:03 -0800 (PST) Original-Received: by 10.213.5.6 with HTTP; Thu, 5 Jan 2012 19:37:02 -0800 (PST) In-Reply-To: <871urdd593.fsf@netris.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 74.125.83.41 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:13337 Archived-At: On Fri, Jan 6, 2012 at 9:49 AM, Mark H Weaver wrote: > > I'd like to argue in favor of supporting (begin), (cond), (case-lambda) > and other such degenerate forms, for the same reason that we support > (*), (+), and (let () ...). > > First of all: Is there any compelling reason not to support them? > I can't think of one. =A0Can you? =A0If so, please do tell. 1. portability - these extensions may not work on other implementations. 2. the fact that these may be indicators or broken macros. Suppose in general p% of macro expansions into cond are bugs. Since (cond) is a degenerate form, it's reasonable to suppose that q > p% of expansions into (cond) are bugs. If q is larger enough than p, then it's not worth the convenience it saves in some cases. Not that I have any idea what p and q are for these forms. Note the "definition context" begin in R7RS does allow zero arguments because expanding into zero definitions is a common case. --=20 Alex