packages feed

log4hs-0.7.0.0: src/Logging/Class/Filterable.hs

module Logging.Class.Filterable ( Filterable(..) ) where

import           Prelude        hiding (filter)

import           Logging.Record


-- |A class represents a common trait of filtering 'LogRecord's
class Filterable a where
  filter :: a -> LogRecord -> Bool

instance Filterable a => Filterable [a] where
  filter [] _       = True
  filter (f:fs) rcd = (filter f rcd) && (filter fs rcd)