[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Comments on process template syntax
From: |
Ricardo Wurmus |
Subject: |
Re: Comments on process template syntax |
Date: |
Mon, 03 Feb 2020 15:33:24 +0100 |
User-agent: |
mu4e 1.2.0; emacs 26.3 |
Roel Janssen <address@hidden> writes:
> May I suggest one other thing? Maybe I don't grasp Wisp at all, but
> why not:
>
> process: list-file-template (filename)
> name …
> inputs …
> outputs …
>
> process: list-some-file.txt
> inputs some-file.txt
> outputs …
I don’t see how this differs from what I suggested… other than the
renaming of “process:” to “process”.
Let’s ignore the name of that macro and go with “process:”. Currently,
you’d write it as
process: (list-file-template filename)
name …
inputs …
outputs …
or for the concrete case:
process: list-some-file.txt
inputs "some-file.txt"
outputs …
There’s little here that’s Wisp specific. It translates to this Scheme
code:
(process: (list-file-template filename)
(name …)
(inputs …)
(outputs …))
and
(process: list-some-file.txt
(inputs "some-file.txt")
(outputs …))
The macro “process:” just expands these things to
(define-public (list-file-template filename)
(process
(name …)
(inputs …)
(outputs …)))
and
(define-public list-some-file.txt
(process
(name "list-some-file.txt")
(inputs "some-file.txt")
(outputs …)))
[[
Now, “process” is actually a macro that performs a few more convenient
transformations, such as wrapping inputs in a list and all that, and it
then creates an instance of the GOOPS class <process> by doing
(make <process> …)
where “…” stands for sanitized arguments. Not important for this
discussion, though.
]]
I’m proposing two things:
1) get rid of the “:” in the macro name because it could be confused for
syntax — both for the Wisp “:” that means “wrap this in parens” and for
SRFI-88 style keywords. Rename the lower level “process” and “workflow”
macros — those that are wrappers around “(make <process> …)” and “(make
<workflow> …)” — to “make-process” and “make-workflow”, respectively, to
avoid naming conflicts.
2) move the procedure name outside of the parentheses when using the
“process” (formerly “process:”) macro.
This means that the examples above would be written as
process list-file-template (filename)
name …
inputs …
outputs …
and
process list-some-file.txt
inputs "some-file.txt"
outputs …
It’s a pretty small change, but I think it reduces the potential for
confusion and removes unnecessary characters (the colon).
--
Ricardo
- Re: Comments on process template syntax, (continued)
- Re: Comments on process template syntax, Ricardo Wurmus, 2020/02/03
- Re: Comments on process template syntax, Kyle Meyer, 2020/02/03
- Re: Comments on process template syntax, Ricardo Wurmus, 2020/02/03
- Re: Comments on process template syntax, Kyle Meyer, 2020/02/03
- Re: Comments on process template syntax, Ricardo Wurmus, 2020/02/04
- Re: Comments on process template syntax, Kyle Meyer, 2020/02/04
- Re: Comments on process template syntax, zimoun, 2020/02/05
Re: Comments on process template syntax, Roel Janssen, 2020/02/03
- Re: Comments on process template syntax, Ricardo Wurmus, 2020/02/03
- Re: Comments on process template syntax, Roel Janssen, 2020/02/03
- Re: Comments on process template syntax,
Ricardo Wurmus <=
- Re: Comments on process template syntax, Ricardo Wurmus, 2020/02/04
- Re: Comments on process template syntax, Kyle Meyer, 2020/02/04
- Re: Comments on process template syntax, zimoun, 2020/02/05
- Re: Comments on process template syntax, Kyle Meyer, 2020/02/05
- Re: Comments on process template syntax, zimoun, 2020/02/05
- Re: Comments on process template syntax, Kyle Meyer, 2020/02/05
- Re: Comments on process template syntax, zimoun, 2020/02/05
Re: Comments on process template syntax, zimoun, 2020/02/05
Re: Comments on process template syntax, Ricardo Wurmus, 2020/02/05
Re: Comments on process template syntax, zimoun, 2020/02/05