Promises library

https://snap.berkeley.edu/snap.html#present:Username=sarpnt&ProjectName=Promises%20library&editMode&noRun

launch scripts and keep track of when they finish and what they report
i used some slots in unusual ways, the circular ones are for promises that need to report and the square ones are for promises which might or might not report

i'll later try to create a library that can manage running scripts to the best of my ability (give yield and communication system, make sure it regularly confirms it hasn't gotten stuck, etc)

This is really cool. I can't think of use cases right now, but I can imagine that this will be very helpful!

I like this project.
Also,
Can't you stop a script by creating a temporary clone that tells the parent to do that script, and then telling the clone to stop all other scripts in sprite?

there's a script that demonstrates doing that in the project

can you add a block that terminates the script?

no that's impossible, it says in one of the comments near the top

cant you have the promise reporter also report the object the script is assigned to?

i can't guarantee that i can just make a clone of any sprite and not cause unwanted side effects, and a clone is the only way to make a new sprite in snap. i can't remove hat blocks.

if i don't make a clone, any way of stopping the script would stop all the scripts in that sprite, which again, has unwanted side effects.

only you can deal with sprites in your project properly, so you need to manage it.