From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.71) id 1gkp4N-00086U-JT for mharc-gwl-devel@gnu.org; Sat, 19 Jan 2019 06:45:47 -0500 Received: from eggs.gnu.org ([209.51.188.92]:45707) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gkp4L-00086F-0K for gwl-devel@gnu.org; Sat, 19 Jan 2019 06:45:45 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gkp4K-0004Sc-7i for gwl-devel@gnu.org; Sat, 19 Jan 2019 06:45:44 -0500 Received: from sender-of-o53.zoho.com ([135.84.80.218]:21739) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gkp4J-0004PX-PZ for gwl-devel@gnu.org; Sat, 19 Jan 2019 06:45:44 -0500 References: <87bm4df2ld.fsf@elephly.net> From: Ricardo Wurmus Message-ID: <878szgg9bi.fsf@elephly.net> In-reply-to: Date: Sat, 19 Jan 2019 12:45:33 +0100 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Subject: =?UTF-8?B?UmU6IG1lcmdpbmcg4oCccHJvY2Vzc2Vz4oCdIGFuZCDigJxyZXN0?= =?UTF-8?B?cmljdGlvbnPigJ0=?= List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: zimoun Cc: gwl-devel@gnu.org Hi simon, > I am not clear yet about how to manage the inputs/outputs > (fixed in the definition of the process or fixed in the workflow) [=E2=80=A6] > I am still failing to write a macro that inplements my "view": > - write the graph > - collect the inputs/outputs This is interesting and it might be a solution to this conundrum. If the processes can declare their inputs without refering to other processes then we have a solution: the graph can be built from the inputs and outputs of the provided processes without having to specify any dependencies manually. We need a procedure that takes any number of processes as inputs and matches inputs with outputs to generate an adjacency list of processes. This shouldn=E2=80=99t be difficult. > I pick the name `dataflow' for this not-yet-immplemented macro name. > > Well, instead of your graph name, I propose dataflow or stream or datastr= eam. I=E2=80=99d like this to be a short name if possible. In fact, I=E2=80=99d= prefer if it was completely invisible like this: (workflow (name "simple") (processes ((eat "fruit") -> greet) ((eat "veges") -> greet) (sleep -> (eat "fruit") (eat "veges")) (bye -> sleep))) Or like this assuming that all of the processes declare inputs and outputs *somehow*: (workflow (name "simple") (processes (eat "fruit") (eat "veges") greet sleep bye)) I=E2=80=99ll play around with this today. -- Ricardo