Haskell Capataz Versions Save

OTP-like supervision trees in Haskell


5 years ago
  • Allow the creation of Supervision Trees on Monad Transformer stacks 🎉
  • Move to latest stable stackage snapshot (lts-11.10)
  • Remove protolude in favor of rio (closes #9)
  • Add convinience module Capataz
  • Add Control.Concurrent.Capataz.Util which provide ProcessSpec for normal use-cases
  • Add buildLogWorkerSpec and buildLogWorkerOptions which create a dedicated supervised thread that logs messages (sits on top of rio logger utilities)
  • Add terminateCapataz and terminateCapataz_ , these functions replace the re-exported runTeardown
  • Add re-export of TeardownResult from the teardown package
  • Update the capataz-simple-example project to use typed-process and rio
  • Add export for WorkerName and SupervisorName aliases
  • Add new dependency prettyprinter
  • Add new dependency pretty-show to prettify exceptions
  • Add Pretty instance for CapatazEvent
  • Add Display instance for CapatazEvent
  • Add ProcessThreadId newtype to better render ThreadId values
  • Add buildWorkerOptions1 and workerSpec1 (closes #17)
  • Move to CircleCI


5 years ago
  • Bump upper bounds of async dependency


5 years ago


  • Introduction of the Process type which is composed of both Supervisor and Worker types
  • Replace defWorkerSpec in favor of workerSpec and workerSpecWithDefaults to build static workers
  • Replace of defWorkerOptions in favor of buildWorkerOptions and buildWorkerOptionsWithDefaults to build dynamic workers
  • Replace terminateWorker in favor of terminateProcess
  • Add supervisorSpec, supervisorSpecWithDefaults to build static supervision trees
  • Add forkSupervisor, buildSupervisorOptions and buildSupervisorOptionsWithDefaults to build dynamic supervision trees
  • Replace usage of default records semantics in favor of Lenses
  • Add joinCapatazThread to avoid providing direct access to async of root supervision tree
  • Add getSupervisorProcessId to access the ProcessId of a given Supervisor record (for dynamic termination)
  • Add getSupervisorAsync to access the Async () record of a supervisor process thread
  • Add getCapatazTeardown to access the Teardown record of the capataz system
  • Move CapatazEvent records to new module Control.Concurrent.Capataz.Event to avoid requiring DuplicateRecordFields extension on API users
  • Remove WorkerAction alias as it is used for library development documentation
  • Add capataz-repo-watcher example to showcase static supervision trees
  • Update capataz-simple-example unix-process example
  • forkCapataz signature now requires name for root supervisor


5 years ago
  • Bump bounds of tasty dependency


5 years ago
  • Bump bounds of tasty dependency
  • Bump bounds of tasty-hunit dependency


5 years ago
  • First release of capataz
  • Support for supervising simple worker IO () sub-routines