Hacker News new | past | comments | ask | show | jobs | submit login

My take is that you are looking at it the wrong way. Pony uses a single message queue for each actor (which is completely invisible at the code level) and typed messages (which syntactically look like functions).

Behaviors (the message handlers) have a lot of limits on them compared to functions (like no return values), so it really is message passing.

I'm not sure I really like the syntax that makes messages look like functions, though.




> Pony uses a single message queue for each actor (which is completely invisible at the code level) and typed messages (which syntactically look like functions).

I totally agree with this definition but believe that it leads to awkward programming. The problem stems from forcing the message queue to be FIFO, which does not always make sense. I think the Erlang style selective receive is the correct abstraction, as it avoids having to maintain a separate queue in userland. I understand why Pony didn't go down that road though, we have a lot more shared experience in type systems for function calling compared to message passing.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: