I think that the advanced category needs to be deleted because all it tells is that an article is confusing to some people and not its uses or other useful things. --Archmage 01:08, 18 July 2010 (UTC)
- @Chris: Good point... but what category do you think it would fit best in?
- @Archmage: I think the advanced category is okay, it just means that something may not be understood by beginning Scratchers (Unless they work in Smalltalk as their hobby or job). Jwosty 02:01, 18 July 2010 (UTC)
- I personally do think that the advanced category is good for this topic, because recursion is something that goes above and beyond what a normal scratcher needs to know to make most projects, or basically 'advanced', and although it's not completely advanced right now, it's just incomplete.
Lucario621 (talk | contribs) 16:48, 18 July 2010 (UTC)
I think Andresmh is making a lot of sense but everyone seems to ignore him. What is advanced exactly? This article basically says calling a broadcast within a broadcast is advanced which is something I don't agree with. Someone who can delete categories should delete the advanced category. Having a whole advanced category is too broad I feel, I think it would be better as a subcategory for guides or something --Archmage 19:17, 18 July 2010 (UTC)
- You didn't delete the advanced category, its still there... I went ahead and cleaned the advanced catagory so that deleting it is easier for you.--Archmage 23:22, 18 July 2010 (UTC)
The advaced category should indeed be deleted. You might think it is advanced, someone else might think it's easy. What seems like Advanced Drawing techniques to you might be easy stuff for an artist. On to the next topic, this article is wrong :( Recursion is when a function or procedure or whatever calls itself so it runs inside itself. After the instance of the procedure stops, the original caller just continues. What is described in this article is just a loop, not recursion. Real recursion can not be programmed into normal Scratch. I say someone who's good at explaining programming techniques (Archmage? bharvey?) should change the article ^^ JSO 20:15, 18 July 2010 (UTC)
- I'll drop both a message. Jwosty 18:16, 19 July 2010 (UTC)
Is this enough?
Okay, I did a pretty major edit to clarify that recursion isn't looping, and introducing the distinction between tail recursion (doable in Scratch) and embedded recursion (not).
Is this enough? One thing not included is a discussion of recursive reporters, e.g. for inductively defined functions like the Fibonacci sequence. If this were Wikipedia I'd definitely want to do that, and maybe even talk about recursive function theory, the branch of mathematics that studies those functions that can be defined recursively. But I think for the Scratch wiki, this may be all you need. What do you think? —Brian Harvey (talk) 00:47, 2 September 2010 (UTC)
2.0 and BYOB
- Hold on, I'm not done there... I'm going to add stuff like simulating recursive reporters, etc. There are plenty of interesting things in the 2.0 recursion mechanism.
Hardmath123 (talk | contribs) 15:54, 20 May 2012 (UTC)
Recursion cannot (or cannot any longer) crash Scratch
See this project: 
- I agree. :/ Can we make this decision ourselves?
TheUltimatum (talk | contribs) 20:08, 7 October 2017 (UTC)
You actually can still, you just need a slightly more powerful script:
define recursion repeat (10000) recursion end
The script shown above just had each function call itself once. That means that the call stack just grows by one each iteration. However, mine multiplies the call stack by 10000 each time, resulting in 10000n function calls where n is the number of iterations allowed, which will crash Scratch very quickly.
jvvg (talk | contribs) 20:46, 7 October 2017 (UTC)