From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Chris K. Jester-Young" Newsgroups: gmane.lisp.guile.devel Subject: Re: when and unless Date: Tue, 6 Dec 2011 18:05:56 -0500 Message-ID: <20111206230556.GA14717@yarrow.destinee.acro.gen.nz> References: <878vsjd2fh.fsf@pobox.com> <87r50ircng.fsf@pobox.com> <4EDDC8B1.3000509@gentoo.org> <87mxb6kkzx.fsf@fencepost.gnu.org> <877h29oeeq.fsf@pobox.com> <877h29k5xs.fsf@fencepost.gnu.org> <8739cxob6z.fsf@pobox.com> <87y5upicaf.fsf@fencepost.gnu.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: dough.gmane.org 1323212779 13308 80.91.229.12 (6 Dec 2011 23:06:19 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Tue, 6 Dec 2011 23:06:19 +0000 (UTC) To: guile-devel@gnu.org Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Wed Dec 07 00:06:15 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 1RY45X-0004ty-5B for guile-devel@m.gmane.org; Wed, 07 Dec 2011 00:06:15 +0100 Original-Received: from localhost ([::1]:42411 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RY45W-0003Cu-I6 for guile-devel@m.gmane.org; Tue, 06 Dec 2011 18:06:14 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:52164) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RY45T-0003Co-Oo for guile-devel@gnu.org; Tue, 06 Dec 2011 18:06:12 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RY45S-0005Tk-Nf for guile-devel@gnu.org; Tue, 06 Dec 2011 18:06:11 -0500 Original-Received: from mail-gx0-f169.google.com ([209.85.161.169]:50522) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RY45S-0005Tg-I0 for guile-devel@gnu.org; Tue, 06 Dec 2011 18:06:10 -0500 Original-Received: by ggnq4 with SMTP id q4so8273316ggn.0 for ; Tue, 06 Dec 2011 15:06:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=date:from:to:subject:message-id:mail-followup-to:references :mime-version:content-type:content-disposition:in-reply-to :user-agent; bh=KHoVdTEahGUboxjZ12d5JDtSzFNe9Pe4F9xYfeWw/Fs=; b=fPiY2he86Ed5D2f3i+dYbyIe0B6Hcjit2qFGazgsMGsXlpxZ2RcpTyB1SlU60rFSSi fPiMyK+CMSHDB/bNglO1tNd00aWcWlwhgSm8idVmOBWs7ZU+gW0fQSJ+clwaf/DGv638 a9bySuMLNPcwNv0bXjTvayIQPOqG7A6NLWJEs= Original-Received: by 10.236.189.97 with SMTP id b61mr22869810yhn.116.1323212769992; Tue, 06 Dec 2011 15:06:09 -0800 (PST) Original-Received: from yarrow.destinee.acro.gen.nz (ma92c36d0.tmodns.net. [208.54.44.169]) by mx.google.com with ESMTPS id f75sm39767161yhi.13.2011.12.06.15.06.06 (version=SSLv3 cipher=OTHER); Tue, 06 Dec 2011 15:06:09 -0800 (PST) Mail-Followup-To: guile-devel@gnu.org Content-Disposition: inline In-Reply-To: <87y5upicaf.fsf@fencepost.gnu.org> User-Agent: Mutt/1.5.20 (2009-06-14) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 209.85.161.169 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:12999 Archived-At: On Tue, Dec 06, 2011 at 11:08:08PM +0100, David Kastrup wrote: > > Have you considered using `(values)' as your way of saying, "I'm not > > returning any values"? > > Testing for that is not all that much fun. It is also rather useless > since pretty much all of the call-for-effect functions of Guile return > *unspecified* rather than (values). You're not really supposed to test for it. In fact, if you don't try to use the value of when, unless, or one-armed ifs, you'll do just fine in general. > It is not clear to me why (values) can't just evaluate to a single > *unspecified* just like '() evaluates to null. Outside of > call-with-values, I don't see much need to treat it special. Implementing that would pretty much either require CPS transforms all around (then you'd look at the arity of the continuation), or else you'd have to be keeping track of the arity of the current continuation some other way. Is it just me, or does that smell like Perl's wantarray? Which brings me to a bigger question---do we even want anything like wantarray? It seems so insanely hacky (to me), even in Perl code. Just my humble opinion, Chris.