{-# LANGUAGE NoImplicitPrelude #-} {-| Public API for the capataz library Capataz is a library that brings an OTP-like supervisor API to the Haskell concurrency toolset. -} module Control.Concurrent.Capataz ( -- * Types CallbackType (..) , WorkerAction , WorkerError (..) , WorkerOptions (..) , WorkerRestartStrategy (..) , WorkerSpec (..) , WorkerTerminationOrder (..) , WorkerTerminationPolicy (..) , Capataz (..) , CapatazEvent (..) , CapatazOptions (..) , CapatazRestartStrategy (..) , CapatazStatus (..) , defWorkerOptions , defWorkerSpec , defCapatazOptions -- * Core functionality , forkWorker , forkCapataz , terminateWorker -- * Utility functions , capatazToAsync -- * Teardown (re-exported) , teardown ) where import Control.Concurrent.Internal.Capataz.Core (forkCapataz, forkWorker, terminateWorker) import Control.Concurrent.Internal.Capataz.Types ( CallbackType (..) , Capataz (..) , CapatazEvent (..) , CapatazOptions (..) , CapatazRestartStrategy (..) , CapatazStatus (..) , WorkerAction , WorkerError (..) , WorkerOptions (..) , WorkerRestartStrategy (..) , WorkerSpec (..) , WorkerTerminationOrder (..) , WorkerTerminationPolicy (..) , defCapatazOptions , defWorkerOptions , defWorkerSpec ) import Control.Concurrent.Internal.Capataz.Util (capatazToAsync) import Control.Teardown (teardown)