Discussion of UI principles

Well, uglier anyway. Time was, we only had arrowheads at the end of a block. (The arrowhead on the ring in CALL or a hof doesn't bother me because I think of the ring as a separate block with its own variadicity.) I confess I'm having a hard time getting used to seeing them pop up all over the place.

would this:

make it any better?

You'll be appalled at how I've been using them as extra options for blocks.

Tag Your Own Types script pic (7)
Tag Your Own Types script pic (8)

Tag Your Own Types script pic (9)
Tag Your Own Types script pic (10)

snap does that too, though.

Where?!

untitled script pic(35)
untitled script pic(34)

Oop-

Ok, Jens has done it too, then.

(I actually had to think a moment about what you were saying because in my mind "newline" is the name of a character, ^J, whereas what you meant was "new line." :~) An interesting example in which using one or two words actually affects the meaning, unlike the way "web site" has become "website" in popular usage.)

Anyway, I'd prefer to keep the simple case (no ELSE IFs) on one line; if we could do that and also split it when you add ELSE IFs, that'd be okay.

As in the escape character that \n commonly inserts?

Aha! Another instance where $nl is required next to text in an expansion label

I guess. but really the only reason if <>{ } @addInput works so well is that the c-shape means that each input group is nicely grouped together. but I do get your point :)

No, that's still at the end of the block, so it's okay. I don't like
untitled script pic (12)
when a block has a bunch of optional inputs, which is why I want us to invent a special notation for that, maybe a downarrow that opens a menu of option names.

Yeah that's the one.

Oh mon dieu. I have never seen such a block.

Again, this would be possible in pure Snap! if we allowed to have $nl in the same line as text! Currently, the best we can do is:

untitled script pic (10)
untitled script pic (9)

No, I don't want all the options to appear at once in the block's text. I want a menu, looking like the menus you always expect for downarrows, and when you choose an option, just that one appears in the block itself.

you mean something like this; but less ugly:untitled script pic(34) (you'll have to use this in snap to see what I mean)

No, like this:
untitled script pic (11)


withx

The downarrow isn't part of an input; it represents a kinda variadic input group, from which you can select option(s) to add.

Ohh, I see. That would be useful!

Actually now I think of it, the menu should have checkboxes, so you can change your mind about adding an option. And you should be able to use something like
☐ x stretch \# %
as an option specifier.

Why is this necessary?

To specify that this option is a numeric slot. Along with \? for Boolean, \_ for Any, \r for Reporter, etc.

And also so that the percent sign will come after the actual slot.