At one point I thought "new refinements" had a dialected purpose in APPLY to name the frame fields:
call:shell // [ ; infix APPLY
[(system.options.boot) --suppress {"*"} print.reb 100]
:input 'none ; pipe input from /dev/null
:output data: "" ; write output to string
]
That's a bit contentious with other evaluative purposes.
But eventually I decided that was not as good as using plain SET-WORD. This requires you to put any random arbitrary assignments in GROUP!s, which is its own "contention", but not so much of a burden:
call:shell // [ ; infix APPLY
[(system.options.boot) --suppress {"*"} print.reb 100]
input: 'none ; pipe input from /dev/null
output: (data: "") ; write output to string
]
It looks better, and fits with the already established modality of "assignment".
So :FOO Is Free For Other Meanings
What should those meanings be?
Ideally it would make some sense with the usage of leading colon for refinements.
In the past, :[...]
was able to mean REDUCE. That was semi-useful, but it didn't get used as much as I might have thought.
Leaving these forms free and open for the user to redefine with RebindableSyntax is another possibility.