all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Timothy Sample <samplet@ngyro.com>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: guix-devel@gnu.org
Subject: Re: Etymology of derivation
Date: Tue, 03 Nov 2020 09:53:25 -0500	[thread overview]
Message-ID: <874km6pk4a.fsf@ngyro.com> (raw)
In-Reply-To: <87blgeeesw.fsf@gnu.org> ("Ludovic Courtès"'s message of "Tue, 03 Nov 2020 14:43:43 +0100")

Hello,

Ludovic Courtès <ludo@gnu.org> writes:

> Arun Isaac <arunisaac@systemreboot.net> skribis:
>
>> The original Nix publication was helpful. On page 22 of the full thesis,
>> it says:
>>
>> Derivation is Nix-speak for a component build action, which derives
>> the component from its inputs.
>
> Not sure if it helps, but I struggled a bit with the etymology of the
> word as well and wrote this in the manual (info "(guix) Programming
> Interface"):
>
>      Lower-level APIs are available to interact with the daemon and the
>   store.  To instruct the daemon to perform a build action, users actually
>   provide it with a “derivation”.  A derivation is a low-level
>   representation of the build actions to be taken, and the environment in
>   which they should occur—derivations are to package definitions what
>   assembly is to C programs.  The term “derivation” comes from the fact
>   that build results _derive_ from them.

This is a good explanation of the term in the context of Guix.  Going
back to the etymology, we do use “derivation” in a similar way in
mathematics.  I don’t think it’s particularly elegant, but it shows up.

A “derivation” is the answer to the question “how do you derive X?”.  In
this case, “how do you derive X?” is the same as asking “how did you
arrive at X?” or “what are the steps used to produce X?”.  (Note that it
has nothing to do with taking a derivative in the calculus sense!)

For instance, you might ask “how do you derive the formula for the area
of a circle?”.  If you flip the question around, you could ask “what is
the derivation of the formula for the area of a circle?”.  Here’s an
example titled “Area of a circle - derivation” [1].  I also see people
on popular forums asking things like “can anyone show me the derivation
of this formula for the radius of electron from nucleus?”.

Similarly, I might have “/gnu/store/…-hello” and ask “what were the
steps used to produce this?” or, equivalently, “can anyone show me the
derivation of this?”.  At this point Guix comes to the rescue and says
“/gnu/store/…-hello.drv”!

Of course, I don’t know what Eelco Dolstra was thinking, but that’s how
I understand the term.


-- Tim

[1] https://www.mathopenref.com/circleareaderive.html


  parent reply	other threads:[~2020-11-03 15:05 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-01 19:27 Etymology of derivation Arun Isaac
2020-11-01 19:49 ` Vagrant Cascadian
2020-11-02  5:07 ` Taylan Kammer
2020-11-02  7:48   ` Aniket Patil
2020-11-02 14:37     ` Arun Isaac
2020-11-02 15:43       ` Pierre Neidhardt
2020-11-02 16:19         ` Pjotr Prins
2020-11-02 19:19           ` Arun Isaac
2020-11-03 13:43       ` Ludovic Courtès
2020-11-03 14:43         ` Arun Isaac
2020-11-03 14:53         ` Timothy Sample [this message]
2020-11-04  7:50           ` Arun Isaac
2020-11-04 10:17 ` zimoun

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=874km6pk4a.fsf@ngyro.com \
    --to=samplet@ngyro.com \
    --cc=guix-devel@gnu.org \
    --cc=ludo@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.