ekg-0.3.1.0: System/Remote/Label/Internal.hs
{-# OPTIONS_HADDOCK not-home #-}
module System.Remote.Label.Internal
(
Label(..)
, new
, read
) where
import Data.IORef (IORef, newIORef, readIORef)
import qualified Data.Text as T
import Prelude hiding (read)
-- | A mutable, text-valued label.
newtype Label = C { unC :: IORef T.Text }
-- | Create a new empty label.
new :: IO Label
new = C `fmap` newIORef T.empty
read :: Label -> IO T.Text
read = readIORef . unC