From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id OCehNsdxoV8tcwAA0tVLHw (envelope-from ) for ; Tue, 03 Nov 2020 15:05:43 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id 0OyNMsdxoV8yfwAA1q6Kng (envelope-from ) for ; Tue, 03 Nov 2020 15:05:43 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 88C3294014A for ; Tue, 3 Nov 2020 15:05:43 +0000 (UTC) Received: from localhost ([::1]:52248 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kZxsT-0002Cy-VU for larch@yhetil.org; Tue, 03 Nov 2020 10:05:41 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:38294) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kZxgh-0003iX-Lm for guix-devel@gnu.org; Tue, 03 Nov 2020 09:53:31 -0500 Received: from out2-smtp.messagingengine.com ([66.111.4.26]:56483) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kZxgf-0004BF-Cz; Tue, 03 Nov 2020 09:53:31 -0500 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 1AB355C01CC; Tue, 3 Nov 2020 09:53:27 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute1.internal (MEProxy); Tue, 03 Nov 2020 09:53:27 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm1; bh=hWl/biXlhudTDokac3Z0biJayP2o4lmt4KPzm99Yk Fs=; b=e+Y0CtwxRNUKwLNd9UcRbx6fcwrSx6BygGEKxElNaprvu7WN6tfUPq/6z 0itetw3B6oYNz5dwnWafMuaHy4oUt/kGa2EZB/PkU9Y3aNoHodr/lLtVZfKASA06 XHabdnIn2CIHniO3CIon9WZp3HSHmoedXcMpQBSY9WnrklL0qC2SeUx+Njl7875r CpJo02/v4bpjDwYeyEUlllgKKV+6ej+uNitSYux319Du+Tjh3yZ1ZxjBtX0iOWmx qeITJrSWiXC84psxHUvsiJph9Q1u9/0FNNXATHvBHvls09IMNu2prugjSDQtnynX q+mOu7JAIMt3OCpNjJozF/HzAGdXw== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedujedruddtfedgieejucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvufhfffgjkfgfgggtgfesthhqredttderjeenucfhrhhomhepvfhimhho thhhhicuufgrmhhplhgvuceoshgrmhhplhgvthesnhhghihrohdrtghomheqnecuggftrf grthhtvghrnhepheekgeevveehfefghefgkeevtdffheejleetteeifeduhfdtheetkeev tdfffeelnecuffhomhgrihhnpehmrghthhhophgvnhhrvghfrdgtohhmnecukfhppeejge drudduiedrudekiedrgeegnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehm rghilhhfrhhomhepshgrmhhplhgvthesnhhghihrohdrtghomh X-ME-Proxy: Received: from mrblack (74-116-186-44.qc.dsl.ebox.net [74.116.186.44]) by mail.messagingengine.com (Postfix) with ESMTPA id 55347306467D; Tue, 3 Nov 2020 09:53:26 -0500 (EST) From: Timothy Sample To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: Etymology of derivation References: <87v9eolvwy.fsf@systemreboot.net> <87sg9rlt93.fsf@systemreboot.net> <87blgeeesw.fsf@gnu.org> Date: Tue, 03 Nov 2020 09:53:25 -0500 In-Reply-To: <87blgeeesw.fsf@gnu.org> ("Ludovic =?utf-8?Q?Court=C3=A8s=22'?= =?utf-8?Q?s?= message of "Tue, 03 Nov 2020 14:43:43 +0100") Message-ID: <874km6pk4a.fsf@ngyro.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=66.111.4.26; envelope-from=samplet@ngyro.com; helo=out2-smtp.messagingengine.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/03 09:52:52 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: guix-devel@gnu.org Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Scanner: ns3122888.ip-94-23-21.eu Authentication-Results: aspmx1.migadu.com; dkim=fail (headers rsa verify failed) header.d=messagingengine.com header.s=fm1 header.b=e+Y0Ctwx; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Spam-Score: -0.01 X-TUID: CFfjWtitJc5A Hello, Ludovic Court=C3=A8s writes: > Arun Isaac 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 =E2=80=9Cderivation=E2=80=9D. A derivation is a low-= level > representation of the build actions to be taken, and the environment in > which they should occur=E2=80=94derivations are to package definitions = what > assembly is to C programs. The term =E2=80=9Cderivation=E2=80=9D 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 =E2=80=9Cderivation=E2=80=9D in a similar = way in mathematics. I don=E2=80=99t think it=E2=80=99s particularly elegant, but = it shows up. A =E2=80=9Cderivation=E2=80=9D is the answer to the question =E2=80=9Chow d= o you derive X?=E2=80=9D. In this case, =E2=80=9Chow do you derive X?=E2=80=9D is the same as asking =E2= =80=9Chow did you arrive at X?=E2=80=9D or =E2=80=9Cwhat are the steps used to produce X?=E2= =80=9D. (Note that it has nothing to do with taking a derivative in the calculus sense!) For instance, you might ask =E2=80=9Chow do you derive the formula for the = area of a circle?=E2=80=9D. If you flip the question around, you could ask =E2= =80=9Cwhat is the derivation of the formula for the area of a circle?=E2=80=9D. Here=E2= =80=99s an example titled =E2=80=9CArea of a circle - derivation=E2=80=9D [1]. I also= see people on popular forums asking things like =E2=80=9Ccan anyone show me the deriva= tion of this formula for the radius of electron from nucleus?=E2=80=9D. Similarly, I might have =E2=80=9C/gnu/store/=E2=80=A6-hello=E2=80=9D and as= k =E2=80=9Cwhat were the steps used to produce this?=E2=80=9D or, equivalently, =E2=80=9Ccan anyone = show me the derivation of this?=E2=80=9D. At this point Guix comes to the rescue and s= ays =E2=80=9C/gnu/store/=E2=80=A6-hello.drv=E2=80=9D! Of course, I don=E2=80=99t know what Eelco Dolstra was thinking, but that= =E2=80=99s how I understand the term. -- Tim [1] https://www.mathopenref.com/circleareaderive.html