From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Wurmus Subject: Re: Guix Workflow Language ? Date: Tue, 30 Jan 2018 02:57:26 +0100 Message-ID: <87lgggrtvd.fsf@elephly.net> References: <874lnbqauw.fsf@gnu.org> <87tvv9lhmz.fsf@gnu.org> <20180126130520.GB15888@thebird.nl> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:38177) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1egLBN-0004Qb-Rx for guix-devel@gnu.org; Mon, 29 Jan 2018 20:57:59 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1egLBK-0004ZH-P2 for guix-devel@gnu.org; Mon, 29 Jan 2018 20:57:57 -0500 Received: from sender-of-o51.zoho.com ([135.84.80.216]:21086) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1egLBK-0004Z1-Hs for guix-devel@gnu.org; Mon, 29 Jan 2018 20:57:54 -0500 In-reply-to: List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: zimoun Cc: guix-devel@gnu.org zimoun writes: > Currently, GWL is the strongest available about env/deps management. > However, Lisp is not mainstream, especially with Bio* and few > pieces/workflow are already available. Well, things can change. Did you know that Ross Ihaka of GNU R fame has been thinking out loud about a Lisp system as a successor to R? See https://www.stat.auckland.ac.nz/%7Eihaka/downloads/Compstat-2008.pdf and https://www.stat.auckland.ac.nz/%7Eihaka/downloads/JSM-2010.pdf A lisp dialect is used in one of the most impressive editors, and lispy languages have seen something of a renaissance with Clojure (also check out Kawa), the rise of Racket, and possibly the appearance of Guix ;) It=E2=80=99s not mainstream *yet*, but what becomes mainstream is really determined by users who demonstrate that the tool is up to the task. > From my point of view, GWL is two sides: > - the Guix Workflow, the engine of worklows which is already awesome !! > - the Workflow Language, the lisp EDSL which is hard to buy for the > non-lispers. The two are closely linked. Workflows in the GWL are described as Scheme values, exactly as packages in Guix are Scheme values. What emerges from these linked values is a graph. In the case of Guix that=E2= =80=99s a huge network of software, whereas in the GWL the graph is an executable workflow. > Last, I do not understand how 2 workflow engines can co-exist. It is > error-prone and a spaghetti plate that I will not eat. :-) The GWL describes the relations between processes as workflows. An execution engine then makes sense of workflows, e.g. by running its processes on a cluster, spawning individual processes in isolated environments (=E2=80=9Ccontainers!=E2=80=9D), pre-processing the data input= s (e.g. fetching files from a data repository or checking for staleness), =E2=80=A6 these things are really independent of the workflows themselves. But you really do need to have that network of processes first, and that=E2=80=99s what the GWL builds up as a live datastructure from Scheme values. And that=E2=80=99s why it=E2=80=99s much less useful to try to com= pile a CWL definition to the GWL =E2=80=94 you=E2=80=99d lose most of the features the= GWL can provide. > Happy FOSDEM !! (for people who are going) > Hope that nice ideas will be discussed during the GWL session. :-) I=E2=80=99ll be there and ready for a chat :) -- Ricardo GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC https://elephly.net