[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: G expressions
From: |
Ludovic Courtès |
Subject: |
Re: G expressions |
Date: |
Mon, 28 Apr 2014 17:58:58 +0200 |
User-agent: |
Gnus/5.130009 (Ma Gnus v0.9) Emacs/24.3 (gnu/linux) |
Amirouche Boubekki <address@hidden> skribis:
> # There’s a recurrent problem that we need to communicate the file 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’t 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’t make myself clear. There are two problems to solve
here: first “coreutils” must be replaced by “/gnu/store/...” when that
expression is written to disk, and second we’d like the quoted
expression to hold information about the fact that it refers to the
‘coreutils’ package. Quasiquote doesn’t help with that.
Does that clarify things?
Ludo’.