Hello! I know that I've posted a lot recently (bug reports, custom types, suggestions, etc.), but I just wanted to throw this out there. I assume that a similar idea has already been suggested, but I couldn't find any forum topic about it. I understand that the Snap! backlog is extensive, so I am not demanding that this be added or even considered. Thank you in advance!
Rings allow us to store blocks as first-class data. Sometimes, one would like some parts of the ringed script to be evaluated. The easiest (yet not easy) way is to use (join ((foo ())::ring) (. . .) @delInput@verticalEllipsis@addInput)
. This can complicate scripts that would otherwise look simple. A ring break (or disring, irring, antiring, or a name to that effect) could reduce the number of block morphs that need to be displayed. I am not sure how they'd appear, though. Maybe it could look like ((()::ring))
or have a unique border.
To store a ring break in a variable, you could nest a ringed ring break within another ring break.
(((((()::ring))@addInput::ring)::ring))
Now I'm thinking that the ring break should go in the Control category. There's too much gray, and it looks like a pull/ring tab . Wait a second...Ring tab? That's ironic.
Thank you again! Merry Christmas (or Happy Chanukkah)!