{-# 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