packages feed

sequor-0.1: src/Config.hs

{-# LANGUAGE NoMonomorphismRestriction #-}
module Config 
    ( Config (..) )
where
import Data.Char
import Atom (AtomTable)
import qualified Data.Binary as B
import Control.Monad (ap)
import FeatureTemplate (Feature)

data Config = Config { wordMinCount :: Int
                     , atomTable :: AtomTable 
                     , minLabelFreq :: Int
                     , featureTemplate :: Feature
                     }

instance B.Binary Config where
    get = let g = B.get
          in return Config `ap` g `ap` g `ap` g `ap` g 

    put (Config a b c d) =
        let p = B.put 
        in p a >> p b >> p c >> p d