[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] Prototype register-path
From: |
Ludovic Courtès |
Subject: |
Re: [PATCH] Prototype register-path |
Date: |
Mon, 19 Jun 2017 13:47:31 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) |
Heya,
Thanks for the perfect explanation, Chris. To complement what you wrote:
> More specifically, there are various interpretations of the word
> "derivation", depending on the context. For example, there are structs
> in the Nix C++ source code that represent derivations [3]. In the Nix
> expression language, derivations are represented as attribute sets [4].
> There are also "store derivations", which are files in the store that
> precisely encode the build actions that will be executed when the
> derivation is built [5].
>
> Some of this carries over to Guix. The general meaning of the word
> "derivation" appears to be the same as in Nix: a derivation basically
> takes inputs and produces an output. Guix also uses "store derivations"
> because we use (a modified version of) the Nix daemon. Note that the
> Guix manual sometimes uses the word "derivation" to refer to "store
> derivations", which can be confusing.
The meaning of “derivation” is the same in Guix as in Nix,
unsurprisingly:
https://www.gnu.org/software/guix/manual/html_node/Derivations.html
But it’s true that the manual uses the word “derivation” both to denote
the in-memory representation (<derivation> records) and the on-disk
representation (.drv files.) Most of the time, at the Scheme level, all
you see is <derivation> records.
In the context of reepca’s work, the new daemon in Scheme would be able
to reuse (guix derivations) and <derivation> records directly.
Ludo’.