I shall explain this code as you request.
[prefix<.myfn>(myFnArg)]
I want to restrict input to tiddlers beginning by a computed prefix. The computation is done by the .myfn
function. This function has a parameter, and this parameter has to be added when calling .myfn
. That parameter can be a constant string or the value of a procedure/variable or the result of a function.
That could be written as:
[prefix<.myfn>(a plain constant)]
[prefix<.myfn>(<myVariable>)]
[prefix<.myfn>(.myFunction)]
The difference between a plain constant and a function call is just the dot. Perhaps we should instead write:
[prefix<.myfn>(<.myFunction>)]
even if it is not similar to calling a function (it is similar to (re)calling a procedure/variable).
As for the syntax limitations: you would not be able to code:
[prefix<.myfn><.myFunction>[myArg01],[myArg02]]
and know wether myArg02
is the second argument of .myFunction
or of .myfn
. So you either limit .myFunction
to a single argument or you add something in the syntax to allow for writing the two possibilites in a different way.
For instance we could write:
[prefix<.myfn>(<.myFunction>[myArg01],[myArg02])]
if myArg02
belongs to .myFunction
. But if it belongs to .myfn
we would write:
[prefix<.myfn>(<.myFunction>[myArg01]),[myArg02]]
Is that worth? Well, a good idea might make it worth while a poor would not. Readability is key. Consider a variation of syntax below for the same casres.
[prefix<.myfn><.myFunction>([myArg01],[myArg02])]
[prefix<.myfn><.myFunction>([myArg01]),[myArg02]]
I think this one is better than the previous one. And more OK with our present syntax. For this kind of things, we would surely benefit from having the possibilities to freely nesting [
and ]
everywhere.