Nest operator in Snap!


The Project with the Block
Iterated part: The part you want nested. 10^Iter in the ring returns 10^(10^...) while Iter^10 in the ring returns ((10^10)^10)^...
Number value 1: The preset value of the iterated part. if it is 3, the iterated part is set to 3.
Ring: The function you run using the iterated part as the part you want to nest.
Number value 2: The amount of times to nest. Large values of this might lag the function and the project as a whole.
How it works:

Also, @bh, do you or did you plan to make an actual preset nest operator inside of Snap?

How does this differ from the “Iteration …” library’s AoC 2023 day 5 script pic 4 ?

It's user-made, which means they probably learned something while/from doing it :~)

I didn't know that libraries existed in Snap ! ...

actually, about that part, i found out how to use the libraries now!
They are the same...
So it does actually exist, but just for safety, I will use my homemade Nest function.

Yes. We always argue about what to include and what not to include in Snap!, including its libraries. Our initial impulse was to include lambda, call/run, and basically nothing else beyond Scratch. This was partly because back then we thought we could talk the Scratch Team into incorporating our work into Scratch, but also because all those library blocks are excellent learning experiences to build yourself. Recently we've been more concerned with making Snap! fast, so we put many control structures in as primitives. I'm not predicting where we'll be ten years from now. :~)

But any time anyone wants to ignore the libraries and build them all oneself, I'm all for it!

I agree with @pajamaclaws21 and bh, DIY is a great way to learn programming. On the other hand ... using, probably inspecting, and perhaps being inspired to adapt existing library blocks to one's own requirements and ideas is yet another great way to learn. @polymations: congratulations with knowing the way to the libraries now!

I wonder if scientific research has ever been done on whether (different kinds of) people learn computer programming / science better with or without open source libraries? I'm inclined to think having access to libraries such as Snap!'s is benificial on balance; but so far that has just been a personal opinion.

Ackermann 4 array script pic (3)

Oh, probably. That's the sort of thing that usually ends up cited in Mark Guzdial's blog. You can search for it there. There's been a ton of research on whether beginners learn better in a visual language vs. a text language.