Is this library intended to replace async?

No, async is a fabulous library that allows Applicative composition of small asynchronous sub-routines into bigger ones and link errors between them. async fits the bill perfectly for small operations that happen concurrently; on the other hand, async is not ideal to supervise long living threads that need to be restarted in case of failure. This library attempts to fill that gap by providing APIs that have proven to be successful in the Erlang ecosystem.

Is this library intended to replace distributed-process?

This library may replace distributed-process if the only reason you are using that library is to get actor style supervision on your threads. In the other hand if you care to execute IO () sub-routines in different machines, this library is not and will never be a replacement for distributed-process.

Is this an actor library?

No, while actor systems impose specific inter-process communication semantics to your application, this library allows developers to use whatever communication strategies a user sees appropiate (like you would normally have using forkIO). capataz only guarantees better reliablity guarantees through adding supervision semantics to long living IO () sub-routines that are executed concurrently.

results matching ""

    No results matching ""