{- | Module : $Header$ Description : Definition of Group Copyright : (c) Maciej Piechotka License : LGPL 3 or later Maintainer : uzytkownik2@gmail.com Stability : none Portability : portable This module contains definition of Group -} module Network.NNTP.Internal.Group ( Group(..), ) where import Control.Arrow {- | Represents a single group. -} data Group = Group { -- | Returns the group name. groupName :: String, -- | Returns the number of first article avaible. groupArticleFirst :: Integer, -- | Returns the number of last article avaible. groupArticleLast :: Integer } instance Show Group where show = ("Group "++) . groupName instance Eq Group where (==) = curry (groupName *** groupName >>> uncurry (==))