From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Wurmus Subject: Re: Guix Workflow Language ? Date: Thu, 25 Jan 2018 21:36:04 +0100 Message-ID: <87fu6ty8uj.fsf@elephly.net> References: <874lnbqauw.fsf@gnu.org> 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]:56761) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eeoFt-00046f-Ay for guix-devel@gnu.org; Thu, 25 Jan 2018 15:36:18 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eeoFs-0005kx-7M for guix-devel@gnu.org; Thu, 25 Jan 2018 15:36:17 -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 Hi, zimoun writes: > In this context, since 'lispy' syntax is not mainstream (and will > never be), it appears to me as a hard position. We=E2=80=99ve got you covered here: the GWL has built-in support for Wisp, = a pretty language extension for Guile. It also comes with a bunch of extra syntax support to make the definition of workflows easier. Here=E2=80=99s a convoluted artificial example: --8<---------------cut here---------------start------------->8--- define-module test use-modules guix workflows guix processes gnu packages bioinformatics gnu packages python process: simple-test package-inputs list python samtools data-inputs list "sample.bam" "hg38.fa" "abc" procedure #---{python} import os def hello(): print "hello from python 3" print GWL['data-inputs'] print GWL['name'] hello() --- workflow: example-workflow processes list simple-test --8<---------------cut here---------------end--------------->8--- Put this in a file called =E2=80=9Ctest.wisp=E2=80=9D and add the directory= to the GUIX_WORKFLOW_PATH and you=E2=80=99re good to go. Note that the =E2=80=9Csimple-test=E2=80=9D process definition embeds Pytho= n code. A number of other languages can be supported easily. I don=E2=80=99t think syntax should hold you back. -- Ricardo GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC https://elephly.net