From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: G expressions Date: Mon, 28 Apr 2014 17:58:58 +0200 Message-ID: <87mwf5a1j1.fsf@gnu.org> References: <871twneldl.fsf@gnu.org> <87fvkxew6j.fsf@gnu.org> 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]:44760) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WenxS-0003vT-HX for guix-devel@gnu.org; Mon, 28 Apr 2014 11:59:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WenxM-0003iR-Rj for guix-devel@gnu.org; Mon, 28 Apr 2014 11:59:06 -0400 Received: from hera.aquilenet.fr ([2a01:474::1]:48655) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WenxM-0003iH-KU for guix-devel@gnu.org; Mon, 28 Apr 2014 11:59:00 -0400 In-Reply-To: (Amirouche Boubekki's message of "Mon, 28 Apr 2014 16:03:50 +0200") 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: Amirouche Boubekki Cc: guix-devel@gnu.org Amirouche Boubekki skribis: > # There=E2=80=99s a recurrent problem that we need to communicate the fil= e name of > # store items to Scheme code that is going to live in another process: > # expressions to build a derivation, Scheme files that are to be loaded by > # other processes, etc. > > This seems to be a referential transparency problem. Probably the > Funarg problem. > > Quoting http://en.wikipedia.org/wiki/Funarg_problem: Hmm I don=E2=80=99t think this has anything to do with it. > What about the following: > > ;; (quote (system* (string-append (coreutils "/bin/ls")))) > > I don't understand the difference with classic macro. Perhaps I didn=E2=80=99t make myself clear. There are two problems to solve here: first =E2=80=9Ccoreutils=E2=80=9D must be replaced by =E2=80=9C/gnu/s= tore/...=E2=80=9D when that expression is written to disk, and second we=E2=80=99d like the quoted expression to hold information about the fact that it refers to the =E2=80=98coreutils=E2=80=99 package. Quasiquote doesn=E2=80=99t help with = that. Does that clarify things? Ludo=E2=80=99.