I'd love to get some feedback if anybody has any thoughts.
Actors in a Pony program all run within the same operating system process, so in theory there shouldn't be a limit to how many are run. In practice each actor takes up some memory so if you start enough of them you'll crash the process when you run out of memory.
Pony has a scheduler that schedules actors to run on threads. By default a Pony application starts with as many threads as there are CPUs in the system, but that's adjustable so the playground may tune that down. So all the actors are free to be available to be scheduled, but the number that are running at the same time is dependent on how many threads the scheduler has, and how many actors are processing messages at a given time.
Output in Pony is done via two actors: `env.out` is for stdout, `env.err` is for stderr. If you want to print a string you send that string to the actor via a `print(...)` message. Actors only process one message at a time, so each string will be printed in the order in which the output actor received the `print(...)` message.
Hopefully that helps a little. I'm happy to try to clarify or answer other questions.
There's a timeout on it so it's really only good for running short lived snippets.
It's based on the same code that powers Rust's playground (or rather the code that did at the time that we introduced the playground).
Source is available here: