From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Andy Wingo Newsgroups: gmane.lisp.guile.devel Subject: Re: when and unless Date: Fri, 01 Jul 2011 09:50:34 +0200 Message-ID: <878vsia185.fsf@pobox.com> References: <878vsjd2fh.fsf@pobox.com> <878vsjyouu.fsf@gnu.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: dough.gmane.org 1309506666 28369 80.91.229.12 (1 Jul 2011 07:51:06 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Fri, 1 Jul 2011 07:51:06 +0000 (UTC) Cc: guile-devel@gnu.org To: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Fri Jul 01 09:51:01 2011 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 1QcYVA-0003o6-BB for guile-devel@m.gmane.org; Fri, 01 Jul 2011 09:51:00 +0200 Original-Received: from localhost ([::1]:54910 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QcYV8-0008GE-Ey for guile-devel@m.gmane.org; Fri, 01 Jul 2011 03:50:58 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:59955) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QcYUu-0008F7-6C for guile-devel@gnu.org; Fri, 01 Jul 2011 03:50:48 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QcYUr-0005AS-61 for guile-devel@gnu.org; Fri, 01 Jul 2011 03:50:43 -0400 Original-Received: from a-pb-sasl-sd.pobox.com ([64.74.157.62]:43005 helo=sasl.smtp.pobox.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QcYUq-0005AK-Q3; Fri, 01 Jul 2011 03:50:40 -0400 Original-Received: from sasl.smtp.pobox.com (unknown [127.0.0.1]) by a-pb-sasl-sd.pobox.com (Postfix) with ESMTP id 5531D33A1; Fri, 1 Jul 2011 03:52:54 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type:content-transfer-encoding; s=sasl; bh=b3zqe2Z4VFA4 +D50xYwJz6a5VsU=; b=JnoZhdn0LqHCeVjYPQhzI3uHR7zmDIBXqbEZDP7BtIuV yM1+B+7ZoLdn1e84YSnJtff28VPdLn9Kz/w/WEyxuuHJqjzcvRY8SzZPKyvwVfoN FAwnq9QMZ/UiHuFOtqJ43zrMo0ZOurq1gL/WUuR8kpwltU3vCdgEo8hMNfPHuno= DomainKey-Signature: a=rsa-sha1; c=nofws; d=pobox.com; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type:content-transfer-encoding; q=dns; s=sasl; b=mqBg1k LHZgQBL6uTXjeLx2aHoFNmeaYQXj0gTKqQ++pc+tkkcd7caOGb+owl1hjYM6771U r+UgwvNkIXSj6fESzjkKD6Gh8kOSK77WqFIKtCRpwEpHN/RP/o8eN8NYXepTIjD8 FNXBi2UPSrQTiY2diKA3hUsWKzzQGRyqEtgeM= Original-Received: from a-pb-sasl-sd.pobox.com (unknown [127.0.0.1]) by a-pb-sasl-sd.pobox.com (Postfix) with ESMTP id 4BF9633A0; Fri, 1 Jul 2011 03:52:54 -0400 (EDT) Original-Received: from badger (unknown [90.164.198.39]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by a-pb-sasl-sd.pobox.com (Postfix) with ESMTPSA id 99964339F; Fri, 1 Jul 2011 03:52:53 -0400 (EDT) In-Reply-To: <878vsjyouu.fsf@gnu.org> ("Ludovic =?utf-8?Q?Court=C3=A8s=22'?= =?utf-8?Q?s?= message of "Thu, 30 Jun 2011 23:46:17 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux) X-Pobox-Relay-ID: 205303EC-A3B7-11E0-B4BB-5875C023C68D-02397024!a-pb-sasl-sd.pobox.com X-detected-operating-system: by eggs.gnu.org: Solaris 10 (beta) X-Received-From: 64.74.157.62 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:12616 Archived-At: Hi :) On Thu 30 Jun 2011 23:46, ludo@gnu.org (Ludovic Court=C3=A8s) writes: > http://lists.r6rs.org/pipermail/r6rs-discuss/2007-March/thread.html#1856 Wow, forgot about that one ;) > Here=E2=80=99s another argument: these macros are about writing imperativ= e code, > which, as we all know, is Evil. As such, they are unacceptable. > > (Seriously though, I won=E2=80=99t use them but won=E2=80=99t complain ei= ther if they > land in Guile.) OK, cool. One place you might want to use them though is in type checks for Scheme code. We currently don't do very much of that, but probably should in the future. As in: (define (parameter-fluid p) (unless (parameter? p) (wrong-type-arg p 'parameter)) (struct-ref p 1)) The advantage of `unless' over `if' is that the wrong-type-arg is not called in tail position, so the error message sees `parameter-fluid' on the stack. Andy --=20 http://wingolog.org/