BEFORE YOU PRESS THE GREEN FLAG, READ THROUGH THE CODE AND TRY TO GUESS WHAT WILL HAPPEN!
Wow, that looks like it took a while. Nice work.
It took about three days
Good grief. Definitely too much time on your hands. Very nice, especially the part about the recursive list structure.
I think I found a bug in single-stepping while stepping through that. Sometimes when you call a function with a constant number as input, it would light up the input slot and then immediately switch to lighting up the function, but then I'd have to click the yellow button twice before it'd go to whatever came next. Is it just me, or does that happen to other people too?
Did you put single stepping on the slowest setting?
So, the thing Scratch calls "single stepping" isn't really single stepping -- a technical term with a well-defined meaning -- at all. Single stepping means that you, the user, have to push a button each time you want to advance to the next step. What Scratch does is "slow stepping," maybe, but it advances to the next step all by itself. We call that "visible stepping," because the main thing about it isn't how slow it is, but that you can watch the progression of your program.
If you move our visible stepping slider all the way to the left, it does true single stepping. The yellow pause button changes shape to a step-once button, and you keep clicking it until you get to something you want to investigate more deeply (by looking at variables for example). So, yeah, that's what I did.
(I keep trying to convince Jens that sliding the slider all the way to the right should run at full speed. And maybe the slider should just always be there.)
Thanks for the explanation about single stepping and visible stepping, I never knew the difference.
I agree with you
- Sliding slider to right should be full speed, and slider always there
- Sliding slider to right should be full speed, but slider not always there
- Sliding slider to right should not be full speed
I think there should be a way to reply to two people at once, too.
Why does the voting thing have to rank the results in order of the amount of votes, not the original order?!