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