Fungi-1.0: Data/Labeled.hs
module Data.Labeled (
Labeled (getLabel, unlabel)
, label
) where
-----------------------------------------------------------
data Labeled l a = Labeled {
getLabel :: l
, unlabel :: a
}
deriving (Show)
label :: l -> a -> Labeled l a
label = Labeled
instance Functor (Labeled l) where
fmap f l = l { unlabel = f $ unlabel l }