From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([209.51.188.92]:56035) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hXpSZ-00078P-64 for gwl-devel@gnu.org; Mon, 03 Jun 2019 12:05:22 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hXpSV-0000VS-NF for gwl-devel@gnu.org; Mon, 03 Jun 2019 12:05:17 -0400 Received: from sender4-of-o53.zoho.com ([136.143.188.53]:21313) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hXpST-00080L-NI for gwl-devel@gnu.org; Mon, 03 Jun 2019 12:05:14 -0400 References: <87lg2atsxx.fsf@elephly.net> <87mumj0xzq.fsf@elephly.net> <87pnrez7zg.fsf@elephly.net> <87blzll7be.fsf@elephly.net> From: Ricardo Wurmus In-reply-to: Date: Mon, 03 Jun 2019 18:04:11 +0200 Message-ID: <87r28airk4.fsf@elephly.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Subject: Re: variable interpolation in code snippets 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: zimoun Cc: gwl-devel@gnu.org Hi simon, > It improves the readibilty. > However, does the keyword `list` is mandatory ? Unfortunately it is mandatory. Previously, I tried to give the record field a =E2=80=9Csmart constructor=E2=80=9D that takes either one value (a = list or a let binding resulting in a list) or =E2=80=94 for convenience =E2=80=93 multipl= e values that are then turned into a list. With the Guix-style records this does not seem to be possible. If we want to make this work we=E2=80=99d have to use our own extended records or maybe switch to GOOPS. GOOPS offers virtual slots that can have slot-ref and slot-set! procedures, which would handle the conversion transparently. I think this would be a good way forward =E2=80=94 and it w= ould decouple the GWL from the Guix version in use, because those extended record are really made for Guix and may not forever match the needs of the GWL. > With the renaming scheme that I proposed: > - inputs -becomes-> packages > - data-inputs -becomes-> inputs > - outputs -becomes-> outputs I still agree with these changes. We=E2=80=99d only need to find a way to support the old syntax for a while to allow for migrating existing workflows (AFAIK that=E2=80=99s really just Roel=E2=80=99s workflows, but i= t better to gradually deprecate the previous syntax). -- Ricardo