From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <guix-patches-bounces+larch=yhetil.org@gnu.org>
Received: from mp1 ([2001:41d0:8:6d80::])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
	by ms0.migadu.com with LMTPS
	id wCDcHy9YaGHJWAEAgWs5BA
	(envelope-from <guix-patches-bounces+larch=yhetil.org@gnu.org>)
	for <larch@yhetil.org>; Thu, 14 Oct 2021 18:17:51 +0200
Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
	by mp1 with LMTPS
	id SBB9Gy9YaGF6fgAAbx9fmQ
	(envelope-from <guix-patches-bounces+larch=yhetil.org@gnu.org>)
	for <larch@yhetil.org>; Thu, 14 Oct 2021 16:17:51 +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 4A29122768
	for <larch@yhetil.org>; Thu, 14 Oct 2021 18:17:51 +0200 (CEST)
Received: from localhost ([::1]:58962 helo=lists1p.gnu.org)
	by lists.gnu.org with esmtp (Exim 4.90_1)
	(envelope-from <guix-patches-bounces+larch=yhetil.org@gnu.org>)
	id 1mb3QU-0007Wl-4G
	for larch@yhetil.org; Thu, 14 Oct 2021 12:17:50 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:55026)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>)
 id 1mb39I-00017e-N8
 for guix-patches@gnu.org; Thu, 14 Oct 2021 12:00:04 -0400
Received: from debbugs.gnu.org ([209.51.188.43]:53575)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>)
 id 1mb39I-0003zp-8L
 for guix-patches@gnu.org; Thu, 14 Oct 2021 12:00:04 -0400
Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2)
 (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1mb39I-0004SW-6L
 for guix-patches@gnu.org; Thu, 14 Oct 2021 12:00:04 -0400
X-Loop: help-debbugs@gnu.org
Subject: [bug#51207] [PATCH 6/9] gnu: Add julia-functors.
Resent-From: zimoun <zimon.toutoune@gmail.com>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces@debbugs.gnu.org>
Resent-CC: guix-patches@gnu.org
Resent-Date: Thu, 14 Oct 2021 16:00:04 +0000
Resent-Message-ID: <handler.51207.B51207.163422717116981@debbugs.gnu.org>
Resent-Sender: help-debbugs@gnu.org
X-GNU-PR-Message: followup 51207
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: patch
To: 51207@debbugs.gnu.org
Cc: zimoun <zimon.toutoune@gmail.com>
Received: via spool by 51207-submit@debbugs.gnu.org id=B51207.163422717116981
 (code B ref 51207); Thu, 14 Oct 2021 16:00:04 +0000
Received: (at 51207) by debbugs.gnu.org; 14 Oct 2021 15:59:31 +0000
Received: from localhost ([127.0.0.1]:36873 helo=debbugs.gnu.org)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <debbugs-submit-bounces@debbugs.gnu.org>)
 id 1mb38k-0004Pn-UW
 for submit@debbugs.gnu.org; Thu, 14 Oct 2021 11:59:31 -0400
Received: from mail-wr1-f41.google.com ([209.85.221.41]:36653)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <zimon.toutoune@gmail.com>) id 1mb38d-0004Oc-Mm
 for 51207@debbugs.gnu.org; Thu, 14 Oct 2021 11:59:25 -0400
