On Sun, May 26, 2019 at 3:36 PM Marcel Fabian Krüger <tex@2krueger.de> wrote:
Hi,

inspired by [a recent TeX.sx question][1] this allows delimited macros
with `#` in the parameter text by doubling the `#`.
It isn't needed that often but it is useful if you try to analyze the
parameter text of a TeX macro using TeX code. Also it is completely
backward-compatible (`##` always triggers an error without this) and
it is very easy to implement.

For example:

\def\test#1###2{(#1)[#2]}
\test hello#{world}

would result in (hello)[world]

Best regards,
Marcel Krüger


hm, context mkiv already has the "named parameters" 
eg 
\def\doflushparallel#instance#status#line#label#content% called at lua end
  {\begingroup
   \def\currentparallelinstance{#instance}%
   \def\currentparallelnumber  {#status}%
   \def\currentparallelline    {#line}%
   \def\currentparallellabel   {#label}%
   \def\currentparallelcontent {#content}% can be kep at the lua end .. no need to use a virtual file
   \ifcase#status\relax
     \expandafter\buff_parallel_flush_nop
   \or
     \expandafter\buff_parallel_flush_yes
   \fi
   \endgroup}

(see buff-par.mkvi )

Perhaps one can play with a named parameter as kind of separator.

--
luigi