3 ms·
I use Pony a bit, and wrote some things here: https://bluishcoder.co.nz/tags/pony/ https://bluishcoder.co.nz/tags/pony/ My list of catches would be: * Referen
by doublec 10y ago
I use Pony a bit, and wrote some things here: https://bluishcoder.co.nz/tags/pony/ https://bluishcoder.co.nz/tags/pony/
My list of catches would be:
* Reference capabilities take a while to grasp. No more than Rust's borrowing or ATS viewtypes though.
* Garbage collection occurs between behaviour calls only. If you do something in a loop that allocates a lot in a single behaviour then you'll get memory issues.
* There's no blocking calls. You need to structure your code so that actors receive notifications of things occurring instead.
* Behaviours don't return anything as they are asynchronous. This requires using promises or passing callbacks.
That said, once you grasp these it's nice to program in. Fast, readable, and makes concurrent/parallel code easy to write and safe to pass data around. The C FFI is easy to use. You can package Pony code as a library callable from C too.