Received: by mail-wr1-f41.google.com with SMTP id o20so21065039wro.3
 for <51207@debbugs.gnu.org>; Thu, 14 Oct 2021 08:59:23 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; 
 h=from:to:cc:subject:date:message-id:in-reply-to:references
 :mime-version:content-transfer-encoding;
 bh=sYsBZnLvS3hjSnk0puWVCng8ceM+aYBOz8bYnZKFHHI=;
 b=WHMA8wDLijZO8oJh3fKCP9TT5ZsucVqm8l7XyL81tutTjacCCKsgDqxQmeg5PusO0j
 SqiwaToj6HXrHos8+TbVVE2VkpnDQd1mryu8mBjMNdOavqX6KVY4AL42mm7A2V0AnC0x
 Ot8ga5+mXrD+iVvaWy8rvn9adJGvIW/3UQTWgWqXI5kAMJMT8H3aeKUzu+fDSqjQSoKE
 KNEPMzR0f1sndfh/pCtI/9nv20MQ6zizveSwlTcr+W1xcTVKdS1ejhtOnyTDLBhV63jI
 7RG+99gJuNIb17WYqku/mJ9ZfeHopXu4CHM6vpn15zrRwxY+KClGgZbM2iIRcy0BJvV/
 DJzg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
 :references:mime-version:content-transfer-encoding;
 bh=sYsBZnLvS3hjSnk0puWVCng8ceM+aYBOz8bYnZKFHHI=;
 b=DHiaHD7giOcNL+a+X3vyBsUv5k/RhRlroXZYbyeJczr5NUppi/LuM7lFasA+Oa+cqt
 XegNCjIccsTl6bI48V3ON8pZkRs1kDEOvhHKryBT6d1zbbJdC2EKWDF0L1qSK/LCuSuc
 QcCI1TgtaVUZcrAVN8VbZAn/vc1Ht2SJ+FNCJy8GLIlaKydnmsMJq8fodQUfyykTSi0+
 1sd3dMOw6th1QhGx1RTeXCuuzevrAniDAIRnTLffz3Ovg6sm4zzXVeKEU8lkHz2epoG4
 wN79V+wlYoBOg7eWxq5q9ZavRn0xr2IJhC1hPSuQUSaHem0Pm2jMBO3XfuxTmmPEOzjI
 Oviw==
X-Gm-Message-State: AOAM531d9y9oYZZoQkKDcFZu3dYKarcGZPFZ9DKF0zB0d+zoacTflXX9
 nwapMjzwOd5R8Y0vg3P09sYFPCRDYgE=
X-Google-Smtp-Source: ABdhPJwjsOtWlISingtdtYNxzC836ndChoZ+b2NSg6UQOjKrA5Bo/b+OmqRakV4BW4IwZ0GKOlFpcQ==
X-Received: by 2002:a7b:c757:: with SMTP id w23mr6545007wmk.84.1634227156990; 
 Thu, 14 Oct 2021 08:59:16 -0700 (PDT)
Received: from localhost.localdomain ([193.48.40.117])
 by smtp.gmail.com with ESMTPSA id j14sm2538512wrw.12.2021.10.14.08.59.16
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 14 Oct 2021 08:59:16 -0700 (PDT)
From: zimoun <zimon.toutoune@gmail.com>
Date: Thu, 14 Oct 2021 17:59:02 +0200
Message-Id: <20211014155905.3221481-6-zimon.toutoune@gmail.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20211014155905.3221481-1-zimon.toutoune@gmail.com>
References: <20211014155905.3221481-1-zimon.toutoune@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
X-BeenThere: guix-patches@gnu.org
List-Id: <guix-patches.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/guix-patches>,
 <mailto:guix-patches-request@gnu.org?subject=unsubscribe>
List-Archive: <https://lists.gnu.org/archive/html/guix-patches>
List-Post: <mailto:guix-patches@gnu.org>
List-Help: <mailto:guix-patches-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/guix-patches>,
 <mailto:guix-patches-request@gnu.org?subject=subscribe>
Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org
Sender: "Guix-patches" <guix-patches-bounces+larch=yhetil.org@gnu.org>
X-Migadu-Flow: FLOW_IN
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org;
	s=key1; t=1634228271;
	h=from:from:sender:sender:reply-to:subject:subject:date:date:
	 message-id:message-id:to:to:cc:cc:mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:resent-cc:
	 resent-from:resent-sender:resent-message-id:in-reply-to:in-reply-to:
	 references:references:list-id:list-help:list-unsubscribe:
	 list-subscribe:list-post:dkim-signature;
	bh=sYsBZnLvS3hjSnk0puWVCng8ceM+aYBOz8bYnZKFHHI=;
	b=RUTq1Pz5bJftvvoh7VDN0ME7nfNcgM2OtuG4e1JcJsINy+mcxyEBe+he9NSYt/1cNfUSt+
	wzNHQYCRVJXDB9IZg994PZKesyn58w2Esp9g0i2AI3u5FBj5UST+k3ofmqdgPRRPHbc9bf
	Xdc6OsylUrSK9lJziXC08XLUqFBtE7+a7dDtv9RsHDMsQzArXjYAnRG6OoqG7BgdznhH1O
	l3hpbnA/VuQyYghTAW6AGj4YG+R6Cg2PUvhHJVul+H9cbAbRsqR3KiFx825ZPmQN8VBoqP
	bGlv2SW201bV3HP3qKBw2Ag9Qgh/0Rlt43Fsa4sCUmNzrEel0rBC5OwmpBGaAg==
ARC-Seal: i=1; s=key1; d=yhetil.org; t=1634228271; a=rsa-sha256; cv=none;
	b=V5RhIwrjv+RoGZ7METE4u9hGtN9UHKA0zoY0/iRFfVTwjefTBE8nGVycMKfBFfESbZ6RmC
	bou9JeuD0GikqBULZCckQs1l2v4zVtEtNo3Fv1wZSUwWY75AdZFyOmlv0XsYqE5YnOw9sH
	YmYitVILB32KKB62Snxp4S8aoXCS1Yeuai1pCz9UmObEbdtfmxU2pc75CNqVDj98X75o6I
	bHTRnQ4ojGoUqWxkOzyPFqkGoWIyp2BdrS47ZWGybOiv0650yRO2HJs8Q+ecAT170+geOx
	mfXK0Nyc7U4kYwNZBk0gN7yzF2H+ecgDuL9zYc4ZAEnQNLP7WFYzg1vD4PylRg==
ARC-Authentication-Results: i=1;
	aspmx1.migadu.com;
	dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20210112 header.b=WHMA8wDL;
	spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org
X-Migadu-Spam-Score: 2.69
Authentication-Results: aspmx1.migadu.com;
	dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20210112 header.b=WHMA8wDL;
	dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none);
	spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org
X-Migadu-Queue-Id: 4A29122768
X-Spam-Score: 2.69
X-Migadu-Scanner: scn0.migadu.com
X-TUID: JUptRQsrE89R

* gnu/packages/julia-xyz.scm (julia-functors): New variable.
---
 gnu/packages/julia-xyz.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 9604460600..86f3446ba3 100644
--- a/gnu/packages/julia-xyz.scm
+++ b/gnu/packages/julia-xyz.scm
@@ -1743,6 +1743,31 @@ (define-public julia-functionwrappers
 arbitrary functions.")
     (license license:expat)))
 
+(define-public julia-functors
+  (package
+    (name "julia-functors")
+    (version "0.2.6")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/FluxML/Functors.jl")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32 "0vkyh63v6kj70bqg09z6vsnxm2idz3xwiz7nsr53fgj5c37y2xrj"))))
+    (build-system julia-build-system)
+    (home-page "https://fluxml.ai/Functors")
+    (synopsis "Design pattern for structures as in machine learning")
+    (description "This package provides tools to express a design pattern for
+dealing with large/ nested structures, as in machine learning and
+optimisation.  For large machine learning models it can be cumbersome or
+inefficient to work with parameters as one big, flat vector, and structs help
+in managing complexity; but it is also desirable to easily operate over all
+parameters at once, e.g. for changing precision or applying an optimiser
+update step.")
+    (license license:expat)))
+
 (define-public julia-fuzzycompletions
   (package
     (name "julia-fuzzycompletions")
-- 
2.32.0