crf-chain2-generic-0.3.0: Data/CRF/Chain2/Generic/FeatMap/Map.hs
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
module Data.CRF.Chain2.Generic.FeatMap.Map
( FeatMap (..)
) where
import Data.Binary (Binary)
import qualified Data.Map as M
import Data.CRF.Chain2.Generic.Internal
import qualified Data.CRF.Chain2.Generic.FeatMap as C
newtype FeatMap f = FeatMap { unFeatMap :: M.Map f FeatIx }
deriving (Show, Eq, Ord, Binary)
instance Ord f => C.FeatMap FeatMap f where
featIndex x (FeatMap m) = M.lookup x m
mkFeatMap = FeatMap . M.fromList