There's been a lot of changes here...
The concept of dashes for strings --[...]-- has pretty much taken this off the table.
I've evan started wondering if we might want to take plain double-dashes for "string literal to end of line".
>> foo: -- 4once think about writing like;;; literally anything &$#$&( here?
== --[4once think about writing like;;; literally anything &$#$&( here?]--
I don't know about that, but having an answer would be good. :-/
I like ? for OPT, and maybe ?? for OPT:VETO
Traditional OPT just erases the slot you're composing or reducing or whatever:
>> x: null
>> compose [a (? x) b]
== [a b]
But OPT:VETO will actually tell the operation you want to cancel something out at a higher level... like "Super opt out"
>> compose [a (?? x) b]
== \~null~\ ; antiform
This is turning out to be tremendously useful, and I think it goes naturally as a "more severe" OPT.
I have ideas that ! might be TRY, ?! could be OPT TRY, and maybe !! could be TRAP
It may be that these should all be left undefined, and people make up their own minds...
Yet I Think Differentiation Is Still Important
Saying your debug dumps have to be super short may be a false economy. Also, everyone has different styles of what they use more often or less often.
But I like them standing out in the code so you can see them.
Maybe what should be standard in the box is a little symboly, but less grabby of the lexical space.
What if dump were !dump ?
What if probe were !probe ?
What if breakpoint was !breakpoint or !break ?
We could say that when you're in the console you have shorthands without the exclamation points, but in source code it would be preferred that you use the decoration.
Anyway, A Shakeup And Review Is Needed
We might look at these things differently with a working debugger.