Snap! v7.3.0 Release

This has been true for all variadic inputs since forever. Dropping a list on the arrowheads isn't special for + and ×. That's why it isn't in the release notes!

Except LIST and SCRIPT VARIABLES.

Yeah I guess it wouldn't make much sense for LIST. I suppose it might be meaningful for SCRIPT VARIABLES.

it worked

I feel like for max or min with more than two inputs, the max/min text should be put at the front.

It does look a little strange but if you drop a list of values onto it- it all looks good :slight_smile:

image

I searched the latest version of the manual for "variadic" and couldn't find any mention of this.

In general, I think the release notes need to be supplemented by something like "changes to the manual" since they are so brief (which is OK but there needs to something else to communicate new features to users).

Why when i drop a list into it, i got this:
image
i only can compare item 1 of list 1 and item 2 of list 2, etc
image

You need to hover over the block until it changes to red

image

Omg, not very intuitive... We have to drop a list ON the variadic arrow !

Thk

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?