Data.Searchable
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
- allValues :: [a]
- assemble :: Applicative f => (a -> f b) -> f (a -> b)
- 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 whereSource
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/.
Instances
| Searchable Bool | |
| Searchable Int8 | |
| Searchable Int16 | |
| Searchable Int32 | |
| Searchable Int64 | |
| Searchable Word8 | |
| Searchable Word16 | |
| Searchable Word32 | |
| Searchable Word64 | |
| Searchable () | |
| Searchable Nothing | |
| 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) -> BoolSource
forevery :: Searchable a => (a -> Bool) -> BoolSource
class (Searchable a, Countable a) => Finite a whereSource
Methods
Not necessarily in counting order.
assemble :: Applicative f => (a -> f b) -> f (a -> b)Source
Instances
finiteSearch :: Finite a => (a -> Maybe b) -> Maybe bSource
finiteCountPrevious :: Finite a => a -> Maybe aSource
finiteCountMaybeNext :: Finite a => Maybe a -> Maybe aSource