Snap! v7.3.0 Release

You've obviously not used this sort of thing before - it's a very common operation when using the join block to join a list to make it into a string

Wait! What do you mean? In Snap you use "with input list" or "with inputs" all the time, at least in BJC you do:

inp_list

That's the exact same thing. In this case you need to replace the variadic input with an input list. Whenever you recursively traverse a list you need the recursive call to to just that:

Notice how this is not "dropping a list on the variadic arrow", but replacing the variadic input with a list.

Okay, a while ago everybody knew the basics of programming. We've apparently come too far in abstracting these fundamentals away from y'all that nowadays performing recursion on lists has become a lost art. Even here at the tabernacle of SICP! Clearly The End is Nigh.

what do most input lists do?

I don't understand your question, an input list is data and doesn't do anything. Because it's a list this makes the function variadic, meaning for "any number of inputs". If you only use the expansion arrows your expressions always have a fixed number of inputs. It's the "input list" feature that makes them VARYadic.

Before, i used it like this: (i never noticed the red halo when a list hover over a block with variadic inputs)
image

not like this:
image

I know multiple variadic inputs result in a list inside a block, but a don't know i can drop a list on the block when a red halo is present.

I found this in the manual:


Never noticed before.

Thank you, i learn something new every day !

I think it's because JOIN block is hyperized...

What you meant is right, but I think this is a confusing way to say it. The result of this notation is to replace the variadic input with a list, but the mechanism by which you achieve this replacement is to drop the list on the arrowheads.

Oops it needs an index entry, but here it is:

I am way, way behind on updating the manual. I'm usually a little behind, because I can't really document things until we've worked out exactly what they look like, which isn't typically decided until just before a release, and nobody wants to hold up a release until I get the manual revisions done. But in the past few years I let this task get way away from me. I'll try to do better.

But this "input list:" feature has been around since forever, so it's in the manual!

One question about:
untitled script pic

What's objective of extension + block, when multiplication replace a long adding?

Is to sum all the numbers. For example:

2 + 3 = 5 (the default block)
2 + 3 + 4 = 9 (with the new variadic inputs)

Yes, but you also can:
untitled script pic(4)
So it a new thing have to simplify + block?

Exactly...

So something like as adding some unnecessary things, but I'm not complaining :upside_down_face:

Btw, you can put input lists as well!

I think you put a ring in where a list should be.

Well... Yes, but check again, it's ringed... It should not error

Because I THINK They Wanna Fix Bugs And Make New Stuff

Anyone using a version of Snap! before 7.3.0 should know that any projects saved in 7.3.0 will turn any blocks with new syntax into undefined!. E.g. a model with 2+2 will not run in earlier versions.

Yeah, that's why while 7.3 was the dev version, it put up a window warning users not to save projects. Our theory is that once your browser cache is caught up with 7.3, you're never going to go backward. There can be a problem only if you use two computers and one of them hasn't caught up.

How do you make a block red?

He's using a custom category.