Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Data.Searchable
Contents
Description
- class Searchable a where
- forsome :: Searchable a => (a -> Bool) -> Bool
- forevery :: Searchable a => (a -> Bool) -> Bool
- class (Searchable a, Countable a) => Finite a where
- finiteSearch :: Finite a => (a -> Maybe b) -> Maybe b
- finiteCountPrevious :: Finite a => a -> Maybe a
- finiteCountMaybeNext :: Finite a => Maybe a -> Maybe a
Documentation
class Searchable a where #
It turns out there are Searchable
instances that are not Finite
.
The (c -> s)
instance is based on the algorithm at
http://math.andrej.com/2007/09/28/seemingly-impossible-functional-programs/.
Minimal complete definition
Instances
Searchable Bool # | |
Searchable Int8 # | |
Searchable Int16 # | |
Searchable Int32 # | |
Searchable Int64 # | |
Searchable Word8 # | |
Searchable Word16 # | |
Searchable Word32 # | |
Searchable Word64 # | |
Searchable () # | |
Searchable None # | |
Searchable a => Searchable (Maybe a) # | |
(Countable c, Searchable s) => Searchable (c -> s) # | |
(Searchable a, Searchable b) => Searchable (Either a b) # | |
(Searchable a, Searchable b) => Searchable (a, b) # | |
forsome :: Searchable a => (a -> Bool) -> Bool #
forevery :: Searchable a => (a -> Bool) -> Bool #
class (Searchable a, Countable a) => Finite a where #
Minimal complete definition
Methods
Not necessarily in counting order.
assemble :: forall b f. Applicative f => (a -> f b) -> f (a -> b) #
Instances
Finite Bool # | |
Finite Int8 # | |
Finite Int16 # | |
Finite Int32 # | |
Finite Int64 # | |
Finite Word8 # | |
Finite Word16 # | |
Finite Word32 # | |
Finite Word64 # | |
Finite () # | |
Finite None # | |
Finite a => Finite (Maybe a) # | |
(Finite a, Finite b) => Finite (a -> b) # | |
(Finite a, Finite b) => Finite (Either a b) # | |
(Finite a, Finite b) => Finite (a, b) # | |
finiteSearch :: Finite a => (a -> Maybe b) -> Maybe b #
finiteCountPrevious :: Finite a => a -> Maybe a #
finiteCountMaybeNext :: Finite a => Maybe a -> Maybe a #
Orphan instances
Finite t => Foldable ((->) t) # | |
Finite a => Traversable ((->) a) # | |
(Searchable a, Eq b) => Eq (a -> b) # | |
(Show a, Finite a, Show b) => Show (a -> b) # | |
(Finite a, AtLeastOneCountable a, InfiniteCountable b) => InfiniteCountable (a -> b) # | |
(Finite a, AtLeastOneCountable b) => AtLeastOneCountable (a -> b) # | |
(Finite a, Countable b) => Countable (a -> b) # | |