Something about ELIDE makes me feel like the subtlety of "do the thing, but drop the result" is more easily carried by it.
OMIT makes me think it didn't do the thing at all:
>> 1 + 2 omit print "I might imagine this"
== 3 ; didn't print
It does require people to learn what may be a "new" word for some. But ELIDE is used in programming several places.
We Actually CAN Implement That OMIT Semantic
This is actually possible, with REFRAMER.
e.g. we can gather all the arguments to a function, get passed the FRAME! that's built, but not do anything with it... and then vanish.
>> omit: vanishable reframer lambda [f [frame!]] []
>> 1 + 2 omit print "We can actually implement OMIT"
== 3
You can't stop the argument evaluation from having any side effects. But you can stop the function from running its implementation.
>> n: 1000
>> data: [a b c]
>> 1 + 2 omit append data (n: n + 20)
== 3
>> data
== [a b c] ; stopped the APPEND
>> n
== 1020 ; didn't stop the addition/assignment
How useful is something like that? ![]()
Can't say I've ever thought I needed it. But now that it's on my radar maybe I'll notice a place where it could be used.
Anyway, for some reason ELIDE has successfully implanted in my brain as the "right" word for what ELIDE does. And I think I'm happy with it, even if it's "weird".
But maybe this requires some market research or testing to see if VANISH or OMIT gets overwhelmingly higher marks from users.
(Insert mandatory: "or if people don't like it, they can always change it!" here)