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: for-each et al Date: Wed, 05 Mar 2014 20:59:00 +0100 Message-ID: <87r46g4dtn.fsf@pobox.com> References: <87txbgr3wx.fsf@pobox.com> <87r46ks33b.fsf@gnu.org> <87wqg9ogf2.fsf@pobox.com> <87ob1l383j.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1394049549 8206 80.91.229.3 (5 Mar 2014 19:59:09 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 5 Mar 2014 19:59:09 +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 Wed Mar 05 20:59:19 2014 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1WLHyH-0000Nx-6x for guile-devel@m.gmane.org; Wed, 05 Mar 2014 20:59:17 +0100 Original-Received: from localhost ([::1]:54299 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WLHyG-0003jL-NC for guile-devel@m.gmane.org; Wed, 05 Mar 2014 14:59:16 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:48569) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WLHyA-0003bx-8c for guile-devel@gnu.org; Wed, 05 Mar 2014 14:59:14 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WLHy5-0002wV-Gk for guile-devel@gnu.org; Wed, 05 Mar 2014 14:59:10 -0500 Original-Received: from a-pb-sasl-quonix.pobox.com ([208.72.237.25]:48491 helo=sasl.smtp.pobox.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WLHy5-0002wQ-Du; Wed, 05 Mar 2014 14:59:05 -0500 Original-Received: from sasl.smtp.pobox.com (unknown [127.0.0.1]) by a-pb-sasl-quonix.pobox.com (Postfix) with ESMTP id E682A1006F; Wed, 5 Mar 2014 14:59:04 -0500 (EST) 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=gd1P+fyqNOVX 2j74/6zTgAWpKnc=; b=K9hh9rcDBmrPs8eIkZ0kUQ1i4YF4+wax2Xx6UrdL5acy XyfQsV76SgrvR0OFg9LAt/7JB9eDaTixCcrGwBf3yjsBco39qbGc2tSav1/Q57K8 zVDnoAsovgLpGDnlIcZkqV5075PrYv6iyDpJORN/aeyFDVGP+/WLSj9cfxWU06g= 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=ZY08Vi mR08BRtVUBoRdQ2X9t1c7YxXs3Se9daDUTwrQF14Xpuqutyu8xKIG0yNfIfPcdB3 QcguLY2fMzKZv7jblYNRhjGnC+Vv5E8lZ+/Zz+50dmtF2fyodGi/e7rhBjT/nYJP IyI2xAtUyZn6FD2AC/J1PxTzdgsbtAq9t8rxw= Original-Received: from a-pb-sasl-quonix.pobox.com (unknown [127.0.0.1]) by a-pb-sasl-quonix.pobox.com (Postfix) with ESMTP id DF76B1006E; Wed, 5 Mar 2014 14:59:04 -0500 (EST) Original-Received: from badger (unknown [88.160.190.192]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by a-pb-sasl-quonix.pobox.com (Postfix) with ESMTPSA id 9B6EC1006D; Wed, 5 Mar 2014 14:59:03 -0500 (EST) In-Reply-To: <87ob1l383j.fsf@gnu.org> ("Ludovic =?utf-8?Q?Court=C3=A8s=22'?= =?utf-8?Q?s?= message of "Tue, 04 Mar 2014 23:35:44 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) X-Pobox-Relay-ID: 9A0EBEB4-A4A0-11E3-974C-873F0E5B5709-02397024!a-pb-sasl-quonix.pobox.com X-detected-operating-system: by eggs.gnu.org: Solaris 10 X-Received-From: 208.72.237.25 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:16948 Archived-At: On Tue 04 Mar 2014 23:35, ludo@gnu.org (Ludovic Court=C3=A8s) writes: > I think the for-each change would be for 2.2, right? Sure. I'm really just on 2.2 these days... >> * Deprecate set-car!/set-cdr! (replacement would be mutable cells in >> the car/cdr; currently called variables, but could be called boxes) > > SRFI-111 boxes. Sure. I guess we should rename our variables to boxes. > I suspect SCM_SETCAR/SCM_SETCDR are actually more widespread than > their Scheme counterparts, and probably much harder to avoid. What > can we do with them? Depends. If they are used to build up a data structure, I wouldn't worry -- it's not detectable by Scheme except via continuation hacks. There are only about 70 places in libguile itself that we use SETCDR, and 30 or so for SETCAR. Not that bad. About 40 callers of scm_reverse_x though. > Another issue: what about elisp? It needs mutable pairs, but we don=E2= =80=99t > want to have it use a disjoint type. A very good question, and I don't know. Would a tc7 mutable-pair type be that bad? Could we do it with a tc3 instead? Dunno. This could make it impossible. >> * Introducing a #!lang facility, and having programs with #!lang make >> immutable pairs > > Not really fan of the idea. :-) Why not? It makes it clear what's in scope at the beginning of a file, which is a nice advantage. Andy --=20 http://wingolog.org/