From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:44299) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1izM6I-0005fl-5h for gwl-devel@gnu.org; Wed, 05 Feb 2020 09:56:23 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1izM6E-000417-9T for gwl-devel@gnu.org; Wed, 05 Feb 2020 09:56:22 -0500 MIME-Version: 1.0 References: <871rrdthmz.fsf@elephly.net> In-Reply-To: From: zimoun Date: Wed, 5 Feb 2020 15:56:02 +0100 Message-ID: Subject: Re: Comments on process template syntax Content-Type: text/plain; charset="UTF-8" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gwl-devel-bounces+kyle=kyleam.com@gnu.org Sender: "gwl-devel" To: Roel Janssen Cc: gwl-devel@gnu.org Hi, On Mon, 3 Feb 2020 at 09:58, Roel Janssen wrote: > Perhaps with some parentheses? That it is a Lisp is a good thing, not > something you'd rather hide.. :) Like you've said; what you've defined > above is a procedure, not a record. That's a really cool "feature" of > the GWL! It is one of the feature I was interested in when I started to look at GWL: be able to define procedure. For example, it is possible with Snakemake because it is Python; but it is not convenient to define a function that returns a 'rule'. Well, when I write "workflow", I am always tempted to do "(map proc list)" with 'proc' generating (or manipulating) "processes" (or other). > Maybe we can just clarify the feature better in the documentation. > Here's my initial thought: > --- > When defining processes, they can be parameterized by turning the > process definition into a procedure, which will form a template for > processes to be defined later. This is done by adding a name for the > template, and its parameters directly after "process:". > --- I agree. All the best, simon