From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: Fixing package-with-python2 Date: Mon, 01 Feb 2016 23:11:30 +0100 Message-ID: <87lh74nkrx.fsf@gnu.org> References: <20160201171258.GA16821@debian> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:58732) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aQMh7-00077f-VP for guix-devel@gnu.org; Mon, 01 Feb 2016 17:11:39 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aQMh3-0000ny-UL for guix-devel@gnu.org; Mon, 01 Feb 2016 17:11:37 -0500 In-Reply-To: <20160201171258.GA16821@debian> (Andreas Enge's message of "Mon, 1 Feb 2016 18:12:58 +0100") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Andreas Enge Cc: guix-devel Andreas Enge skribis: > On Mon, Feb 01, 2016 at 08:49:10AM -0500, Thompson, David wrote: >> Here's a potential solution for 'package-with-python2': module >> introspection. AIUI, the issue is that some Python 2 packages need >> extra manual tweaking, but 'package-with-python2' creates package >> variants without these tweaks. Our algorithm could look up >> 'python2-foo' in (gnu packages python) and use that package object, if >> it exists. This would stop the recursive transformation for that >> branch of the dependency graph and allow us to tweak Python 2 variants >> as needed without fear. > > I suggested the same off-line: Rewrite the variable name and use that. > But I was told it could not be done in Guile, so I am happy to stand > corrected. It=E2=80=99s not that it cannot be done, but rather that this is an R-style= hack we=E2=80=99d rather avoid. :-) The reason is that objects live independently of variables, variables can have any names etc. Having computation results depend on how things are named would make things non-deterministic and hard to reason about. Ludo=E2=80=99.