The immortal package

[ Tags: concurrency, library, mit ] [ Propose Tags ]

A small library to create threads that never die. This is useful e.g. for writing servers.


[Skip to Readme]

Properties

Versions 0.1, 0.2, 0.2.2, 0.2.2.1
Change log CHANGELOG.md
Dependencies base (>=4.5 && <5), lifted-base (>=0.2), monad-control (>=0.3), stm, transformers-base (>=0.4) [details]
License MIT
Author Roman Cheplyaka
Maintainer roma@ro-che.info
Category Concurrency
Home page https://github.com/feuerbach/immortal
Source repository head: git clone https://github.com/feuerbach/immortal.git
Uploaded Tue Sep 12 06:10:32 UTC 2017 by RomanCheplyaka
Distributions LTSHaskell:0.2.2.1, NixOS:0.2.2.1, Stackage:0.2.2.1, Tumbleweed:0.2.2
Downloads 940 total (65 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2017-09-12 [all 1 reports]
Hackage Matrix CI

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for immortal-0.2.2.1

[back to package description]

immortal

A small library to create threads that never die. This is useful e.g. for writing servers.

import qualified Control.Immortal as Immortal
import Control.Concurrent (threadDelay)
import Control.Monad (forever)

main = do
  -- start an immortal thread
  _thread <- Immortal.create $ \ _thread -> do
    -- do stuff

  -- in the main thread, sleep until interrupted
  -- (e.g. with Ctrl-C)
  forever $ threadDelay maxBound