| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Data.Searchable
Synopsis
- 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 :: forall b f. 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 where Source #
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 Void Source # | |
| Searchable Int16 Source # | |
| Searchable Int32 Source # | |
| Searchable Int64 Source # | |
| Searchable Int8 Source # | |
| Searchable Word16 Source # | |
| Searchable Word32 Source # | |
| Searchable Word64 Source # | |
| Searchable Word8 Source # | |
| Searchable () Source # | |
| Searchable Bool Source # | |
| Searchable a => Searchable (Maybe a) Source # | |
| (Searchable a, Searchable b) => Searchable (Either a b) Source # | |
| (Searchable a, Searchable b) => Searchable (a, b) Source # | |
| (Countable c, Searchable s) => Searchable (c -> s) Source # | |
class (Searchable a, Countable a) => Finite a where Source #
There are a finite number of values (possibly zero).
Minimal complete definition
Methods
Not necessarily in counting order.
assemble :: forall b f. Applicative f => (a -> f b) -> f (a -> b) Source #
Instances
| Finite Void Source # | |
| Finite Int16 Source # | |
| Finite Int32 Source # | |
| Finite Int64 Source # | |
| Finite Int8 Source # | |
| Finite Word16 Source # | |
| Finite Word32 Source # | |
| Finite Word64 Source # | |
| Finite Word8 Source # | |
| Finite () Source # | |
Defined in Data.Searchable | |
| Finite Bool Source # | |
| Finite a => Finite (Maybe a) Source # | |
| (Finite a, Finite b) => Finite (Either a b) Source # | |
| (Finite a, Finite b) => Finite (a, b) Source # | |
Defined in Data.Searchable | |
| (Finite a, Finite b) => Finite (a -> b) Source # | |
Defined in Data.Function.Eq | |
finiteCountPrevious :: Finite a => a -> Maybe a Source #