linear-maps-0.5: Data/Control/Kvantum/Void.hs
{-# LANGUAGE BangPatterns #-}
-----------------------------------------------------------------------------
-- | Data control kvantums (phony implementation)
-----------------------------------------------------------------------------
module Data.Control.Kvantum.Void
( K
, create -- IO K
, hit -- K -> IO ()
, kill -- K -> IO ()
, renew -- K -> IO K
, join -- K -> K -> IO K
) where
----------------------------------------------
data K = K
{-# INLINE create #-}
create :: IO K
create = return K
{-# INLINE hit #-}
hit :: K -> IO ()
hit !_ = return ()
{-# INLINE kill #-}
kill :: String -> K -> IO ()
kill _ !_ = return ()
{-# INLINE renew #-}
renew :: String -> K -> IO K
renew _ !k = return k
{-# INLINE join #-}
join :: K -> K -> IO K
join a b = return (a `seq` b)