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: GNU Guile branch, master, updated. v2.1.0-102-g0f9f51a Date: Tue, 15 Nov 2011 22:12:22 +0100 Message-ID: <87k471m6o9.fsf@pobox.com> References: <87boskzj8i.fsf@netris.org> <871utgcr4g.fsf@pobox.com> <87y5vox6wh.fsf@netris.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: dough.gmane.org 1321391563 11656 80.91.229.12 (15 Nov 2011 21:12:43 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Tue, 15 Nov 2011 21:12:43 +0000 (UTC) Cc: guile-devel@gnu.org To: Mark H Weaver Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Tue Nov 15 22:12:39 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 1RQQJ4-0000WU-Ji for guile-devel@m.gmane.org; Tue, 15 Nov 2011 22:12:38 +0100 Original-Received: from localhost ([::1]:56115 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RQQJ4-0005S1-1x for guile-devel@m.gmane.org; Tue, 15 Nov 2011 16:12:38 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:37997) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RQQIy-0005Rb-Pp for guile-devel@gnu.org; Tue, 15 Nov 2011 16:12:37 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RQQIu-0001z8-G4 for guile-devel@gnu.org; Tue, 15 Nov 2011 16:12:32 -0500 Original-Received: from a-pb-sasl-sd.pobox.com ([74.115.168.62]:60327 helo=sasl.smtp.pobox.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RQQIu-0001yo-7c for guile-devel@gnu.org; Tue, 15 Nov 2011 16:12:28 -0500 Original-Received: from sasl.smtp.pobox.com (unknown [127.0.0.1]) by a-pb-sasl-sd.pobox.com (Postfix) with ESMTP id A5F60897C; Tue, 15 Nov 2011 16:12:27 -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; s=sasl; bh=GdgKnE4t2Q2FJVUnhiv3sEiWCJc=; b=SlzCTW RiGLaPPMzZPNcb0Hb2ms0s7ttgWy9SbjPxTU8E/xW2afyReNtDl5zf+gQCGQ55Qt ZtHT3ySsQypmuLZWNrqRZXiWsbMUFRDEZa1rp/irU+igyiGBshIll18ubafhxDKS cWgYg7jaG6E+sMWKThYS86CkGjo6YWah+mYRk= 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; q=dns; s=sasl; b=XUuOAq2xol1j/hIAHMLv7RRoXWId1/FZ xF4wxZqo9TpolxnN2+VdvLxfM4fH8YBdXMDGYBggDKozrXsLEnSMDejxHKnrURVs ZsrYQ4h1BG2GgSYRmU2T0XFFAdwfebwpeHW7Zo4pb0+pS5Mgh+hxkMIuEzG2GLbW uRyjtRRcy0A= 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 9E026897A; Tue, 15 Nov 2011 16:12:27 -0500 (EST) 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 BE9958979; Tue, 15 Nov 2011 16:12:26 -0500 (EST) In-Reply-To: <87y5vox6wh.fsf@netris.org> (Mark H. Weaver's message of "Thu, 10 Nov 2011 11:46:06 -0500") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux) X-Pobox-Relay-ID: 852E36BE-0FCE-11E1-B8C0-65B1DE995924-02397024!a-pb-sasl-sd.pobox.com X-detected-operating-system: by eggs.gnu.org: Solaris 10 (beta) X-Received-From: 74.115.168.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:12895 Archived-At: On Thu 10 Nov 2011 17:46, Mark H Weaver writes: >> I need to be able to allow distributors to release a new Guile binary >> package without causing recompilation of user libraries. Of course >> this requires some care in maintenance, so as to only make compatible >> changes, but the trivial case of recompilation of an unchanged source >> package should produce a compatible binary package. >> >> Causing B.SO to *rely* on an identifier that is generated anew every >> time A.scm is compiled introduces a coupling between compiled files that >> is invisible to the user, and is not acceptable in Guile's use case. > > This is certainly a compelling reason. Nonetheless, I find this loss of > hygiene extremely disappointing. Me too. But this is a tradeoff. It is entirely unacceptable to have a situation in which a user installs Guile version 2.2.0, compiles some Scheme package Foo against it, then downloads Guile 2.2.1 and installs it, causing breakage because the .go files from Foo encode the unique names corresponding to the compilation of Guile 2.2.0. > What you have implemented here is not Scheme, but rather something > that looks like Scheme and claims to be hygienic, but will in fact > break hygiene in many plausible cases. This statement galls me to no end. I don't even know how to reply to it. I have written and deleted many paragraphs here, but I think it would be best if you sent another mail that examines the ramifications of both sides of this issue. I might have made the wrong choice, but your proposal does not do the problem justice, not to mention the four days that I spent on fixing it. Andy -- http://wingolog.org/