countable-1.1: test/Three.hs
module Three where
import Data.Countable
import Data.Searchable
import TypeName
data Three
= T1
| T2
| T3
deriving (Eq, Show)
instance Searchable Three where
search = finiteSearch
instance Countable Three where
countPrevious = finiteCountPrevious
countMaybeNext = finiteCountMaybeNext
instance AtLeastOneCountable Three where
countFirst = T1
instance Finite Three where
allValues = [T1, T2, T3]
instance TypeName Three where
typeName _ = "Three"