From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:37217) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1izP2m-0007Tg-2h for gwl-devel@gnu.org; Wed, 05 Feb 2020 13:04:57 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1izP2h-0006lT-TH for gwl-devel@gnu.org; Wed, 05 Feb 2020 13:04:55 -0500 References: <871rrdthmz.fsf@elephly.net> <87lfpjswla.fsf@elephly.net> From: Ricardo Wurmus Subject: Re: Comments on process template syntax In-reply-to: Date: Wed, 05 Feb 2020 19:04:36 +0100 Message-ID: <87blqcrjuz.fsf@elephly.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable 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 zimoun writes: > Does it make sense to expand "process: proc arg" as "process : proc arg"? > Well, disallow the colon ':' in all the name (symbol) and then expand. This is not easily accomplished because =E2=80=9C:=E2=80=9D is a valid char= acter in a symbol. So I=E2=80=99d have to replace the reader to disallow =E2=80=9C:= =E2=80=9D in symbols. That=E2=80=99s a very big intervention. > Because this space is a drawback of Wisp, I mean at least to me. > Especially coming from Python where the standard is to have "def > proc(arg):" and not "def proc(arg) :". I see what you mean. The =E2=80=9C:=E2=80=9D on its own is just the Wisp w= ay of saying =E2=80=9Cwrap the rest of this line in parentheses=E2=80=9D. In Haskell th= at=E2=80=99s =E2=80=9C$=E2=80=9D. In both cases it=E2=80=99s separate from any identifiers. In the Python case the =E2=80=9C:=E2=80=9D serves no real purpose as far as= I can tell. >> process list-file-template (filename) > > I find this one the clearer. Unfortunately, this one is not possible due to ambiguity in the process macro as I explained in an earlier email. We can avoid this ambiguity by adding =E2=80=9Cwith=E2=80=9D as extra syntax: process list-file-template (with filename) It=E2=80=99s not perfect, but I don=E2=80=99t see another way that would be= any clearer. An (untested) alternative is process list-file-template this that anything whatever =E2=80=A6 or process list-file-template with this that anything whatever =E2=80=A6 i.e. just list the arguments after the process name. What=E2=80=99s not so= nice about this is the lack of visual separation (you will need editor support to visually set the arguments apart from the first two tokens), and the fact that you=E2=80=99ll probably have to use a leading period to continue the line. I honestly can=E2=80=99t tell which of the options is better. It=E2=80=99s= like saying the word =E2=80=9Ctable=E2=80=9D 50 times in a row and wondering what these= odd sounds really mean=E2=80=A6 -- Ricardo