Building on the concept of "@ means do not splice"... what if a literal usage of @... in a PRINT rule would mold the referenced thing, while the default would be to FORM it?
>> items: ["alpha" "beta" "gamma"] >> print ["Without:" items] Without: alpha beta gamma >> print ["With:" @items] With: ["alpha" "beta" "gamma"]
There's a kind of parity here--with the proposal to have @ be modal parameter control meaning "/ONLY, no splicing". And it goes along with the concept of wanting to call these LIT-WORD!, LIT-BLOCK!, LIT-GROUP!, etc... it's the "more literal way of handling things". And it goes along with the non-reducing behavior of the type in the evaluator (only modal parameters trigger evaluation).
This isn't the first time I've suggested having some dialected concept for this. There were some experiments in the ancestral precursor to today's SPACED (which was called COMBINE). It was a bit of a testbed for some ideas...the main one of which we take for granted today is that it would vaporize failed conditionals completely.
But when I'd suggested it before, I was suggesting things like LIT-WORD! which seemed to undermine the evaluator. (e.g. why wouldn't print ['hello] just print hello).
This seems neat to me. And maybe with it, we would worry less about what MOLD is called (I still don't want to call it mold, though!).