tractor 0.0.1

Actor system modelled after Pony's actors
Documentation
# tractor

Actor framework for Rust, modelled after [Pony][Pony]'s actors:

* `Actor`s cannot deadlocks!

* `Send`ing a message to an `Actor` can never fail.

* No `async` in `Actor`s. Behaviors cannot block.

* `Actor`s are garbage collected.

* The implemention of `tractor` is rather simple compared against other Actor
  implementations in Rust.

More details:

* `Actor`s have unbounded mailboxes and `send` is non-blocking.

* `Actor`s cannot be manually stopped. They terminate as soon as no further
  reference to them exists and their mailbox is empty. This implies that
  sending a message to an `Actor` can never fail except for running out of
  memory. To avoid overloading of an `Actor` you can check it's current length
  of it's mailbox.

* The behaviors of an `Actor` have no return value! As such, `Actor`s do not
  support "waiting" for a result. To "simulate" Request/Response, pass the
  `Actor`s address in the message and respond to it.

* The behaviors of an `Actor` are *NOT* `async fn`s! `Async` would imply that
  the execution can "halt". There might be `AsyncActor` for convenience in the
  future.

* NOTE: Any `Actor` cycles will defeat the garbage collection of `Actor`s.

[Pony]: https://www.ponylang.io/