Copyright | (c) Justin Le 2018 |
---|---|
License | BSD3 |
Maintainer | justin@jle.im |
Stability | experimental |
Portability | non-portable |
Safe Haskell | None |
Language | Haskell2010 |
AOC.Prelude
Description
Custom Prelude while developing challenges. Ideally, once challenges are completed, an import to this module would be replaced with explicit ones for future readers.
Synopsis
- (++) :: [a] -> [a] -> [a]
- filter :: (a -> Bool) -> [a] -> [a]
- zip :: [a] -> [b] -> [(a, b)]
- fst :: (a, b) -> a
- snd :: (a, b) -> b
- trace :: String -> a -> a
- map :: (a -> b) -> [a] -> [b]
- ($) :: forall (r :: RuntimeRep) a (b :: TYPE r). (a -> b) -> a -> b
- coerce :: forall {k :: RuntimeRep} (a :: TYPE k) (b :: TYPE k). Coercible a b => a -> b
- guard :: Alternative f => Bool -> f ()
- unsafeEqualityProof :: forall {k} (a :: k) (b :: k). UnsafeEquality a b
- unsafeCoerce# :: forall (q :: RuntimeRep) (r :: RuntimeRep) (a :: TYPE q) (b :: TYPE r). a -> b
- join :: Monad m => m (m a) -> m a
- class Applicative m => Monad (m :: Type -> Type) where
- class Functor (f :: Type -> Type) where
- class Eq a => Ord a where
- class Ord a => Ix a where
- class Monad m => MonadFix (m :: Type -> Type) where
- mfix :: (a -> m a) -> m a
- class Monad m => MonadFail (m :: Type -> Type) where
- class Functor f => Applicative (f :: Type -> Type) where
- class Foldable (t :: Type -> Type) where
- fold :: Monoid m => t m -> m
- foldMap :: Monoid m => (a -> m) -> t a -> m
- foldMap' :: Monoid m => (a -> m) -> t a -> m
- foldr :: (a -> b -> b) -> b -> t a -> b
- foldr' :: (a -> b -> b) -> b -> t a -> b
- foldl :: (b -> a -> b) -> b -> t a -> b
- foldl' :: (b -> a -> b) -> b -> t a -> b
- foldr1 :: (a -> a -> a) -> t a -> a
- foldl1 :: (a -> a -> a) -> t a -> a
- toList :: t a -> [a]
- null :: t a -> Bool
- length :: t a -> Int
- elem :: Eq a => a -> t a -> Bool
- maximum :: Ord a => t a -> a
- minimum :: Ord a => t a -> a
- sum :: Num a => t a -> a
- product :: Num a => t a -> a
- class (Functor t, Foldable t) => Traversable (t :: Type -> Type) where
- traverse :: Applicative f => (a -> f b) -> t a -> f (t b)
- sequenceA :: Applicative f => t (f a) -> f (t a)
- mapM :: Monad m => (a -> m b) -> t a -> m (t b)
- sequence :: Monad m => t (m a) -> m (t a)
- class Generic a
- class Semigroup a where
- data Char
- data Natural
- data Maybe a
- data Ordering
- data Either a b
- type Type = Type
- data Constraint
- class a ~R# b => Coercible (a :: k) (b :: k)
- data UnsafeEquality (a :: k) (b :: k) where
- UnsafeRefl :: forall {k} (a :: k). UnsafeEquality a a
- forM_ :: (Foldable t, Monad m) => t a -> (a -> m b) -> m ()
- newtype First a = First {
- getFirst :: a
- newtype Last a = Last {
- getLast :: a
- class NFData a where
- rnf :: a -> ()
- deepseq :: NFData a => a -> b -> b
- force :: NFData a => a -> a
- data Set a
- data Map k a
- data NonEmpty a = a :| [a]
- class (Alternative m, Monad m) => MonadPlus (m :: Type -> Type) where
- class Applicative f => Alternative (f :: Type -> Type) where
- (=<<) :: Monad m => (a -> m b) -> m a -> m b
- when :: Applicative f => Bool -> f () -> f ()
- liftM :: Monad m => (a1 -> r) -> m a1 -> m r
- liftM2 :: Monad m => (a1 -> a2 -> r) -> m a1 -> m a2 -> m r
- ap :: Monad m => m (a -> b) -> m a -> m b
- ord :: Char -> Int
- id :: a -> a
- const :: a -> b -> a
- (.) :: (b -> c) -> (a -> b) -> a -> c
- flip :: (a -> b -> c) -> b -> a -> c
- curry :: ((a, b) -> c) -> a -> b -> c
- uncurry :: (a -> b -> c) -> (a, b) -> c
- (<$>) :: Functor f => (a -> b) -> f a -> f b
- void :: Functor f => f a -> f ()
- on :: (b -> b -> c) -> (a -> b) -> a -> a -> c
- maybe :: b -> (a -> b) -> Maybe a -> b
- isJust :: Maybe a -> Bool
- isNothing :: Maybe a -> Bool
- fromMaybe :: a -> Maybe a -> a
- maybeToList :: Maybe a -> [a]
- listToMaybe :: [a] -> Maybe a
- catMaybes :: [Maybe a] -> [a]
- mapMaybe :: (a -> Maybe b) -> [a] -> [b]
- scanl :: (b -> a -> b) -> b -> [a] -> [b]
- scanl1 :: (a -> a -> a) -> [a] -> [a]
- scanr :: (a -> b -> b) -> b -> [a] -> [b]
- scanr1 :: (a -> a -> a) -> [a] -> [a]
- iterate :: (a -> a) -> a -> [a]
- repeat :: a -> [a]
- replicate :: Int -> a -> [a]
- cycle :: [a] -> [a]
- takeWhile :: (a -> Bool) -> [a] -> [a]
- dropWhile :: (a -> Bool) -> [a] -> [a]
- take :: Int -> [a] -> [a]
- drop :: Int -> [a] -> [a]
- splitAt :: Int -> [a] -> ([a], [a])
- span :: (a -> Bool) -> [a] -> ([a], [a])
- break :: (a -> Bool) -> [a] -> ([a], [a])
- reverse :: [a] -> [a]
- lookup :: Eq a => a -> [(a, b)] -> Maybe b
- (!!) :: [a] -> Int -> a
- zip3 :: [a] -> [b] -> [c] -> [(a, b, c)]
- zipWith :: (a -> b -> c) -> [a] -> [b] -> [c]
- zipWith3 :: (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d]
- unzip :: [(a, b)] -> ([a], [b])
- unzip3 :: [(a, b, c)] -> ([a], [b], [c])
- chr :: Int -> Char
- isSpace :: Char -> Bool
- isDigit :: Char -> Bool
- isAlpha :: Char -> Bool
- isAlphaNum :: Char -> Bool
- isUpper :: Char -> Bool
- toLower :: Char -> Char
- toUpper :: Char -> Char
- either :: (a -> c) -> (b -> c) -> Either a b -> c
- partitionEithers :: [Either a b] -> ([a], [b])
- readMaybe :: Read a => String -> Maybe a
- comparing :: Ord a => (b -> a) -> b -> b -> Ordering
- newtype Any = Any {}
- newtype All = All {}
- lines :: String -> [String]
- unlines :: [String] -> String
- words :: String -> [String]
- unwords :: [String] -> String
- traverse_ :: (Foldable t, Applicative f) => (a -> f b) -> t a -> f ()
- for_ :: (Foldable t, Applicative f) => t a -> (a -> f b) -> f ()
- sequence_ :: (Foldable t, Monad m) => t (m a) -> m ()
- concat :: Foldable t => t [a] -> [a]
- concatMap :: Foldable t => (a -> [b]) -> t a -> [b]
- and :: Foldable t => t Bool -> Bool
- or :: Foldable t => t Bool -> Bool
- any :: Foldable t => (a -> Bool) -> t a -> Bool
- all :: Foldable t => (a -> Bool) -> t a -> Bool
- notElem :: (Foldable t, Eq a) => a -> t a -> Bool
- find :: Foldable t => (a -> Bool) -> t a -> Maybe a
- newtype Const a (b :: k) = Const {
- getConst :: a
- newtype Identity a = Identity {
- runIdentity :: a
- optional :: Alternative f => f a -> f (Maybe a)
- for :: (Traversable t, Applicative f) => t a -> (a -> f b) -> f (t b)
- filterM :: Applicative m => (a -> m Bool) -> [a] -> m [a]
- foldM :: (Foldable t, Monad m) => (b -> a -> m b) -> b -> t a -> m b
- unless :: Applicative f => Bool -> f () -> f ()
- data Void
- absurd :: Void -> a
- vacuous :: Functor f => f Void -> f a
- class Contravariant (f :: Type -> Type) where
- option :: b -> (a -> b) -> Option a -> b
- mtimesDefault :: (Integral b, Monoid a) => b -> a -> a
- diff :: Semigroup m => m -> Endo m
- cycle1 :: Semigroup m => m -> m
- newtype Min a = Min {
- getMin :: a
- newtype Max a = Max {
- getMax :: a
- data Arg a b = Arg a b
- type ArgMin a b = Min (Arg a b)
- type ArgMax a b = Max (Arg a b)
- newtype WrappedMonoid m = WrapMonoid {
- unwrapMonoid :: m
- newtype Option a = Option {}
- class Bifunctor (p :: Type -> Type -> Type) where
- nonEmpty :: [a] -> Maybe (NonEmpty a)
- class Monad m => MonadIO (m :: Type -> Type) where
- errorBadArgument :: a
- errorMissingArgument :: a
- errorShortFormat :: a
- errorBadFormat :: Char -> a
- perror :: String -> a
- formatRealFloat :: RealFloat a => a -> FieldFormatter
- formatInteger :: Integer -> FieldFormatter
- formatInt :: (Integral a, Bounded a) => a -> FieldFormatter
- formatString :: IsChar a => [a] -> FieldFormatter
- formatChar :: Char -> FieldFormatter
- vFmt :: Char -> FieldFormat -> FieldFormat
- hPrintf :: HPrintfType r => Handle -> String -> r
- printf :: PrintfType r => String -> r
- class PrintfType t
- class HPrintfType t
- class PrintfArg a where
- formatArg :: a -> FieldFormatter
- parseFormat :: a -> ModifierParser
- class IsChar c where
- data FormatAdjustment
- data FormatSign
- data FieldFormat = FieldFormat {}
- data FormatParse = FormatParse {}
- type FieldFormatter = FieldFormat -> ShowS
- type ModifierParser = String -> FormatParse
- mfilter :: MonadPlus m => (a -> Bool) -> m a -> m a
- (<$!>) :: Monad m => (a -> b) -> m a -> m b
- replicateM_ :: Applicative m => Int -> m a -> m ()
- replicateM :: Applicative m => Int -> m a -> m [a]
- foldM_ :: (Foldable t, Monad m) => (b -> a -> m b) -> b -> t a -> m ()
- zipWithM_ :: Applicative m => (a -> b -> m c) -> [a] -> [b] -> m ()
- zipWithM :: Applicative m => (a -> b -> m c) -> [a] -> [b] -> m [c]
- mapAndUnzipM :: Applicative m => (a -> m (b, c)) -> [a] -> m ([b], [c])
- forever :: Applicative f => f a -> f b
- (<=<) :: Monad m => (b -> m c) -> (a -> m b) -> a -> m c
- (>=>) :: Monad m => (a -> m b) -> (b -> m c) -> a -> m c
- traceMarkerIO :: String -> IO ()
- traceMarker :: String -> a -> a
- traceEventIO :: String -> IO ()
- traceEvent :: String -> a -> a
- traceStack :: String -> a -> a
- traceShowM :: (Show a, Applicative f) => a -> f ()
- traceM :: Applicative f => String -> f ()
- traceShowId :: Show a => a -> a
- traceShow :: Show a => a -> b -> b
- traceId :: String -> String
- putTraceMsg :: String -> IO ()
- traceIO :: String -> IO ()
- foldMapDefault :: (Traversable t, Monoid m) => (a -> m) -> t a -> m
- fmapDefault :: Traversable t => (a -> b) -> t a -> t b
- mapAccumR :: Traversable t => (a -> b -> (a, c)) -> a -> t b -> (a, t c)
- mapAccumL :: Traversable t => (a -> b -> (a, c)) -> a -> t b -> (a, t c)
- forM :: (Traversable t, Monad m) => t a -> (a -> m b) -> m (t b)
- newtype WrappedMonad (m :: Type -> Type) a = WrapMonad {
- unwrapMonad :: m a
- newtype WrappedArrow (a :: Type -> Type -> Type) b c = WrapArrow {
- unwrapArrow :: a b c
- newtype ZipList a = ZipList {
- getZipList :: [a]
- unsafeFixIO :: (a -> IO a) -> IO a
- minimumBy :: Foldable t => (a -> a -> Ordering) -> t a -> a
- maximumBy :: Foldable t => (a -> a -> Ordering) -> t a -> a
- msum :: (Foldable t, MonadPlus m) => t (m a) -> m a
- asum :: (Foldable t, Alternative f) => t (f a) -> f a
- sequenceA_ :: (Foldable t, Applicative f) => t (f a) -> f ()
- mapM_ :: (Foldable t, Monad m) => (a -> m b) -> t a -> m ()
- foldlM :: (Foldable t, Monad m) => (b -> a -> m b) -> b -> t a -> m b
- foldrM :: (Foldable t, Monad m) => (a -> b -> m b) -> b -> t a -> m b
- stimesMonoid :: (Integral b, Monoid a) => b -> a -> a
- stimesIdempotent :: Integral b => b -> a -> a
- newtype Dual a = Dual {
- getDual :: a
- newtype Endo a = Endo {
- appEndo :: a -> a
- newtype Sum a = Sum {
- getSum :: a
- newtype Product a = Product {
- getProduct :: a
- newtype Down a = Down {
- getDown :: a
- unsafeCoerceAddr :: forall (a :: TYPE 'AddrRep) (b :: TYPE 'AddrRep). a -> b
- unsafeCoerceUnlifted :: forall (a :: TYPE 'UnliftedRep) (b :: TYPE 'UnliftedRep). a -> b
- unsafeCoerce :: a -> b
- isSeparator :: Char -> Bool
- isNumber :: Char -> Bool
- isMark :: Char -> Bool
- isLetter :: Char -> Bool
- digitToInt :: Char -> Int
- fromRight :: b -> Either a b -> b
- fromLeft :: a -> Either a b -> a
- isRight :: Either a b -> Bool
- isLeft :: Either a b -> Bool
- rights :: [Either a b] -> [b]
- lefts :: [Either a b] -> [a]
- data (a :: k) :~: (b :: k) where
- readLitChar :: ReadS Char
- lexLitChar :: ReadS String
- toTitle :: Char -> Char
- isLower :: Char -> Bool
- isPrint :: Char -> Bool
- isControl :: Char -> Bool
- isSymbol :: Char -> Bool
- isPunctuation :: Char -> Bool
- isHexDigit :: Char -> Bool
- isOctDigit :: Char -> Bool
- isAsciiUpper :: Char -> Bool
- isAsciiLower :: Char -> Bool
- isLatin1 :: Char -> Bool
- isAscii :: Char -> Bool
- generalCategory :: Char -> GeneralCategory
- data GeneralCategory
- = UppercaseLetter
- | LowercaseLetter
- | TitlecaseLetter
- | ModifierLetter
- | OtherLetter
- | NonSpacingMark
- | SpacingCombiningMark
- | EnclosingMark
- | DecimalNumber
- | LetterNumber
- | OtherNumber
- | ConnectorPunctuation
- | DashPunctuation
- | OpenPunctuation
- | ClosePunctuation
- | InitialQuote
- | FinalQuote
- | OtherPunctuation
- | MathSymbol
- | CurrencySymbol
- | ModifierSymbol
- | OtherSymbol
- | Space
- | LineSeparator
- | ParagraphSeparator
- | Control
- | Format
- | Surrogate
- | PrivateUse
- | NotAssigned
- intToDigit :: Int -> Char
- showLitChar :: Char -> ShowS
- init :: [a] -> [a]
- last :: [a] -> a
- tail :: [a] -> [a]
- head :: [a] -> a
- fromJust :: HasCallStack => Maybe a -> a
- (&) :: a -> (a -> b) -> b
- fix :: (a -> a) -> a
- ($>) :: Functor f => f a -> b -> f b
- (<&>) :: Functor f => f a -> (a -> b) -> f b
- swap :: (a, b) -> (b, a)
- unsafeInterleaveIO :: IO a -> IO a
- unsafeDupablePerformIO :: IO a -> a
- unsafePerformIO :: IO a -> a
- liftM5 :: Monad m => (a1 -> a2 -> a3 -> a4 -> a5 -> r) -> m a1 -> m a2 -> m a3 -> m a4 -> m a5 -> m r
- liftM4 :: Monad m => (a1 -> a2 -> a3 -> a4 -> r) -> m a1 -> m a2 -> m a3 -> m a4 -> m r
- liftM3 :: Monad m => (a1 -> a2 -> a3 -> r) -> m a1 -> m a2 -> m a3 -> m r
- liftA3 :: Applicative f => (a -> b -> c -> d) -> f a -> f b -> f c -> f d
- liftA :: Applicative f => (a -> b) -> f a -> f b
- (<**>) :: Applicative f => f a -> f (a -> b) -> f b
- stimesIdempotentMonoid :: (Integral b, Monoid a) => b -> a -> a
- data IntMap a
- nubIntOn :: (a -> Int) -> [a] -> [a]
- nubInt :: [Int] -> [Int]
- nubOrdOn :: Ord b => (a -> b) -> [a] -> [a]
- nubOrd :: Ord a => [a] -> [a]
- data IntSet
- data Seq a
- rnf2 :: (NFData2 p, NFData a, NFData b) => p a b -> ()
- rnf1 :: (NFData1 f, NFData a) => f a -> ()
- rwhnf :: a -> ()
- (<$!!>) :: (Monad m, NFData b) => (a -> b) -> m a -> m b
- ($!!) :: NFData a => (a -> b) -> a -> b
- class NFData1 (f :: Type -> Type) where
- liftRnf :: (a -> ()) -> f a -> ()
- class NFData2 (p :: Type -> Type -> Type) where
- liftRnf2 :: (a -> ()) -> (b -> ()) -> p a b -> ()
- newtype ExceptT e (m :: Type -> Type) a = ExceptT (m (Either e a))
- class MonadTrans (t :: (Type -> Type) -> Type -> Type) where
- gets :: MonadState s m => (s -> a) -> m a
- modify' :: MonadState s m => (s -> s) -> m ()
- modify :: MonadState s m => (s -> s) -> m ()
- class Monad m => MonadState s (m :: Type -> Type) | m -> s where
- liftEither :: MonadError e m => Either e a -> m a
- class Monad m => MonadError e (m :: Type -> Type) | m -> e where
- throwError :: e -> m a
- catchError :: m a -> (e -> m a) -> m a
- type Except e = ExceptT e Identity
- runExcept :: Except e a -> Either e a
- mapExcept :: (Either e a -> Either e' b) -> Except e a -> Except e' b
- withExcept :: (e -> e') -> Except e a -> Except e' a
- runExceptT :: ExceptT e m a -> m (Either e a)
- mapExceptT :: (m (Either e a) -> n (Either e' b)) -> ExceptT e m a -> ExceptT e' n b
- withExceptT :: forall (m :: Type -> Type) e e' a. Functor m => (e -> e') -> ExceptT e m a -> ExceptT e' m a
- newtype StateT s (m :: Type -> Type) a = StateT {
- runStateT :: s -> m (a, s)
- type State s = StateT s Identity
- runState :: State s a -> s -> (a, s)
- evalState :: State s a -> s -> a
- execState :: State s a -> s -> s
- mapState :: ((a, s) -> (b, s)) -> State s a -> State s b
- withState :: (s -> s) -> State s a -> State s a
- evalStateT :: Monad m => StateT s m a -> s -> m a
- execStateT :: Monad m => StateT s m a -> s -> m s
- mapStateT :: (m (a, s) -> n (b, s)) -> StateT s m a -> StateT s n b
- withStateT :: forall s (m :: Type -> Type) a. (s -> s) -> StateT s m a -> StateT s m a
- encodeUtf8 :: Text -> ByteString
- decodeUtf8 :: ByteString -> Text
- data Text
- readsTime :: ParseTime t => TimeLocale -> String -> ReadS t
- readTime :: ParseTime t => TimeLocale -> String -> String -> t
- parseTime :: ParseTime t => TimeLocale -> String -> String -> Maybe t
- readPTime :: ParseTime t => Bool -> TimeLocale -> String -> ReadP t
- readSTime :: ParseTime t => Bool -> TimeLocale -> String -> ReadS t
- parseTimeOrError :: ParseTime t => Bool -> TimeLocale -> String -> String -> t
- parseTimeM :: (MonadFail m, ParseTime t) => Bool -> TimeLocale -> String -> String -> m t
- utcToLocalZonedTime :: UTCTime -> IO ZonedTime
- getZonedTime :: IO ZonedTime
- zonedTimeToUTC :: ZonedTime -> UTCTime
- utcToZonedTime :: TimeZone -> UTCTime -> ZonedTime
- data ZonedTime = ZonedTime {}
- formatTime :: FormatTime t => TimeLocale -> String -> t -> String
- class FormatTime t
- class ParseTime t
- rfc822DateFormat :: String
- iso8601DateFormat :: Maybe String -> String
- defaultTimeLocale :: TimeLocale
- data TimeLocale = TimeLocale {}
- localTimeToUT1 :: Rational -> LocalTime -> UniversalTime
- ut1ToLocalTime :: Rational -> UniversalTime -> LocalTime
- localTimeToUTC :: TimeZone -> LocalTime -> UTCTime
- utcToLocalTime :: TimeZone -> UTCTime -> LocalTime
- diffLocalTime :: LocalTime -> LocalTime -> NominalDiffTime
- addLocalTime :: NominalDiffTime -> LocalTime -> LocalTime
- data LocalTime = LocalTime {}
- timeOfDayToDayFraction :: TimeOfDay -> Rational
- dayFractionToTimeOfDay :: Rational -> TimeOfDay
- timeOfDayToTime :: TimeOfDay -> DiffTime
- timeToTimeOfDay :: DiffTime -> TimeOfDay
- localToUTCTimeOfDay :: TimeZone -> TimeOfDay -> (Integer, TimeOfDay)
- utcToLocalTimeOfDay :: TimeZone -> TimeOfDay -> (Integer, TimeOfDay)
- daysAndTimeOfDayToTime :: Integer -> TimeOfDay -> NominalDiffTime
- timeToDaysAndTimeOfDay :: NominalDiffTime -> (Integer, TimeOfDay)
- makeTimeOfDayValid :: Int -> Int -> Pico -> Maybe TimeOfDay
- midday :: TimeOfDay
- midnight :: TimeOfDay
- data TimeOfDay = TimeOfDay {}
- getCurrentTimeZone :: IO TimeZone
- getTimeZone :: UTCTime -> IO TimeZone
- utc :: TimeZone
- timeZoneOffsetString :: TimeZone -> String
- timeZoneOffsetString' :: Maybe Char -> TimeZone -> String
- hoursToTimeZone :: Int -> TimeZone
- minutesToTimeZone :: Int -> TimeZone
- data TimeZone = TimeZone {}
- scaleCalendarDiffTime :: Integer -> CalendarDiffTime -> CalendarDiffTime
- calendarTimeTime :: NominalDiffTime -> CalendarDiffTime
- calendarTimeDays :: CalendarDiffDays -> CalendarDiffTime
- data CalendarDiffTime = CalendarDiffTime {}
- diffUTCTime :: UTCTime -> UTCTime -> NominalDiffTime
- addUTCTime :: NominalDiffTime -> UTCTime -> UTCTime
- getCurrentTime :: IO UTCTime
- newtype UniversalTime = ModJulianDate {}
- data UTCTime = UTCTime {
- utctDay :: Day
- utctDayTime :: DiffTime
- getTime_resolution :: DiffTime
- nominalDay :: NominalDiffTime
- nominalDiffTimeToSeconds :: NominalDiffTime -> Pico
- secondsToNominalDiffTime :: Pico -> NominalDiffTime
- data NominalDiffTime
- diffTimeToPicoseconds :: DiffTime -> Integer
- picosecondsToDiffTime :: Integer -> DiffTime
- secondsToDiffTime :: Integer -> DiffTime
- data DiffTime
- dayOfWeek :: Day -> DayOfWeek
- data DayOfWeek
- diffGregorianDurationRollOver :: Day -> Day -> CalendarDiffDays
- diffGregorianDurationClip :: Day -> Day -> CalendarDiffDays
- addGregorianDurationRollOver :: CalendarDiffDays -> Day -> Day
- addGregorianDurationClip :: CalendarDiffDays -> Day -> Day
- addGregorianYearsRollOver :: Integer -> Day -> Day
- addGregorianYearsClip :: Integer -> Day -> Day
- addGregorianMonthsRollOver :: Integer -> Day -> Day
- addGregorianMonthsClip :: Integer -> Day -> Day
- gregorianMonthLength :: Integer -> Int -> Int
- showGregorian :: Day -> String
- fromGregorianValid :: Integer -> Int -> Int -> Maybe Day
- fromGregorian :: Integer -> Int -> Int -> Day
- toGregorian :: Day -> (Integer, Int, Int)
- isLeapYear :: Integer -> Bool
- diffDays :: Day -> Day -> Integer
- addDays :: Integer -> Day -> Day
- pattern ModifiedJulianDay :: Integer -> Day
- toModifiedJulianDay :: Day -> Integer
- scaleCalendarDiffDays :: Integer -> CalendarDiffDays -> CalendarDiffDays
- calendarYear :: CalendarDiffDays
- calendarMonth :: CalendarDiffDays
- calendarWeek :: CalendarDiffDays
- calendarDay :: CalendarDiffDays
- data CalendarDiffDays = CalendarDiffDays {}
- data Finite (n :: Nat)
- finites :: forall (n :: Nat). KnownNat n => [Finite n]
- modulo :: forall (n :: Nat). KnownNat n => Integer -> Finite n
- packFinite :: forall (n :: Nat). KnownNat n => Integer -> Maybe (Finite n)
- getFinite :: forall (n :: Nat). Finite n -> Integer
- class Profunctor (p :: Type -> Type -> Type) where
- class Foldable f => FoldableWithIndex i (f :: Type -> Type) | f -> i where
- class Functor f => FunctorWithIndex i (f :: Type -> Type) | f -> i where
- imap :: (i -> a -> b) -> f a -> f b
- class (Foldable1 t, Traversable t) => Traversable1 (t :: Type -> Type) where
- traverse1 :: Apply f => (a -> f b) -> t a -> f (t b)
- class (FunctorWithIndex i t, FoldableWithIndex i t, Traversable t) => TraversableWithIndex i (t :: Type -> Type) | t -> i where
- itraverse :: Applicative f => (i -> a -> f b) -> t a -> f (t b)
- iall :: FoldableWithIndex i f => (i -> a -> Bool) -> f a -> Bool
- iany :: FoldableWithIndex i f => (i -> a -> Bool) -> f a -> Bool
- iconcatMap :: FoldableWithIndex i f => (i -> a -> [b]) -> f a -> [b]
- ifind :: FoldableWithIndex i f => (i -> a -> Bool) -> f a -> Maybe (i, a)
- ifoldlM :: (FoldableWithIndex i f, Monad m) => (i -> b -> a -> m b) -> b -> f a -> m b
- ifoldrM :: (FoldableWithIndex i f, Monad m) => (i -> a -> b -> m b) -> b -> f a -> m b
- iforM_ :: (FoldableWithIndex i t, Monad m) => t a -> (i -> a -> m b) -> m ()
- ifor_ :: (FoldableWithIndex i t, Applicative f) => t a -> (i -> a -> f b) -> f ()
- imapM_ :: (FoldableWithIndex i t, Monad m) => (i -> a -> m b) -> t a -> m ()
- inone :: FoldableWithIndex i f => (i -> a -> Bool) -> f a -> Bool
- itoList :: FoldableWithIndex i f => f a -> [(i, a)]
- itraverse_ :: (FoldableWithIndex i t, Applicative f) => (i -> a -> f b) -> t a -> f ()
- none :: Foldable f => (a -> Bool) -> f a -> Bool
- ifor :: (TraversableWithIndex i t, Applicative f) => t a -> (i -> a -> f b) -> f (t b)
- iforM :: (TraversableWithIndex i t, Monad m) => t a -> (i -> a -> m b) -> m (t b)
- imapAccumL :: TraversableWithIndex i t => (i -> s -> a -> (s, b)) -> s -> t a -> (s, t b)
- imapAccumR :: TraversableWithIndex i t => (i -> s -> a -> (s, b)) -> s -> t a -> (s, t b)
- imapM :: (TraversableWithIndex i t, Monad m) => (i -> a -> m b) -> t a -> m (t b)
- iat :: At m => Index m -> IndexedLens' (Index m) m (Maybe (IxValue m))
- icontains :: Contains m => Index m -> IndexedLens' (Index m) m Bool
- iix :: Ixed m => Index m -> IndexedTraversal' (Index m) m (IxValue m)
- ixAt :: At m => Index m -> Traversal' m (IxValue m)
- sans :: At m => Index m -> m -> m
- pattern (:<) :: Cons b b a a => a -> b -> b
- pattern (:>) :: Snoc a a b b => a -> b -> a
- (<|) :: Cons s s a a => a -> s -> s
- _head :: Cons s s a a => Traversal' s a
- _init :: Snoc s s a a => Traversal' s s
- _last :: Snoc s s a a => Traversal' s a
- _tail :: Cons s s a a => Traversal' s s
- cons :: Cons s s a a => a -> s -> s
- snoc :: Snoc s s a a => s -> a -> s
- unsnoc :: Snoc s s a a => s -> Maybe (s, a)
- (|>) :: Snoc s s a a => s -> a -> s
- pattern Empty :: AsEmpty s => s
- cloneEquality :: forall {k1} {k2} (s :: k1) (t :: k2) (a :: k1) (b :: k2). AnEquality s t a b -> Equality s t a b
- equality :: forall {k1} {k2} (s :: k1) (a :: k1) (b :: k2) (t :: k2). (s :~: a) -> (b :~: t) -> Equality s t a b
- equality' :: forall {k2} (a :: k2) (b :: k2). (a :~: b) -> Equality' a b
- fromEq :: forall {k2} {k1} (s :: k2) (t :: k1) (a :: k2) (b :: k1). AnEquality s t a b -> Equality b a t s
- fromLeibniz :: forall {k1} {k2} (a :: k1) (b :: k2) (s :: k1) (t :: k2). (Identical a b a b -> Identical a b s t) -> Equality s t a b
- fromLeibniz' :: forall {k2} (s :: k2) (a :: k2). ((s :~: s) -> s :~: a) -> Equality' s a
- mapEq :: forall k1 k2 (s :: k1) (t :: k2) (a :: k1) (b :: k2) f. AnEquality s t a b -> f s -> f a
- overEquality :: forall {k1} {k2} (s :: k1) (t :: k2) (a :: k1) (b :: k2) p. AnEquality s t a b -> p a b -> p s t
- runEq :: forall {k1} {k2} (s :: k1) (t :: k2) (a :: k1) (b :: k2). AnEquality s t a b -> Identical s t a b
- simple :: forall {k2} (a :: k2). Equality' a a
- simply :: forall {k1} {k2} p (f :: k1 -> k2) (s :: k1) (a :: k1) (rep :: RuntimeRep) (r :: TYPE rep). (Optic' p f s a -> r) -> Optic' p f s a -> r
- substEq :: forall {k1} {k2} (s :: k1) (t :: k2) (a :: k1) (b :: k2) (rep :: RuntimeRep) (r :: TYPE rep). AnEquality s t a b -> ((s ~ a, t ~ b) => r) -> r
- underEquality :: forall {k1} {k2} (s :: k1) (t :: k2) (a :: k1) (b :: k2) p. AnEquality s t a b -> p t s -> p b a
- withEquality :: forall {k1} {k2} (s :: k1) (t :: k2) (a :: k1) (b :: k2) (rep :: RuntimeRep) (r :: TYPE rep). AnEquality s t a b -> ((s :~: a) -> (b :~: t) -> r) -> r
- (^..) :: s -> Getting (Endo [a]) s a -> [a]
- (^?) :: s -> Getting (First a) s a -> Maybe a
- (^?!) :: HasCallStack => s -> Getting (Endo a) s a -> a
- (^@..) :: s -> IndexedGetting i (Endo [(i, a)]) s a -> [(i, a)]
- (^@?) :: s -> IndexedGetting i (Endo (Maybe (i, a))) s a -> Maybe (i, a)
- (^@?!) :: HasCallStack => s -> IndexedGetting i (Endo (i, a)) s a -> (i, a)
- allOf :: Getting All s a -> (a -> Bool) -> s -> Bool
- andOf :: Getting All s Bool -> s -> Bool
- anyOf :: Getting Any s a -> (a -> Bool) -> s -> Bool
- asumOf :: Alternative f => Getting (Endo (f a)) s (f a) -> s -> f a
- backwards :: (Profunctor p, Profunctor q) => Optical p q (Backwards f) s t a b -> Optical p q f s t a b
- concatMapOf :: Getting [r] s a -> (a -> [r]) -> s -> [r]
- concatOf :: Getting [r] s [r] -> s -> [r]
- cycled :: Apply f => LensLike f s t a b -> LensLike f s t a b
- droppingWhile :: (Conjoined p, Profunctor q, Applicative f) => (a -> Bool) -> Optical p q (Compose (State Bool) f) s t a a -> Optical p q f s t a a
- elemIndexOf :: Eq a => IndexedGetting i (First i) s a -> a -> s -> Maybe i
- elemIndicesOf :: Eq a => IndexedGetting i (Endo [i]) s a -> a -> s -> [i]
- elemOf :: Eq a => Getting Any s a -> a -> s -> Bool
- filtered :: (Choice p, Applicative f) => (a -> Bool) -> Optic' p f a a
- filteredBy :: (Indexable i p, Applicative f) => Getting (First i) a i -> p a (f a) -> a -> f a
- findIndexOf :: IndexedGetting i (First i) s a -> (a -> Bool) -> s -> Maybe i
- findIndicesOf :: IndexedGetting i (Endo [i]) s a -> (a -> Bool) -> s -> [i]
- findMOf :: Monad m => Getting (Endo (m (Maybe a))) s a -> (a -> m Bool) -> s -> m (Maybe a)
- findOf :: Getting (Endo (Maybe a)) s a -> (a -> Bool) -> s -> Maybe a
- first1Of :: Getting (First a) s a -> s -> a
- firstOf :: Getting (Leftmost a) s a -> s -> Maybe a
- foldByOf :: Fold s a -> (a -> a -> a) -> a -> s -> a
- foldMapByOf :: Fold s a -> (r -> r -> r) -> r -> (a -> r) -> s -> r
- foldMapOf :: Getting r s a -> (a -> r) -> s -> r
- foldOf :: Getting a s a -> s -> a
- folded :: forall (f :: Type -> Type) a. Foldable f => IndexedFold Int (f a) a
- folded64 :: forall (f :: Type -> Type) a. Foldable f => IndexedFold Int64 (f a) a
- folding :: Foldable f => (s -> f a) -> Fold s a
- foldl1Of :: HasCallStack => Getting (Dual (Endo (Maybe a))) s a -> (a -> a -> a) -> s -> a
- foldl1Of' :: HasCallStack => Getting (Endo (Endo (Maybe a))) s a -> (a -> a -> a) -> s -> a
- foldlMOf :: Monad m => Getting (Endo (r -> m r)) s a -> (r -> a -> m r) -> r -> s -> m r
- foldlOf :: Getting (Dual (Endo r)) s a -> (r -> a -> r) -> r -> s -> r
- foldlOf' :: Getting (Endo (Endo r)) s a -> (r -> a -> r) -> r -> s -> r
- foldr1Of :: HasCallStack => Getting (Endo (Maybe a)) s a -> (a -> a -> a) -> s -> a
- foldr1Of' :: HasCallStack => Getting (Dual (Endo (Endo (Maybe a)))) s a -> (a -> a -> a) -> s -> a
- foldrMOf :: Monad m => Getting (Dual (Endo (r -> m r))) s a -> (a -> r -> m r) -> r -> s -> m r
- foldrOf :: Getting (Endo r) s a -> (a -> r -> r) -> r -> s -> r
- foldrOf' :: Getting (Dual (Endo (Endo r))) s a -> (a -> r -> r) -> r -> s -> r
- foldring :: (Contravariant f, Applicative f) => ((a -> f a -> f a) -> f a -> s -> f a) -> LensLike f s t a b
- for1Of_ :: Functor f => Getting (TraversedF r f) s a -> s -> (a -> f r) -> f ()
- forMOf_ :: Monad m => Getting (Sequenced r m) s a -> s -> (a -> m r) -> m ()
- forOf_ :: Functor f => Getting (Traversed r f) s a -> s -> (a -> f r) -> f ()
- has :: Getting Any s a -> s -> Bool
- hasn't :: Getting All s a -> s -> Bool
- iallOf :: IndexedGetting i All s a -> (i -> a -> Bool) -> s -> Bool
- ianyOf :: IndexedGetting i Any s a -> (i -> a -> Bool) -> s -> Bool
- iconcatMapOf :: IndexedGetting i [r] s a -> (i -> a -> [r]) -> s -> [r]
- idroppingWhile :: (Indexable i p, Profunctor q, Applicative f) => (i -> a -> Bool) -> Optical (Indexed i) q (Compose (State Bool) f) s t a a -> Optical p q f s t a a
- ifiltered :: (Indexable i p, Applicative f) => (i -> a -> Bool) -> Optical' p (Indexed i) f a a
- ifindMOf :: Monad m => IndexedGetting i (Endo (m (Maybe a))) s a -> (i -> a -> m Bool) -> s -> m (Maybe a)
- ifindOf :: IndexedGetting i (Endo (Maybe a)) s a -> (i -> a -> Bool) -> s -> Maybe a
- ifoldMapOf :: IndexedGetting i m s a -> (i -> a -> m) -> s -> m
- ifolding :: (Foldable f, Indexable i p, Contravariant g, Applicative g) => (s -> f (i, a)) -> Over p g s t a b
- ifoldlMOf :: Monad m => IndexedGetting i (Endo (r -> m r)) s a -> (i -> r -> a -> m r) -> r -> s -> m r
- ifoldlOf :: IndexedGetting i (Dual (Endo r)) s a -> (i -> r -> a -> r) -> r -> s -> r
- ifoldlOf' :: IndexedGetting i (Endo (r -> r)) s a -> (i -> r -> a -> r) -> r -> s -> r
- ifoldrMOf :: Monad m => IndexedGetting i (Dual (Endo (r -> m r))) s a -> (i -> a -> r -> m r) -> r -> s -> m r
- ifoldrOf :: IndexedGetting i (Endo r) s a -> (i -> a -> r -> r) -> r -> s -> r
- ifoldrOf' :: IndexedGetting i (Dual (Endo (r -> r))) s a -> (i -> a -> r -> r) -> r -> s -> r
- ifoldring :: (Indexable i p, Contravariant f, Applicative f) => ((i -> a -> f a -> f a) -> f a -> s -> f a) -> Over p f s t a b
- iforMOf_ :: Monad m => IndexedGetting i (Sequenced r m) s a -> s -> (i -> a -> m r) -> m ()
- iforOf_ :: Functor f => IndexedGetting i (Traversed r f) s a -> s -> (i -> a -> f r) -> f ()
- imapMOf_ :: Monad m => IndexedGetting i (Sequenced r m) s a -> (i -> a -> m r) -> s -> m ()
- inoneOf :: IndexedGetting i Any s a -> (i -> a -> Bool) -> s -> Bool
- ipre :: IndexedGetting i (First (i, a)) s a -> IndexPreservingGetter s (Maybe (i, a))
- ipreuse :: MonadState s m => IndexedGetting i (First (i, a)) s a -> m (Maybe (i, a))
- ipreuses :: MonadState s m => IndexedGetting i (First r) s a -> (i -> a -> r) -> m (Maybe r)
- ipreview :: MonadReader s m => IndexedGetting i (First (i, a)) s a -> m (Maybe (i, a))
- ipreviews :: MonadReader s m => IndexedGetting i (First r) s a -> (i -> a -> r) -> m (Maybe r)
- itakingWhile :: (Indexable i p, Profunctor q, Contravariant f, Applicative f) => (i -> a -> Bool) -> Optical' (Indexed i) q (Const (Endo (f s)) :: Type -> Type) s a -> Optical' p q f s a
- iterated :: Apply f => (a -> a) -> LensLike' f a a
- itoListOf :: IndexedGetting i (Endo [(i, a)]) s a -> s -> [(i, a)]
- itraverseOf_ :: Functor f => IndexedGetting i (Traversed r f) s a -> (i -> a -> f r) -> s -> f ()
- last1Of :: Getting (Last a) s a -> s -> a
- lastOf :: Getting (Rightmost a) s a -> s -> Maybe a
- lengthOf :: Getting (Endo (Endo Int)) s a -> s -> Int
- lined :: forall (f :: Type -> Type). Applicative f => IndexedLensLike' Int f String String
- lookupOf :: Eq k => Getting (Endo (Maybe v)) s (k, v) -> k -> s -> Maybe v
- mapMOf_ :: Monad m => Getting (Sequenced r m) s a -> (a -> m r) -> s -> m ()
- maximum1Of :: Ord a => Getting (Max a) s a -> s -> a
- maximumByOf :: Getting (Endo (Endo (Maybe a))) s a -> (a -> a -> Ordering) -> s -> Maybe a
- maximumOf :: Ord a => Getting (Endo (Endo (Maybe a))) s a -> s -> Maybe a
- minimum1Of :: Ord a => Getting (Min a) s a -> s -> a
- minimumByOf :: Getting (Endo (Endo (Maybe a))) s a -> (a -> a -> Ordering) -> s -> Maybe a
- minimumOf :: Ord a => Getting (Endo (Endo (Maybe a))) s a -> s -> Maybe a
- msumOf :: MonadPlus m => Getting (Endo (m a)) s (m a) -> s -> m a
- notElemOf :: Eq a => Getting All s a -> a -> s -> Bool
- notNullOf :: Getting Any s a -> s -> Bool
- nullOf :: Getting All s a -> s -> Bool
- orOf :: Getting Any s Bool -> s -> Bool
- pre :: Getting (First a) s a -> IndexPreservingGetter s (Maybe a)
- preuse :: MonadState s m => Getting (First a) s a -> m (Maybe a)
- preuses :: MonadState s m => Getting (First r) s a -> (a -> r) -> m (Maybe r)
- preview :: MonadReader s m => Getting (First a) s a -> m (Maybe a)
- previews :: MonadReader s m => Getting (First r) s a -> (a -> r) -> m (Maybe r)
- productOf :: Num a => Getting (Endo (Endo a)) s a -> s -> a
- repeated :: Apply f => LensLike' f a a
- replicated :: Int -> Fold a a
- sequence1Of_ :: Functor f => Getting (TraversedF a f) s (f a) -> s -> f ()
- sequenceAOf_ :: Functor f => Getting (Traversed a f) s (f a) -> s -> f ()
- sequenceOf_ :: Monad m => Getting (Sequenced a m) s (m a) -> s -> m ()
- sumOf :: Num a => Getting (Endo (Endo a)) s a -> s -> a
- takingWhile :: (Conjoined p, Applicative f) => (a -> Bool) -> Over p (TakingWhile p f a a) s t a a -> Over p f s t a a
- toListOf :: Getting (Endo [a]) s a -> s -> [a]
- toNonEmptyOf :: Getting (NonEmptyDList a) s a -> s -> NonEmpty a
- traverse1Of_ :: Functor f => Getting (TraversedF r f) s a -> (a -> f r) -> s -> f ()
- traverseOf_ :: Functor f => Getting (Traversed r f) s a -> (a -> f r) -> s -> f ()
- unfolded :: (b -> Maybe (a, b)) -> Fold b a
- worded :: forall (f :: Type -> Type). Applicative f => IndexedLensLike' Int f String String
- (^.) :: s -> Getting a s a -> a
- (^@.) :: s -> IndexedGetting i (i, a) s a -> (i, a)
- getting :: (Profunctor p, Profunctor q, Functor f, Contravariant f) => Optical p q f s t a b -> Optical' p q f s a
- ilike :: (Indexable i p, Contravariant f, Functor f) => i -> a -> Over' p f s a
- ilistening :: MonadWriter w m => IndexedGetting i (i, u) w u -> m a -> m (a, (i, u))
- ilistenings :: MonadWriter w m => IndexedGetting i v w u -> (i -> u -> v) -> m a -> m (a, v)
- ito :: (Indexable i p, Contravariant f) => (s -> (i, a)) -> Over' p f s a
- iuse :: MonadState s m => IndexedGetting i (i, a) s a -> m (i, a)
- iuses :: MonadState s m => IndexedGetting i r s a -> (i -> a -> r) -> m r
- iview :: MonadReader s m => IndexedGetting i (i, a) s a -> m (i, a)
- iviews :: MonadReader s m => IndexedGetting i r s a -> (i -> a -> r) -> m r
- like :: (Profunctor p, Contravariant f, Functor f) => a -> Optic' p f s a
- listening :: MonadWriter w m => Getting u w u -> m a -> m (a, u)
- listenings :: MonadWriter w m => Getting v w u -> (u -> v) -> m a -> m (a, v)
- to :: (Profunctor p, Contravariant f) => (s -> a) -> Optic' p f s a
- use :: MonadState s m => Getting a s a -> m a
- uses :: MonadState s m => LensLike' (Const r :: Type -> Type) s a -> (a -> r) -> m r
- view :: MonadReader s m => Getting a s a -> m a
- views :: MonadReader s m => LensLike' (Const r :: Type -> Type) s a -> (a -> r) -> m r
- (.>) :: (st -> r) -> (kab -> st) -> kab -> r
- (<.) :: Indexable i p => (Indexed i s t -> r) -> ((a -> b) -> s -> t) -> p a b -> r
- (<.>) :: Indexable (i, j) p => (Indexed i s t -> r) -> (Indexed j a b -> s -> t) -> p a b -> r
- icompose :: Indexable p c => (i -> j -> p) -> (Indexed i s t -> r) -> (Indexed j a b -> s -> t) -> c a b -> r
- ifoldMapBy :: FoldableWithIndex i t => (r -> r -> r) -> r -> (i -> a -> r) -> t a -> r
- ifoldMapByOf :: IndexedFold i t a -> (r -> r -> r) -> r -> (i -> a -> r) -> t -> r
- ifolded :: forall i (f :: Type -> Type) a. FoldableWithIndex i f => IndexedFold i (f a) a
- imapped :: forall i (f :: Type -> Type) a b. FunctorWithIndex i f => IndexedSetter i (f a) (f b) a b
- index :: (Indexable i p, Eq i, Applicative f) => i -> Optical' p (Indexed i) f a a
- indices :: (Indexable i p, Applicative f) => (i -> Bool) -> Optical' p (Indexed i) f a a
- itraverseBy :: TraversableWithIndex i t => (forall x. x -> f x) -> (forall x y. f (x -> y) -> f x -> f y) -> (i -> a -> f b) -> t a -> f (t b)
- itraverseByOf :: IndexedTraversal i s t a b -> (forall x. x -> f x) -> (forall x y. f (x -> y) -> f x -> f y) -> (i -> a -> f b) -> s -> f t
- itraversed :: forall i (t :: Type -> Type) a b. TraversableWithIndex i t => IndexedTraversal i (t a) (t b) a b
- reindexed :: Indexable j p => (i -> j) -> (Indexed i a b -> r) -> p a b -> r
- selfIndex :: Indexable a p => p a fb -> a -> fb
- asIndex :: (Indexable i p, Contravariant f, Functor f) => p i (f i) -> Indexed i s (f s)
- indexing :: Indexable Int p => ((a -> Indexing f b) -> s -> Indexing f t) -> p a (f b) -> s -> f t
- indexing64 :: Indexable Int64 p => ((a -> Indexing64 f b) -> s -> Indexing64 f t) -> p a (f b) -> s -> f t
- withIndex :: (Indexable i p, Functor f) => p (i, s) (f (j, t)) -> Indexed i s (f t)
- makeClassyPrisms :: Name -> DecsQ
- makePrisms :: Name -> DecsQ
- retagged :: (Profunctor p, Bifunctor p) => p a b -> p s b
- pattern Lazy :: Strict t s => t -> s
- pattern List :: IsList l => [Item l] -> l
- pattern Reversed :: Reversing t => t -> t
- pattern Strict :: Strict s t => t -> s
- pattern Swapped :: forall {p} {c} {d}. Swap p => p d c -> p c d
- anon :: a -> (a -> Bool) -> Iso' (Maybe a) a
- au :: Functor f => AnIso s t a b -> ((b -> t) -> f s) -> f a
- auf :: (Functor f, Functor g) => AnIso s t a b -> (f t -> g s) -> f b -> g a
- bimapping :: forall (f :: Type -> Type -> Type) (g :: Type -> Type -> Type) s t a b s' t' a' b'. (Bifunctor f, Bifunctor g) => AnIso s t a b -> AnIso s' t' a' b' -> Iso (f s s') (g t t') (f a a') (g b b')
- cloneIso :: AnIso s t a b -> Iso s t a b
- coerced :: forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
- contramapping :: forall (f :: Type -> Type) s t a b. Contravariant f => AnIso s t a b -> Iso (f a) (f b) (f s) (f t)
- curried :: Iso ((a, b) -> c) ((d, e) -> f) (a -> b -> c) (d -> e -> f)
- dimapping :: forall (p :: Type -> Type -> Type) (q :: Type -> Type -> Type) s t a b s' t' a' b'. (Profunctor p, Profunctor q) => AnIso s t a b -> AnIso s' t' a' b' -> Iso (p a s') (q b t') (p s a') (q t b')
- enum :: Enum a => Iso' Int a
- firsting :: forall (f :: Type -> Type -> Type) (g :: Type -> Type -> Type) s t a b x y. (Bifunctor f, Bifunctor g) => AnIso s t a b -> Iso (f s x) (g t y) (f a x) (g b y)
- flipped :: Iso (a -> b -> c) (a' -> b' -> c') (b -> a -> c) (b' -> a' -> c')
- from :: AnIso s t a b -> Iso b a t s
- imagma :: Over (Indexed i) (Molten i a b) s t a b -> Iso s t' (Magma i t b a) (Magma j t' c c)
- involuted :: (a -> a) -> Iso' a a
- iso :: (s -> a) -> (b -> t) -> Iso s t a b
- lazy :: Strict lazy strict => Iso' strict lazy
- lmapping :: forall (p :: Type -> Type -> Type) (q :: Type -> Type -> Type) s t a b x y. (Profunctor p, Profunctor q) => AnIso s t a b -> Iso (p a x) (q b y) (p s x) (q t y)
- magma :: LensLike (Mafic a b) s t a b -> Iso s u (Magma Int t b a) (Magma j u c c)
- mapping :: forall (f :: Type -> Type) (g :: Type -> Type) s t a b. (Functor f, Functor g) => AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
- non :: Eq a => a -> Iso' (Maybe a) a
- non' :: APrism' a () -> Iso' (Maybe a) a
- reversed :: Reversing a => Iso' a a
- rmapping :: forall (p :: Type -> Type -> Type) (q :: Type -> Type -> Type) s t a b x y. (Profunctor p, Profunctor q) => AnIso s t a b -> Iso (p x s) (q y t) (p x a) (q y b)
- seconding :: forall (f :: Type -> Type -> Type) (g :: Type -> Type -> Type) s t a b x y. (Bifunctor f, Bifunctor g) => AnIso s t a b -> Iso (f x s) (g y t) (f x a) (g y b)
- strict :: Strict lazy strict => Iso' lazy strict
- swapped :: forall (p :: Type -> Type -> Type) a b c d. Swap p => Iso (p a b) (p c d) (p b a) (p d c)
- uncurried :: Iso (a -> b -> c) (d -> e -> f) ((a, b) -> c) ((d, e) -> f)
- under :: AnIso s t a b -> (t -> s) -> b -> a
- withIso :: forall s t a b (rep :: RuntimeRep) (r :: TYPE rep). AnIso s t a b -> ((s -> a) -> (b -> t) -> r) -> r
- xplat :: forall {k} s g (t :: k) a (b :: k). Optic (Costar ((->) s)) g s t a b -> ((s -> a) -> g b) -> g t
- xplatf :: forall {k1} {k2} f g (s :: k1) (t :: k2) (a :: k1) (b :: k2). Optic (Costar f) g s t a b -> (f a -> g b) -> f s -> g t
- (#%%=) :: MonadState s m => ALens s s a b -> (a -> (r, b)) -> m r
- (#%%~) :: Functor f => ALens s t a b -> (a -> f b) -> s -> f t
- (#%=) :: MonadState s m => ALens s s a b -> (a -> b) -> m ()
- (#%~) :: ALens s t a b -> (a -> b) -> s -> t
- (#=) :: MonadState s m => ALens s s a b -> b -> m ()
- (#~) :: ALens s t a b -> b -> s -> t
- (%%=) :: forall {k} s m p r (a :: k) b. MonadState s m => Over p ((,) r) s s a b -> p a (r, b) -> m r
- (%%@=) :: MonadState s m => Over (Indexed i) ((,) r) s s a b -> (i -> a -> (r, b)) -> m r
- (%%@~) :: forall {k} i f s (t :: k) a (b :: k). Over (Indexed i) f s t a b -> (i -> a -> f b) -> s -> f t
- (%%~) :: forall {k} f s (t :: k) a (b :: k). LensLike f s t a b -> (a -> f b) -> s -> f t
- (&~) :: s -> State s a -> s
- (<#%=) :: MonadState s m => ALens s s a b -> (a -> b) -> m b
- (<#%~) :: ALens s t a b -> (a -> b) -> s -> (b, t)
- (<#=) :: MonadState s m => ALens s s a b -> b -> m b
- (<#~) :: ALens s t a b -> b -> s -> (b, t)
- (<%=) :: MonadState s m => LensLike ((,) b) s s a b -> (a -> b) -> m b
- (<%@=) :: MonadState s m => Over (Indexed i) ((,) b) s s a b -> (i -> a -> b) -> m b
- (<%@~) :: Over (Indexed i) ((,) b) s t a b -> (i -> a -> b) -> s -> (b, t)
- (<%~) :: LensLike ((,) b) s t a b -> (a -> b) -> s -> (b, t)
- (<&&=) :: MonadState s m => LensLike' ((,) Bool) s Bool -> Bool -> m Bool
- (<&&~) :: LensLike ((,) Bool) s t Bool Bool -> Bool -> s -> (Bool, t)
- (<**=) :: (MonadState s m, Floating a) => LensLike' ((,) a) s a -> a -> m a
- (<**~) :: Floating a => LensLike ((,) a) s t a a -> a -> s -> (a, t)
- (<*=) :: (MonadState s m, Num a) => LensLike' ((,) a) s a -> a -> m a
- (<*~) :: Num a => LensLike ((,) a) s t a a -> a -> s -> (a, t)
- (<+=) :: (MonadState s m, Num a) => LensLike' ((,) a) s a -> a -> m a
- (<+~) :: Num a => LensLike ((,) a) s t a a -> a -> s -> (a, t)
- (<-=) :: (MonadState s m, Num a) => LensLike' ((,) a) s a -> a -> m a
- (<-~) :: Num a => LensLike ((,) a) s t a a -> a -> s -> (a, t)
- (<//=) :: (MonadState s m, Fractional a) => LensLike' ((,) a) s a -> a -> m a
- (<//~) :: Fractional a => LensLike ((,) a) s t a a -> a -> s -> (a, t)
- (<<%=) :: (Strong p, MonadState s m) => Over p ((,) a) s s a b -> p a b -> m a
- (<<%@=) :: MonadState s m => Over (Indexed i) ((,) a) s s a b -> (i -> a -> b) -> m a
- (<<%@~) :: Over (Indexed i) ((,) a) s t a b -> (i -> a -> b) -> s -> (a, t)
- (<<%~) :: LensLike ((,) a) s t a b -> (a -> b) -> s -> (a, t)
- (<<&&=) :: MonadState s m => LensLike' ((,) Bool) s Bool -> Bool -> m Bool
- (<<&&~) :: LensLike' ((,) Bool) s Bool -> Bool -> s -> (Bool, s)
- (<<**=) :: (MonadState s m, Floating a) => LensLike' ((,) a) s a -> a -> m a
- (<<**~) :: Floating a => LensLike' ((,) a) s a -> a -> s -> (a, s)
- (<<*=) :: (MonadState s m, Num a) => LensLike' ((,) a) s a -> a -> m a
- (<<*~) :: Num a => LensLike' ((,) a) s a -> a -> s -> (a, s)
- (<<+=) :: (MonadState s m, Num a) => LensLike' ((,) a) s a -> a -> m a
- (<<+~) :: Num a => LensLike' ((,) a) s a -> a -> s -> (a, s)
- (<<-=) :: (MonadState s m, Num a) => LensLike' ((,) a) s a -> a -> m a
- (<<-~) :: Num a => LensLike' ((,) a) s a -> a -> s -> (a, s)
- (<<.=) :: MonadState s m => LensLike ((,) a) s s a b -> b -> m a
- (<<.~) :: LensLike ((,) a) s t a b -> b -> s -> (a, t)
- (<<//=) :: (MonadState s m, Fractional a) => LensLike' ((,) a) s a -> a -> m a
- (<<//~) :: Fractional a => LensLike' ((,) a) s a -> a -> s -> (a, s)
- (<<<>=) :: (MonadState s m, Semigroup r) => LensLike' ((,) r) s r -> r -> m r
- (<<<>~) :: Semigroup r => LensLike' ((,) r) s r -> r -> s -> (r, s)
- (<<>=) :: (MonadState s m, Semigroup r) => LensLike' ((,) r) s r -> r -> m r
- (<<>~) :: Semigroup m => LensLike ((,) m) s t m m -> m -> s -> (m, t)
- (<<?=) :: MonadState s m => LensLike ((,) a) s s a (Maybe b) -> b -> m a
- (<<?~) :: LensLike ((,) a) s t a (Maybe b) -> b -> s -> (a, t)
- (<<^=) :: (MonadState s m, Num a, Integral e) => LensLike' ((,) a) s a -> e -> m a
- (<<^^=) :: (MonadState s m, Fractional a, Integral e) => LensLike' ((,) a) s a -> e -> m a
- (<<^^~) :: (Fractional a, Integral e) => LensLike' ((,) a) s a -> e -> s -> (a, s)
- (<<^~) :: (Num a, Integral e) => LensLike' ((,) a) s a -> e -> s -> (a, s)
- (<<||=) :: MonadState s m => LensLike' ((,) Bool) s Bool -> Bool -> m Bool
- (<<||~) :: LensLike' ((,) Bool) s Bool -> Bool -> s -> (Bool, s)
- (<<~) :: MonadState s m => ALens s s a b -> m b -> m b
- (<^=) :: (MonadState s m, Num a, Integral e) => LensLike' ((,) a) s a -> e -> m a
- (<^^=) :: (MonadState s m, Fractional a, Integral e) => LensLike' ((,) a) s a -> e -> m a
- (<^^~) :: (Fractional a, Integral e) => LensLike ((,) a) s t a a -> e -> s -> (a, t)
- (<^~) :: (Num a, Integral e) => LensLike ((,) a) s t a a -> e -> s -> (a, t)
- (<||=) :: MonadState s m => LensLike' ((,) Bool) s Bool -> Bool -> m Bool
- (<||~) :: LensLike ((,) Bool) s t Bool Bool -> Bool -> s -> (Bool, t)
- (??) :: Functor f => f (a -> b) -> a -> f b
- (^#) :: s -> ALens s t a b -> a
- alongside :: LensLike (AlongsideLeft f b') s t a b -> LensLike (AlongsideRight f t) s' t' a' b' -> LensLike f (s, s') (t, t') (a, a') (b, b')
- choosing :: Functor f => LensLike f s t a b -> LensLike f s' t' a b -> LensLike f (Either s s') (Either t t') a b
- chosen :: IndexPreservingLens (Either a a) (Either b b) a b
- cloneIndexPreservingLens :: ALens s t a b -> IndexPreservingLens s t a b
- cloneIndexedLens :: AnIndexedLens i s t a b -> IndexedLens i s t a b
- cloneLens :: ALens s t a b -> Lens s t a b
- devoid :: forall {k} p f (a :: k) b. Over p f Void Void a b
- fusing :: Functor f => LensLike (Yoneda f) s t a b -> LensLike f s t a b
- head1 :: forall (t :: Type -> Type) a. Traversable1 t => Lens' (t a) a
- ilens :: (s -> (i, a)) -> (s -> b -> t) -> IndexedLens i s t a b
- inside :: forall (p :: Type -> Type -> Type) s t a b e. Corepresentable p => ALens s t a b -> Lens (p e s) (p e t) (p e a) (p e b)
- iplens :: (s -> a) -> (s -> b -> t) -> IndexPreservingLens s t a b
- last1 :: forall (t :: Type -> Type) a. Traversable1 t => Lens' (t a) a
- lens :: (s -> a) -> (s -> b -> t) -> Lens s t a b
- locus :: forall (p :: Type -> Type -> Type -> Type) a c s b. IndexedComonadStore p => Lens (p a c s) (p b c s) a b
- overA :: Arrow ar => LensLike (Context a b) s t a b -> ar a b -> ar s t
- storing :: ALens s t a b -> b -> s -> t
- united :: Lens' a ()
- withLens :: forall s t a b (rep :: RuntimeRep) (r :: TYPE rep). ALens s t a b -> ((s -> a) -> (s -> b -> t) -> r) -> r
- ilevels :: forall (f :: Type -> Type) i s t a b j. Applicative f => Traversing (Indexed i) f s t a b -> IndexedLensLike Int f s t (Level i a) (Level j b)
- levels :: forall (f :: Type -> Type) s t a b. Applicative f => Traversing (->) f s t a b -> IndexedLensLike Int f s t (Level () a) (Level () b)
- (...) :: forall {k} f c s t p (a :: k) b. (Applicative f, Plated c) => LensLike f s t c c -> Over p f c c a b -> Over p f s t a b
- children :: Plated a => a -> [a]
- composOpFold :: Plated a => b -> (b -> b -> b) -> (a -> b) -> a -> b
- contexts :: Plated a => a -> [Context a a a]
- contextsOf :: ATraversal' a a -> a -> [Context a a a]
- contextsOn :: Plated a => ATraversal s t a a -> s -> [Context a a t]
- contextsOnOf :: ATraversal s t a a -> ATraversal' a a -> s -> [Context a a t]
- cosmos :: Plated a => Fold a a
- cosmosOf :: (Applicative f, Contravariant f) => LensLike' f a a -> LensLike' f a a
- cosmosOn :: (Applicative f, Contravariant f, Plated a) => LensLike' f s a -> LensLike' f s a
- cosmosOnOf :: (Applicative f, Contravariant f) => LensLike' f s a -> LensLike' f a a -> LensLike' f s a
- deep :: (Conjoined p, Applicative f, Plated s) => Traversing p f s s a b -> Over p f s s a b
- gplate :: (Generic a, GPlated a (Rep a)) => Traversal' a a
- gplate1 :: forall {k} (f :: k -> Type) (a :: k). (Generic1 f, GPlated1 f (Rep1 f)) => Traversal' (f a) (f a)
- holes :: Plated a => a -> [Pretext (->) a a a]
- holesOn :: Conjoined p => Over p (Bazaar p a a) s t a a -> s -> [Pretext p a a t]
- holesOnOf :: Conjoined p => LensLike (Bazaar p r r) s t a b -> Over p (Bazaar p r r) a b r r -> s -> [Pretext p r r t]
- para :: Plated a => (a -> [r] -> r) -> a -> r
- paraOf :: Getting (Endo [a]) a a -> (a -> [r] -> r) -> a -> r
- parts :: Plated a => Lens' a [a]
- rewrite :: Plated a => (a -> Maybe a) -> a -> a
- rewriteM :: (Monad m, Plated a) => (a -> m (Maybe a)) -> a -> m a
- rewriteMOf :: Monad m => LensLike (WrappedMonad m) a b a b -> (b -> m (Maybe a)) -> a -> m b
- rewriteMOn :: (Monad m, Plated a) => LensLike (WrappedMonad m) s t a a -> (a -> m (Maybe a)) -> s -> m t
- rewriteMOnOf :: Monad m => LensLike (WrappedMonad m) s t a b -> LensLike (WrappedMonad m) a b a b -> (b -> m (Maybe a)) -> s -> m t
- rewriteOf :: ASetter a b a b -> (b -> Maybe a) -> a -> b
- rewriteOn :: Plated a => ASetter s t a a -> (a -> Maybe a) -> s -> t
- rewriteOnOf :: ASetter s t a b -> ASetter a b a b -> (b -> Maybe a) -> s -> t
- transform :: Plated a => (a -> a) -> a -> a
- transformM :: (Monad m, Plated a) => (a -> m a) -> a -> m a
- transformMOf :: Monad m => LensLike (WrappedMonad m) a b a b -> (b -> m b) -> a -> m b
- transformMOn :: (Monad m, Plated a) => LensLike (WrappedMonad m) s t a a -> (a -> m a) -> s -> m t
- transformMOnOf :: Monad m => LensLike (WrappedMonad m) s t a b -> LensLike (WrappedMonad m) a b a b -> (b -> m b) -> s -> m t
- transformOf :: ASetter a b a b -> (b -> b) -> a -> b
- transformOn :: Plated a => ASetter s t a a -> (a -> a) -> s -> t
- transformOnOf :: ASetter s t a b -> ASetter a b a b -> (b -> b) -> s -> t
- universe :: Plated a => a -> [a]
- universeOf :: Getting [a] a a -> a -> [a]
- universeOn :: Plated a => Getting [a] s a -> s -> [a]
- universeOnOf :: Getting [a] s a -> Getting [a] a a -> s -> [a]
- _Just :: Prism (Maybe a) (Maybe b) a b
- _Left :: Prism (Either a c) (Either b c) a b
- _Nothing :: Prism' (Maybe a) ()
- _Right :: Prism (Either c a) (Either c b) a b
- _Show :: (Read a, Show a) => Prism' String a
- _Void :: Prism s s a Void
- aside :: APrism s t a b -> Prism (e, s) (e, t) (e, a) (e, b)
- below :: forall (f :: Type -> Type) s a. Traversable f => APrism' s a -> Prism' (f s) (f a)
- clonePrism :: APrism s t a b -> Prism s t a b
- isn't :: APrism s t a b -> s -> Bool
- matching :: APrism s t a b -> s -> Either t a
- nearly :: a -> (a -> Bool) -> Prism' a ()
- only :: Eq a => a -> Prism' a ()
- outside :: forall (p :: Type -> Type -> Type) s t a b r. Representable p => APrism s t a b -> Lens (p t r) (p s r) (p b r) (p a r)
- prism :: (b -> t) -> (s -> Either t a) -> Prism s t a b
- prism' :: (b -> s) -> (s -> Maybe a) -> Prism s s a b
- withPrism :: APrism s t a b -> ((b -> t) -> (s -> Either t a) -> r) -> r
- without :: APrism s t a b -> APrism u v c d -> Prism (Either s u) (Either t v) (Either a c) (Either b d)
- (#) :: AReview t b -> b -> t
- re :: AReview t b -> Getter b t
- reuse :: MonadState b m => AReview t b -> m t
- reuses :: MonadState b m => AReview t b -> (t -> r) -> m r
- review :: MonadReader b m => AReview t b -> m t
- reviewing :: (Bifunctor p, Functor f) => Optic (Tagged :: Type -> Type -> Type) Identity s t a b -> Optic' p f t b
- reviews :: MonadReader b m => AReview t b -> (t -> r) -> m r
- un :: (Profunctor p, Bifunctor p, Functor f) => Getting a s a -> Optic' p f a s
- unto :: (Profunctor p, Bifunctor p, Functor f) => (b -> t) -> Optic p f s t a b
- (%=) :: MonadState s m => ASetter s s a b -> (a -> b) -> m ()
- (%@=) :: MonadState s m => AnIndexedSetter i s s a b -> (i -> a -> b) -> m ()
- (%@~) :: AnIndexedSetter i s t a b -> (i -> a -> b) -> s -> t
- (%~) :: ASetter s t a b -> (a -> b) -> s -> t
- (&&=) :: MonadState s m => ASetter' s Bool -> Bool -> m ()
- (&&~) :: ASetter s t Bool Bool -> Bool -> s -> t
- (**=) :: (MonadState s m, Floating a) => ASetter' s a -> a -> m ()
- (**~) :: Floating a => ASetter s t a a -> a -> s -> t
- (*=) :: (MonadState s m, Num a) => ASetter' s a -> a -> m ()
- (*~) :: Num a => ASetter s t a a -> a -> s -> t
- (+=) :: (MonadState s m, Num a) => ASetter' s a -> a -> m ()
- (+~) :: Num a => ASetter s t a a -> a -> s -> t
- (-=) :: (MonadState s m, Num a) => ASetter' s a -> a -> m ()
- (-~) :: Num a => ASetter s t a a -> a -> s -> t
- (.=) :: MonadState s m => ASetter s s a b -> b -> m ()
- (.@=) :: MonadState s m => AnIndexedSetter i s s a b -> (i -> b) -> m ()
- (.@~) :: AnIndexedSetter i s t a b -> (i -> b) -> s -> t
- (.~) :: ASetter s t a b -> b -> s -> t
- (//=) :: (MonadState s m, Fractional a) => ASetter' s a -> a -> m ()
- (//~) :: Fractional a => ASetter s t a a -> a -> s -> t
- (<.=) :: MonadState s m => ASetter s s a b -> b -> m b
- (<.~) :: ASetter s t a b -> b -> s -> (b, t)
- (<>=) :: (MonadState s m, Semigroup a) => ASetter' s a -> a -> m ()
- (<>~) :: Semigroup a => ASetter s t a a -> a -> s -> t
- (<?=) :: MonadState s m => ASetter s s a (Maybe b) -> b -> m b
- (<?~) :: ASetter s t a (Maybe b) -> b -> s -> (b, t)
- (<~) :: MonadState s m => ASetter s s a b -> m b -> m ()
- (?=) :: MonadState s m => ASetter s s a (Maybe b) -> b -> m ()
- (?~) :: ASetter s t a (Maybe b) -> b -> s -> t
- (^=) :: (MonadState s m, Num a, Integral e) => ASetter' s a -> e -> m ()
- (^^=) :: (MonadState s m, Fractional a, Integral e) => ASetter' s a -> e -> m ()
- (^^~) :: (Fractional a, Integral e) => ASetter s t a a -> e -> s -> t
- (^~) :: (Num a, Integral e) => ASetter s t a a -> e -> s -> t
- argument :: forall (p :: Type -> Type -> Type) b r a. Profunctor p => Setter (p b r) (p a r) a b
- assign :: MonadState s m => ASetter s s a b -> b -> m ()
- assignA :: Arrow p => ASetter s t a b -> p s b -> p s t
- censoring :: MonadWriter w m => Setter w w u v -> (u -> v) -> m a -> m a
- cloneIndexPreservingSetter :: ASetter s t a b -> IndexPreservingSetter s t a b
- cloneIndexedSetter :: AnIndexedSetter i s t a b -> IndexedSetter i s t a b
- cloneSetter :: ASetter s t a b -> Setter s t a b
- contramapped :: forall (f :: Type -> Type) b a. Contravariant f => Setter (f b) (f a) a b
- icensoring :: MonadWriter w m => IndexedSetter i w w u v -> (i -> u -> v) -> m a -> m a
- ilocally :: MonadReader s m => AnIndexedSetter i s s a b -> (i -> a -> b) -> m r -> m r
- imapOf :: AnIndexedSetter i s t a b -> (i -> a -> b) -> s -> t
- imodifying :: MonadState s m => AnIndexedSetter i s s a b -> (i -> a -> b) -> m ()
- iover :: AnIndexedSetter i s t a b -> (i -> a -> b) -> s -> t
- ipassing :: MonadWriter w m => IndexedSetter i w w u v -> m (a, i -> u -> v) -> m a
- iset :: AnIndexedSetter i s t a b -> (i -> b) -> s -> t
- isets :: ((i -> a -> b) -> s -> t) -> IndexedSetter i s t a b
- lifted :: forall (m :: Type -> Type) a b. Monad m => Setter (m a) (m b) a b
- locally :: MonadReader s m => ASetter s s a b -> (a -> b) -> m r -> m r
- mapOf :: ASetter s t a b -> (a -> b) -> s -> t
- mapped :: forall (f :: Type -> Type) a b. Functor f => Setter (f a) (f b) a b
- modifying :: MonadState s m => ASetter s s a b -> (a -> b) -> m ()
- over :: ASetter s t a b -> (a -> b) -> s -> t
- passing :: MonadWriter w m => Setter w w u v -> m (a, u -> v) -> m a
- scribe :: (MonadWriter t m, Monoid s) => ASetter s t a b -> b -> m ()
- set :: ASetter s t a b -> b -> s -> t
- set' :: ASetter' s a -> a -> s -> s
- sets :: (Profunctor p, Profunctor q, Settable f) => (p a b -> q s t) -> Optical p q f s t a b
- setting :: ((a -> b) -> s -> t) -> IndexPreservingSetter s t a b
- (||=) :: MonadState s m => ASetter' s Bool -> Bool -> m ()
- (||~) :: ASetter s t Bool Bool -> Bool -> s -> t
- abbreviatedFields :: LensRules
- abbreviatedNamer :: FieldNamer
- camelCaseFields :: LensRules
- camelCaseNamer :: FieldNamer
- classUnderscoreNoPrefixFields :: LensRules
- classUnderscoreNoPrefixNamer :: FieldNamer
- classyRules :: LensRules
- classyRules_ :: LensRules
- createClass :: Lens' LensRules Bool
- declareClassy :: DecsQ -> DecsQ
- declareClassyFor :: [(String, (String, String))] -> [(String, String)] -> DecsQ -> DecsQ
- declareFields :: DecsQ -> DecsQ
- declareLenses :: DecsQ -> DecsQ
- declareLensesFor :: [(String, String)] -> DecsQ -> DecsQ
- declareLensesWith :: LensRules -> DecsQ -> DecsQ
- declarePrisms :: DecsQ -> DecsQ
- declareWrapped :: DecsQ -> DecsQ
- defaultFieldRules :: LensRules
- generateLazyPatterns :: Lens' LensRules Bool
- generateSignatures :: Lens' LensRules Bool
- generateUpdateableOptics :: Lens' LensRules Bool
- lensClass :: Lens' LensRules ClassyNamer
- lensField :: Lens' LensRules FieldNamer
- lensRules :: LensRules
- lensRulesFor :: [(String, String)] -> LensRules
- lookingupNamer :: [(String, String)] -> FieldNamer
- makeClassy :: Name -> DecsQ
- makeClassyFor :: String -> String -> [(String, String)] -> Name -> DecsQ
- makeClassy_ :: Name -> DecsQ
- makeFields :: Name -> DecsQ
- makeFieldsNoPrefix :: Name -> DecsQ
- makeLenses :: Name -> DecsQ
- makeLensesFor :: [(String, String)] -> Name -> DecsQ
- makeLensesWith :: LensRules -> Name -> DecsQ
- makeWrapped :: Name -> DecsQ
- mappingNamer :: (String -> [String]) -> FieldNamer
- simpleLenses :: Lens' LensRules Bool
- underscoreFields :: LensRules
- underscoreNamer :: FieldNamer
- underscoreNoPrefixNamer :: FieldNamer
- beside :: (Representable q, Applicative (Rep q), Applicative f, Bitraversable r) => Optical p q f s t a b -> Optical p q f s' t' a b -> Optical p q f (r s s') (r t t') a b
- both :: forall (r :: Type -> Type -> Type) a b. Bitraversable r => Traversal (r a a) (r b b) a b
- both1 :: forall (r :: Type -> Type -> Type) a b. Bitraversable1 r => Traversal1 (r a a) (r b b) a b
- cloneIndexPreservingTraversal :: ATraversal s t a b -> IndexPreservingTraversal s t a b
- cloneIndexPreservingTraversal1 :: ATraversal1 s t a b -> IndexPreservingTraversal1 s t a b
- cloneIndexedTraversal :: AnIndexedTraversal i s t a b -> IndexedTraversal i s t a b
- cloneIndexedTraversal1 :: AnIndexedTraversal1 i s t a b -> IndexedTraversal1 i s t a b
- cloneTraversal :: ATraversal s t a b -> Traversal s t a b
- cloneTraversal1 :: ATraversal1 s t a b -> Traversal1 s t a b
- confusing :: Applicative f => LensLike (Curried (Yoneda f) (Yoneda f)) s t a b -> LensLike f s t a b
- deepOf :: (Conjoined p, Applicative f) => LensLike f s t s t -> Traversing p f s t a b -> Over p f s t a b
- dropping :: (Conjoined p, Applicative f) => Int -> Over p (Indexing f) s t a a -> Over p f s t a a
- element :: forall (t :: Type -> Type) a. Traversable t => Int -> IndexedTraversal' Int (t a) a
- elementOf :: forall (f :: Type -> Type) s t a. Applicative f => LensLike (Indexing f) s t a a -> Int -> IndexedLensLike Int f s t a a
- elements :: forall (t :: Type -> Type) a. Traversable t => (Int -> Bool) -> IndexedTraversal' Int (t a) a
- elementsOf :: forall (f :: Type -> Type) s t a. Applicative f => LensLike (Indexing f) s t a a -> (Int -> Bool) -> IndexedLensLike Int f s t a a
- failing :: (Conjoined p, Applicative f) => Traversing p f s t a b -> Over p f s t a b -> Over p f s t a b
- failover :: Alternative m => LensLike ((,) Any) s t a b -> (a -> b) -> s -> m t
- forMOf :: LensLike (WrappedMonad m) s t a b -> s -> (a -> m b) -> m t
- forOf :: LensLike f s t a b -> s -> (a -> f b) -> f t
- holes1Of :: Conjoined p => Over p (Bazaar1 p a a) s t a a -> s -> NonEmpty (Pretext p a a t)
- holesOf :: Conjoined p => Over p (Bazaar p a a) s t a a -> s -> [Pretext p a a t]
- ifailover :: Alternative m => Over (Indexed i) ((,) Any) s t a b -> (i -> a -> b) -> s -> m t
- iforMOf :: (Indexed i a (WrappedMonad m b) -> s -> WrappedMonad m t) -> s -> (i -> a -> m b) -> m t
- iforOf :: (Indexed i a (f b) -> s -> f t) -> s -> (i -> a -> f b) -> f t
- ignored :: Applicative f => pafb -> s -> f s
- iloci :: IndexedTraversal i (Bazaar (Indexed i) a c s) (Bazaar (Indexed i) b c s) a b
- imapAccumLOf :: Over (Indexed i) (State acc) s t a b -> (i -> acc -> a -> (acc, b)) -> acc -> s -> (acc, t)
- imapAccumROf :: Over (Indexed i) (Backwards (State acc)) s t a b -> (i -> acc -> a -> (acc, b)) -> acc -> s -> (acc, t)
- imapMOf :: Over (Indexed i) (WrappedMonad m) s t a b -> (i -> a -> m b) -> s -> m t
- ipartsOf :: (Indexable [i] p, Functor f) => Traversing (Indexed i) f s t a a -> Over p f s t [a] [a]
- ipartsOf' :: forall i p f s t a. (Indexable [i] p, Functor f) => Over (Indexed i) (Bazaar' (Indexed i) a) s t a a -> Over p f s t [a] [a]
- itraverseOf :: (Indexed i a (f b) -> s -> f t) -> (i -> a -> f b) -> s -> f t
- iunsafePartsOf :: (Indexable [i] p, Functor f) => Traversing (Indexed i) f s t a b -> Over p f s t [a] [b]
- iunsafePartsOf' :: forall i s t a b. Over (Indexed i) (Bazaar (Indexed i) a b) s t a b -> IndexedLens [i] s t [a] [b]
- loci :: Traversal (Bazaar (->) a c s) (Bazaar (->) b c s) a b
- mapAccumLOf :: LensLike (State acc) s t a b -> (acc -> a -> (acc, b)) -> acc -> s -> (acc, t)
- mapAccumROf :: LensLike (Backwards (State acc)) s t a b -> (acc -> a -> (acc, b)) -> acc -> s -> (acc, t)
- mapMOf :: LensLike (WrappedMonad m) s t a b -> (a -> m b) -> s -> m t
- partsOf :: Functor f => Traversing (->) f s t a a -> LensLike f s t [a] [a]
- partsOf' :: ATraversal s t a a -> Lens s t [a] [a]
- scanl1Of :: LensLike (State (Maybe a)) s t a a -> (a -> a -> a) -> s -> t
- scanr1Of :: LensLike (Backwards (State (Maybe a))) s t a a -> (a -> a -> a) -> s -> t
- sequenceAOf :: LensLike f s t (f b) b -> s -> f t
- sequenceByOf :: Traversal s t (f b) b -> (forall x. x -> f x) -> (forall x y. f (x -> y) -> f x -> f y) -> s -> f t
- sequenceOf :: LensLike (WrappedMonad m) s t (m b) b -> s -> m t
- singular :: (HasCallStack, Conjoined p, Functor f) => Traversing p f s t a a -> Over p f s t a a
- taking :: (Conjoined p, Applicative f) => Int -> Traversing p f s t a a -> Over p f s t a a
- transposeOf :: LensLike ZipList s t [a] a -> s -> [t]
- traverseByOf :: Traversal s t a b -> (forall x. x -> f x) -> (forall x y. f (x -> y) -> f x -> f y) -> (a -> f b) -> s -> f t
- traverseOf :: LensLike f s t a b -> (a -> f b) -> s -> f t
- traversed :: forall (f :: Type -> Type) a b. Traversable f => IndexedTraversal Int (f a) (f b) a b
- traversed1 :: forall (f :: Type -> Type) a b. Traversable1 f => IndexedTraversal1 Int (f a) (f b) a b
- traversed64 :: forall (f :: Type -> Type) a b. Traversable f => IndexedTraversal Int64 (f a) (f b) a b
- unsafePartsOf :: Functor f => Traversing (->) f s t a b -> LensLike f s t [a] [b]
- unsafePartsOf' :: ATraversal s t a b -> Lens s t [a] [b]
- unsafeSingular :: (HasCallStack, Conjoined p, Functor f) => Traversing p f s t a b -> Over p f s t a b
- _1' :: Field1 s t a b => Lens s t a b
- _10' :: Field10 s t a b => Lens s t a b
- _11' :: Field11 s t a b => Lens s t a b
- _12' :: Field12 s t a b => Lens s t a b
- _13' :: Field13 s t a b => Lens s t a b
- _14' :: Field14 s t a b => Lens s t a b
- _15' :: Field15 s t a b => Lens s t a b
- _16' :: Field16 s t a b => Lens s t a b
- _17' :: Field17 s t a b => Lens s t a b
- _18' :: Field18 s t a b => Lens s t a b
- _19' :: Field19 s t a b => Lens s t a b
- _2' :: Field2 s t a b => Lens s t a b
- _3' :: Field3 s t a b => Lens s t a b
- _4' :: Field4 s t a b => Lens s t a b
- _5' :: Field5 s t a b => Lens s t a b
- _6' :: Field6 s t a b => Lens s t a b
- _7' :: Field7 s t a b => Lens s t a b
- _8' :: Field8 s t a b => Lens s t a b
- _9' :: Field9 s t a b => Lens s t a b
- pattern Unwrapped :: Rewrapped t t => t -> Unwrapped t
- pattern Wrapped :: Rewrapped s s => Unwrapped s -> s
- _GWrapped' :: forall s (d :: Meta) (c :: Meta) (s' :: Meta) a. (Generic s, D1 d (C1 c (S1 s' (Rec0 a))) ~ Rep s, Unwrapped s ~ GUnwrapped (Rep s)) => Iso' s (Unwrapped s)
- _Unwrapped :: Rewrapping s t => Iso (Unwrapped t) (Unwrapped s) t s
- _Unwrapped' :: Wrapped s => Iso' (Unwrapped s) s
- _Unwrapping :: Rewrapping s t => (Unwrapped s -> s) -> Iso (Unwrapped t) (Unwrapped s) t s
- _Unwrapping' :: Wrapped s => (Unwrapped s -> s) -> Iso' (Unwrapped s) s
- _Wrapped :: Rewrapping s t => Iso s t (Unwrapped s) (Unwrapped t)
- _Wrapping :: Rewrapping s t => (Unwrapped s -> s) -> Iso s t (Unwrapped s) (Unwrapped t)
- _Wrapping' :: Wrapped s => (Unwrapped s -> s) -> Iso' s (Unwrapped s)
- ala :: (Functor f, Rewrapping s t) => (Unwrapped s -> s) -> ((Unwrapped t -> t) -> f s) -> f (Unwrapped s)
- alaf :: (Functor f, Functor g, Rewrapping s t) => (Unwrapped s -> s) -> (f t -> g s) -> f (Unwrapped t) -> g (Unwrapped s)
- op :: Wrapped s => (Unwrapped s -> s) -> s -> Unwrapped s
- foldBy :: Foldable t => (a -> a -> a) -> a -> t a -> a
- foldMapBy :: Foldable t => (r -> r -> r) -> r -> (a -> r) -> t a -> r
- sequenceBy :: Traversable t => (forall x. x -> f x) -> (forall x y. f (x -> y) -> f x -> f y) -> t (f a) -> f (t a)
- traverseBy :: Traversable t => (forall x. x -> f x) -> (forall x y. f (x -> y) -> f x -> f y) -> (a -> f b) -> t a -> f (t b)
- class Ixed m => At m where
- class Contains m where
- type family Index s
- type family IxValue m
- class Ixed m where
- ix :: Index m -> Traversal' m (IxValue m)
- class Cons s t a b | s -> a, t -> b, s b -> t, t a -> s where
- class Snoc s t a b | s -> a, t -> b, s b -> t, t a -> s where
- class Each s t a b | s -> a, t -> b, s b -> t, t a -> s where
- class AsEmpty a where
- type AnEquality (s :: k) (t :: k1) (a :: k) (b :: k2) = Identical a (Proxy b) a (Proxy b) -> Identical a (Proxy b) s (Proxy t)
- type AnEquality' (s :: k) (a :: k) = AnEquality s s a a
- data Identical (a :: k) (b :: k1) (s :: k) (t :: k1) where
- type Accessing (p :: Type -> Type -> Type) m s a = p a (Const m a) -> s -> Const m s
- type Getting r s a = (a -> Const r a) -> s -> Const r s
- type IndexedGetting i m s a = Indexed i a (Const m a) -> s -> Const m s
- newtype Bazaar (p :: Type -> Type -> Type) a b t = Bazaar {
- runBazaar :: forall (f :: Type -> Type). Applicative f => p a (f b) -> f t
- type Bazaar' (p :: Type -> Type -> Type) a = Bazaar p a a
- newtype Bazaar1 (p :: Type -> Type -> Type) a b t = Bazaar1 {
- runBazaar1 :: forall (f :: Type -> Type). Apply f => p a (f b) -> f t
- type Bazaar1' (p :: Type -> Type -> Type) a = Bazaar1 p a a
- data Context a b t = Context (b -> t) a
- type Context' a = Context a a
- type ClassyNamer = Name -> Maybe (Name, Name)
- data DefName
- type FieldNamer = Name -> [Name] -> Name -> [DefName]
- data LensRules
- data Leftmost a
- data Rightmost a
- data Sequenced a (m :: Type -> Type)
- data Traversed a (f :: Type -> Type)
- class (Choice p, Corepresentable p, Comonad (Corep p), Traversable (Corep p), Strong p, Representable p, Monad (Rep p), MonadFix (Rep p), Distributive (Rep p), Costrong p, ArrowLoop p, ArrowApply p, ArrowChoice p, Closed p) => Conjoined (p :: Type -> Type -> Type) where
- class Conjoined p => Indexable i (p :: Type -> Type -> Type) where
- indexed :: p a b -> i -> a -> b
- newtype Indexed i a b = Indexed {
- runIndexed :: i -> a -> b
- class Reversing t where
- reversing :: t -> t
- data Level i a
- data Magma i t b a
- class (Profunctor p, Bifunctor p) => Reviewable (p :: Type -> Type -> Type)
- class (Applicative f, Distributive f, Traversable f) => Settable (f :: Type -> Type)
- type AnIso s t a b = Exchange a b a (Identity b) -> Exchange a b s (Identity t)
- type AnIso' s a = AnIso s s a a
- type ALens s t a b = LensLike (Pretext (->) a b) s t a b
- type ALens' s a = ALens s s a a
- type AnIndexedLens i s t a b = Optical (Indexed i) (->) (Pretext (Indexed i) a b) s t a b
- type AnIndexedLens' i s a = AnIndexedLens i s s a a
- class GPlated a (g :: k -> Type)
- class GPlated1 (f :: k -> Type) (g :: k -> Type)
- class Plated a where
- plate :: Traversal' a a
- type APrism s t a b = Market a b a (Identity b) -> Market a b s (Identity t)
- type APrism' s a = APrism s s a a
- newtype ReifiedFold s a = Fold {}
- newtype ReifiedGetter s a = Getter {}
- newtype ReifiedIndexedFold i s a = IndexedFold {
- runIndexedFold :: IndexedFold i s a
- newtype ReifiedIndexedGetter i s a = IndexedGetter {
- runIndexedGetter :: IndexedGetter i s a
- newtype ReifiedIndexedLens i s t a b = IndexedLens {
- runIndexedLens :: IndexedLens i s t a b
- type ReifiedIndexedLens' i s a = ReifiedIndexedLens i s s a a
- newtype ReifiedIndexedSetter i s t a b = IndexedSetter {
- runIndexedSetter :: IndexedSetter i s t a b
- type ReifiedIndexedSetter' i s a = ReifiedIndexedSetter i s s a a
- newtype ReifiedIndexedTraversal i s t a b = IndexedTraversal {
- runIndexedTraversal :: IndexedTraversal i s t a b
- type ReifiedIndexedTraversal' i s a = ReifiedIndexedTraversal i s s a a
- newtype ReifiedIso s t a b = Iso {}
- type ReifiedIso' s a = ReifiedIso s s a a
- newtype ReifiedLens s t a b = Lens {}
- type ReifiedLens' s a = ReifiedLens s s a a
- newtype ReifiedPrism s t a b = Prism {}
- type ReifiedPrism' s a = ReifiedPrism s s a a
- newtype ReifiedSetter s t a b = Setter {}
- type ReifiedSetter' s a = ReifiedSetter s s a a
- newtype ReifiedTraversal s t a b = Traversal {
- runTraversal :: Traversal s t a b
- type ReifiedTraversal' s a = ReifiedTraversal s s a a
- type ASetter s t a b = (a -> Identity b) -> s -> Identity t
- type ASetter' s a = ASetter s s a a
- type AnIndexedSetter i s t a b = Indexed i a (Identity b) -> s -> Identity t
- type AnIndexedSetter' i s a = AnIndexedSetter i s s a a
- type Setting (p :: Type -> Type -> Type) s t a b = p a (Identity b) -> s -> Identity t
- type Setting' (p :: Type -> Type -> Type) s a = Setting p s s a a
- type ATraversal s t a b = LensLike (Bazaar (->) a b) s t a b
- type ATraversal' s a = ATraversal s s a a
- type ATraversal1 s t a b = LensLike (Bazaar1 (->) a b) s t a b
- type ATraversal1' s a = ATraversal1 s s a a
- type AnIndexedTraversal i s t a b = Over (Indexed i) (Bazaar (Indexed i) a b) s t a b
- type AnIndexedTraversal' i s a = AnIndexedTraversal i s s a a
- type AnIndexedTraversal1 i s t a b = Over (Indexed i) (Bazaar1 (Indexed i) a b) s t a b
- type AnIndexedTraversal1' i s a = AnIndexedTraversal1 i s s a a
- class Ord k => TraverseMax k (m :: Type -> Type) | m -> k where
- traverseMax :: IndexedTraversal' k (m v) v
- class Ord k => TraverseMin k (m :: Type -> Type) | m -> k where
- traverseMin :: IndexedTraversal' k (m v) v
- type Traversing (p :: Type -> Type -> Type) (f :: Type -> Type) s t a b = Over p (BazaarT p f a b) s t a b
- type Traversing' (p :: Type -> Type -> Type) (f :: Type -> Type) s a = Traversing p f s s a a
- type Traversing1 (p :: Type -> Type -> Type) (f :: Type -> Type) s t a b = Over p (BazaarT1 p f a b) s t a b
- type Traversing1' (p :: Type -> Type -> Type) (f :: Type -> Type) s a = Traversing1 p f s s a a
- class Field1 s t a b | s -> a, t -> b, s b -> t, t a -> s where
- class Field10 s t a b | s -> a, t -> b, s b -> t, t a -> s where
- class Field11 s t a b | s -> a, t -> b, s b -> t, t a -> s where
- class Field12 s t a b | s -> a, t -> b, s b -> t, t a -> s where
- class Field13 s t a b | s -> a, t -> b, s b -> t, t a -> s where
- class Field14 s t a b | s -> a, t -> b, s b -> t, t a -> s where
- class Field15 s t a b | s -> a, t -> b, s b -> t, t a -> s where
- class Field16 s t a b | s -> a, t -> b, s b -> t, t a -> s where
- class Field17 s t a b | s -> a, t -> b, s b -> t, t a -> s where
- class Field18 s t a b | s -> a, t -> b, s b -> t, t a -> s where
- class Field19 s t a b | s -> a, t -> b, s b -> t, t a -> s where
- class Field2 s t a b | s -> a, t -> b, s b -> t, t a -> s where
- class Field3 s t a b | s -> a, t -> b, s b -> t, t a -> s where
- class Field4 s t a b | s -> a, t -> b, s b -> t, t a -> s where
- class Field5 s t a b | s -> a, t -> b, s b -> t, t a -> s where
- class Field6 s t a b | s -> a, t -> b, s b -> t, t a -> s where
- class Field7 s t a b | s -> a, t -> b, s b -> t, t a -> s where
- class Field8 s t a b | s -> a, t -> b, s b -> t, t a -> s where
- class Field9 s t a b | s -> a, t -> b, s b -> t, t a -> s where
- type AReview t b = Optic' (Tagged :: Type -> Type -> Type) Identity t b
- type As (a :: k2) = Equality' a a
- type Equality (s :: k1) (t :: k2) (a :: k1) (b :: k2) = forall k3 (p :: k1 -> k3 -> Type) (f :: k2 -> k3). p a (f b) -> p s (f t)
- type Equality' (s :: k2) (a :: k2) = Equality s s a a
- type Fold s a = forall (f :: Type -> Type). (Contravariant f, Applicative f) => (a -> f a) -> s -> f s
- type Fold1 s a = forall (f :: Type -> Type). (Contravariant f, Apply f) => (a -> f a) -> s -> f s
- type Getter s a = forall (f :: Type -> Type). (Contravariant f, Functor f) => (a -> f a) -> s -> f s
- type IndexPreservingFold s a = forall (p :: Type -> Type -> Type) (f :: Type -> Type). (Conjoined p, Contravariant f, Applicative f) => p a (f a) -> p s (f s)
- type IndexPreservingFold1 s a = forall (p :: Type -> Type -> Type) (f :: Type -> Type). (Conjoined p, Contravariant f, Apply f) => p a (f a) -> p s (f s)
- type IndexPreservingGetter s a = forall (p :: Type -> Type -> Type) (f :: Type -> Type). (Conjoined p, Contravariant f, Functor f) => p a (f a) -> p s (f s)
- type IndexPreservingLens s t a b = forall (p :: Type -> Type -> Type) (f :: Type -> Type). (Conjoined p, Functor f) => p a (f b) -> p s (f t)
- type IndexPreservingLens' s a = IndexPreservingLens s s a a
- type IndexPreservingSetter s t a b = forall (p :: Type -> Type -> Type) (f :: Type -> Type). (Conjoined p, Settable f) => p a (f b) -> p s (f t)
- type IndexPreservingSetter' s a = IndexPreservingSetter s s a a
- type IndexPreservingTraversal s t a b = forall (p :: Type -> Type -> Type) (f :: Type -> Type). (Conjoined p, Applicative f) => p a (f b) -> p s (f t)
- type IndexPreservingTraversal' s a = IndexPreservingTraversal s s a a
- type IndexPreservingTraversal1 s t a b = forall (p :: Type -> Type -> Type) (f :: Type -> Type). (Conjoined p, Apply f) => p a (f b) -> p s (f t)
- type IndexPreservingTraversal1' s a = IndexPreservingTraversal1 s s a a
- type IndexedFold i s a = forall (p :: Type -> Type -> Type) (f :: Type -> Type). (Indexable i p, Contravariant f, Applicative f) => p a (f a) -> s -> f s
- type IndexedFold1 i s a = forall (p :: Type -> Type -> Type) (f :: Type -> Type). (Indexable i p, Contravariant f, Apply f) => p a (f a) -> s -> f s
- type IndexedGetter i s a = forall (p :: Type -> Type -> Type) (f :: Type -> Type). (Indexable i p, Contravariant f, Functor f) => p a (f a) -> s -> f s
- type IndexedLens i s t a b = forall (f :: Type -> Type) (p :: Type -> Type -> Type). (Indexable i p, Functor f) => p a (f b) -> s -> f t
- type IndexedLens' i s a = IndexedLens i s s a a
- type IndexedLensLike i (f :: k -> Type) s (t :: k) a (b :: k) = forall (p :: Type -> Type -> Type). Indexable i p => p a (f b) -> s -> f t
- type IndexedLensLike' i (f :: Type -> Type) s a = IndexedLensLike i f s s a a
- type IndexedSetter i s t a b = forall (f :: Type -> Type) (p :: Type -> Type -> Type). (Indexable i p, Settable f) => p a (f b) -> s -> f t
- type IndexedSetter' i s a = IndexedSetter i s s a a
- type IndexedTraversal i s t a b = forall (p :: Type -> Type -> Type) (f :: Type -> Type). (Indexable i p, Applicative f) => p a (f b) -> s -> f t
- type IndexedTraversal' i s a = IndexedTraversal i s s a a
- type IndexedTraversal1 i s t a b = forall (p :: Type -> Type -> Type) (f :: Type -> Type). (Indexable i p, Apply f) => p a (f b) -> s -> f t
- type IndexedTraversal1' i s a = IndexedTraversal1 i s s a a
- type Iso s t a b = forall (p :: Type -> Type -> Type) (f :: Type -> Type). (Profunctor p, Functor f) => p a (f b) -> p s (f t)
- type Iso' s a = Iso s s a a
- type Lens s t a b = forall (f :: Type -> Type). Functor f => (a -> f b) -> s -> f t
- type Lens' s a = Lens s s a a
- type LensLike (f :: k -> Type) s (t :: k) a (b :: k) = (a -> f b) -> s -> f t
- type LensLike' (f :: Type -> Type) s a = LensLike f s s a a
- type Optic (p :: k -> k1 -> Type) (f :: k2 -> k1) (s :: k) (t :: k2) (a :: k) (b :: k2) = p a (f b) -> p s (f t)
- type Optic' (p :: k -> k1 -> Type) (f :: k -> k1) (s :: k) (a :: k) = Optic p f s s a a
- type Optical (p :: k -> k1 -> Type) (q :: k2 -> k1 -> Type) (f :: k3 -> k1) (s :: k2) (t :: k3) (a :: k) (b :: k3) = p a (f b) -> q s (f t)
- type Optical' (p :: k -> k1 -> Type) (q :: k -> k1 -> Type) (f :: k -> k1) (s :: k) (a :: k) = Optical p q f s s a a
- type Over (p :: k -> Type -> Type) (f :: k1 -> Type) s (t :: k1) (a :: k) (b :: k1) = p a (f b) -> s -> f t
- type Over' (p :: Type -> Type -> Type) (f :: Type -> Type) s a = Over p f s s a a
- type Prism s t a b = forall (p :: Type -> Type -> Type) (f :: Type -> Type). (Choice p, Applicative f) => p a (f b) -> p s (f t)
- type Prism' s a = Prism s s a a
- type Review t b = forall (p :: Type -> Type -> Type) (f :: Type -> Type). (Choice p, Bifunctor p, Settable f) => Optic' p f t b
- type Setter s t a b = forall (f :: Type -> Type). Settable f => (a -> f b) -> s -> f t
- type Setter' s a = Setter s s a a
- type Simple (f :: k1 -> k1 -> k2 -> k2 -> k) (s :: k1) (a :: k2) = f s s a a
- type Traversal s t a b = forall (f :: Type -> Type). Applicative f => (a -> f b) -> s -> f t
- type Traversal' s a = Traversal s s a a
- type Traversal1 s t a b = forall (f :: Type -> Type). Apply f => (a -> f b) -> s -> f t
- type Traversal1' s a = Traversal1 s s a a
- class Wrapped s => Rewrapped s t
- class (Rewrapped s t, Rewrapped t s) => Rewrapping s t
- type family Unwrapped s
- class Wrapped s where
- type family Magnified (m :: Type -> Type) :: Type -> Type -> Type
- class (Magnified m ~ Magnified n, MonadReader b m, MonadReader a n) => Magnify (m :: Type -> Type) (n :: Type -> Type) b a | m -> b, n -> a, m a -> n, n b -> m where
- class (MonadState s m, MonadState t n) => Zoom (m :: Type -> Type) (n :: Type -> Type) s t | m -> s, n -> t, m t -> n, n s -> m where
- type family Zoomed (m :: Type -> Type) :: Type -> Type -> Type
- class Profunctor p => Choice (p :: Type -> Type -> Type) where
- data NESet a
- class R1 (t :: Type -> Type) where
- newtype V1 a = V1 a
- class R1 t => R2 (t :: Type -> Type) where
- data V2 a = V2 !a !a
- class R2 t => R3 (t :: Type -> Type) where
- data V3 a = V3 !a !a !a
- class R3 t => R4 (t :: Type -> Type) where
- data V4 a = V4 !a !a !a !a
- data NEMap k a
- newtype ScanPoint = SP {}
- data D8 = D8 {}
- data Dir
- type FinPoint n = V2 (Finite n)
- type Point = V2 Int
- boundingBox :: (Foldable1 f, Applicative g, Ord a) => f (g a) -> V2 (g a)
- boundingBox' :: (Foldable f, Applicative g, Ord a) => f (g a) -> Maybe (V2 (g a))
- minCorner :: (Foldable1 f, Applicative g, Ord a) => f (g a) -> g a
- minCorner' :: (Foldable f, Applicative g, Ord a) => f (g a) -> Maybe (g a)
- shiftToZero :: (Applicative f, Num a, Ord a) => NESet (f a) -> NESet (f a)
- shiftToZero' :: (Applicative f, Num a, Ord a) => Set (f a) -> Set (f a)
- inBoundingBox :: (Applicative g, Foldable g, Ord a) => V2 (g a) -> g a -> Bool
- cardinalNeighbs :: Point -> [Point]
- cardinalNeighbsSet :: Point -> Set Point
- fullNeighbs :: (Applicative f, Num a, Traversable f) => f a -> [f a]
- fullNeighbsSet :: (Applicative f, Num a, Ord (f a), Traversable f) => f a -> Set (f a)
- memoPoint :: Memo Point
- mannDist :: (Foldable f, Num a, Num (f a)) => f a -> f a -> a
- mulPoint :: Num a => V2 a -> V2 a -> V2 a
- dirPoint :: Num a => Dir -> V2 a
- dirPoint' :: Num a => Dir -> V2 a
- rotPoint :: Num a => Dir -> V2 a -> V2 a
- rotFin :: KnownNat n => Dir -> FinPoint n -> FinPoint n
- centeredFinite :: forall n. KnownNat n => Iso' (Finite n) Rational
- parseDir :: Char -> Maybe Dir
- mulDir :: Dir -> Dir -> Dir
- allDir :: NonEmpty Dir
- allDirSet :: NESet Dir
- mulD8 :: D8 -> D8 -> D8
- allD8 :: NonEmpty D8
- allD8Set :: NESet D8
- orientPoint :: Num a => D8 -> V2 a -> V2 a
- orientFin :: KnownNat n => D8 -> FinPoint n -> FinPoint n
- parseAsciiMap :: (Char -> Maybe a) -> String -> Map Point a
- parseAsciiSet :: (Char -> Bool) -> String -> Set Point
- asciiGrid :: IndexedTraversal Point String [a] Char a
- displayAsciiMap :: Char -> Map Point Char -> String
- displayAsciiSet :: Char -> Char -> Set Point -> String
- lineTo :: Point -> Point -> [Point]
- strip :: String -> String
- stripNewline :: String -> String
- eitherToMaybe :: Alternative m => Either e a -> m a
- maybeToEither :: MonadError e m => e -> Maybe a -> m a
- firstJust :: Foldable t => (a -> Maybe b) -> t a -> Maybe b
- maybeAlt :: Alternative m => Maybe a -> m a
- traceShowIdMsg :: Show a => String -> a -> a
- traceShowMsg :: Show a => String -> a -> b -> b
- chop :: ([a] -> (b, [a])) -> [a] -> [b]
- chunk :: Int -> [e] -> [[e]]
- chunksOf :: Int -> [e] -> [[e]]
- condense :: Splitter a -> Splitter a
- defaultSplitter :: Splitter a
- divvy :: Int -> Int -> [a] -> [[a]]
- dropBlanks :: Splitter a -> Splitter a
- dropDelims :: Splitter a -> Splitter a
- dropFinalBlank :: Splitter a -> Splitter a
- dropInitBlank :: Splitter a -> Splitter a
- dropInnerBlanks :: Splitter a -> Splitter a
- endBy :: Eq a => [a] -> [a] -> [[a]]
- endByOneOf :: Eq a => [a] -> [a] -> [[a]]
- endsWith :: Eq a => [a] -> Splitter a
- endsWithOneOf :: Eq a => [a] -> Splitter a
- keepDelimsL :: Splitter a -> Splitter a
- keepDelimsR :: Splitter a -> Splitter a
- linesBy :: (a -> Bool) -> [a] -> [[a]]
- onSublist :: Eq a => [a] -> Splitter a
- sepByOneOf :: Eq a => [a] -> [a] -> [[a]]
- split :: Splitter a -> [a] -> [[a]]
- splitEvery :: Int -> [e] -> [[e]]
- splitOn :: Eq a => [a] -> [a] -> [[a]]
- splitOneOf :: Eq a => [a] -> [a] -> [[a]]
- splitPlaces :: Integral a => [a] -> [e] -> [[e]]
- splitPlacesBlanks :: Integral a => [a] -> [e] -> [[e]]
- splitWhen :: (a -> Bool) -> [a] -> [[a]]
- startsWith :: Eq a => [a] -> Splitter a
- startsWithOneOf :: Eq a => [a] -> Splitter a
- unintercalate :: Eq a => [a] -> [a] -> [[a]]
- whenElt :: (a -> Bool) -> Splitter a
- wordsBy :: (a -> Bool) -> [a] -> [[a]]
- data Splitter a
- between :: Applicative m => m open -> m close -> m a -> m a
- choice :: (Foldable f, Alternative m) => f (m a) -> m a
- eitherP :: Alternative m => m a -> m b -> m (Either a b)
- count :: Monad m => Int -> m a -> m [a]
- count' :: MonadPlus m => Int -> Int -> m a -> m [a]
- endBy1 :: MonadPlus m => m a -> m sep -> m [a]
- manyTill :: MonadPlus m => m a -> m end -> m [a]
- manyTill_ :: MonadPlus m => m a -> m end -> m ([a], end)
- sepBy :: MonadPlus m => m a -> m sep -> m [a]
- sepBy1 :: MonadPlus m => m a -> m sep -> m [a]
- sepEndBy :: MonadPlus m => m a -> m sep -> m [a]
- sepEndBy1 :: MonadPlus m => m a -> m sep -> m [a]
- skipCount :: Monad m => Int -> m a -> m ()
- skipMany :: MonadPlus m => m a -> m ()
- skipManyTill :: MonadPlus m => m a -> m end -> m end
- skipSome :: MonadPlus m => m a -> m ()
- skipSomeTill :: MonadPlus m => m a -> m end -> m end
- someTill :: MonadPlus m => m a -> m end -> m [a]
- someTill_ :: MonadPlus m => m a -> m end -> m ([a], end)
- anySingle :: MonadParsec e s m => m (Token s)
- anySingleBut :: MonadParsec e s m => Token s -> m (Token s)
- noneOf :: (Foldable f, MonadParsec e s m) => f (Token s) -> m (Token s)
- oneOf :: (Foldable f, MonadParsec e s m) => f (Token s) -> m (Token s)
- satisfy :: MonadParsec e s m => (Token s -> Bool) -> m (Token s)
- type Parsec e s = ParsecT e s Identity
- try :: MonadParsec e s m => m a -> m a
- eof :: MonadParsec e s m => m ()
- asciiChar :: (MonadParsec e s m, Token s ~ Char) => m (Token s)
- binDigitChar :: (MonadParsec e s m, Token s ~ Char) => m (Token s)
- char :: (MonadParsec e s m, Token s ~ Char) => Token s -> m (Token s)
- digitChar :: (MonadParsec e s m, Token s ~ Char) => m (Token s)
- hexDigitChar :: (MonadParsec e s m, Token s ~ Char) => m (Token s)
- newline :: (MonadParsec e s m, Token s ~ Char) => m (Token s)
- octDigitChar :: (MonadParsec e s m, Token s ~ Char) => m (Token s)
- space :: (MonadParsec e s m, Token s ~ Char) => m ()
- space1 :: (MonadParsec e s m, Token s ~ Char) => m ()
- string :: MonadParsec e s m => Tokens s -> m (Tokens s)
- string' :: (MonadParsec e s m, FoldCase (Tokens s)) => Tokens s -> m (Tokens s)
- binary :: (MonadParsec e s m, Token s ~ Char, Num a) => m a
- decimal :: (MonadParsec e s m, Token s ~ Char, Num a) => m a
- float :: (MonadParsec e s m, Token s ~ Char, RealFloat a) => m a
- hexadecimal :: (MonadParsec e s m, Token s ~ Char, Num a) => m a
- octal :: (MonadParsec e s m, Token s ~ Char, Num a) => m a
- scientific :: (MonadParsec e s m, Token s ~ Char) => m Scientific
- signed :: (MonadParsec e s m, Token s ~ Char, Num a) => m () -> m a -> m a
- type TokParser s = Parsec Void (TokStream s)
- type CharParser = Parsec Void String
- newtype TokStream a = TokStream {
- getTokStream :: [a]
- type Graph v e = Map v (Map v e)
- type Letter = Finite 26
- trace' :: String -> a -> a
- (!!!) :: [a] -> Int -> a
- strictIterate :: (a -> a) -> a -> [a]
- drop' :: Int -> [a] -> [a]
- iterateMaybe :: (a -> Maybe a) -> a -> [a]
- (!?) :: [a] -> Int -> Maybe a
- loopMaybe :: (a -> Maybe a) -> a -> a
- loopEither :: (a -> Either r a) -> a -> r
- loopMaybeM :: Monad m => (a -> m (Maybe a)) -> a -> m a
- dup :: a -> (a, a)
- scanlT :: Traversable t => (b -> a -> b) -> b -> t a -> t b
- scanrT :: Traversable t => (a -> b -> b) -> b -> t a -> t b
- firstRepeated :: Ord a => [a] -> Maybe a
- firstRepeatedBy :: Ord a => (b -> a) -> [b] -> Maybe b
- fixedPoint :: Eq a => (a -> a) -> a -> a
- countTrue :: Foldable f => (a -> Bool) -> f a -> Int
- pickUnique :: (Ord k, Ord a) => [(k, Set a)] -> [Map k a]
- freqs :: (Foldable f, Ord a) => f a -> Map a Int
- select :: [a] -> [(a, [a])]
- lookupFreq :: Ord a => a -> Map a Int -> Int
- revFreq :: (Foldable f, Ord a) => f a -> IntMap (NESet a)
- freqList :: (Foldable f, Ord a) => f a -> [(Int, a)]
- eitherItem :: Lens' (Either a a) a
- splitWord :: Word8 -> (Finite 16, Finite 16)
- decimalDigit :: Prism' Char (Finite 10)
- hexDigit :: Prism' Char (Finite 16)
- charFinite :: Char -> Maybe (Bool, Finite 26)
- digitToIntSafe :: Char -> Maybe Int
- _CharFinite :: Prism' Char (Bool, Finite 26)
- caeser :: Finite 26 -> Char -> Char
- perturbations :: Traversable f => (a -> [a]) -> f a -> [f a]
- perturbationsBy :: Conjoined p => Over p (Bazaar p a a) s t a a -> (a -> [a]) -> s -> [t]
- clearOut :: (Char -> Bool) -> String -> String
- slidingWindows :: Int -> [a] -> [Seq a]
- sortedSlidingWindows :: forall k v. Ord k => Int -> [(k, v)] -> [OrdPSQ k Int v]
- sortedSlidingWindowsInt :: forall v. Int -> [(Int, v)] -> [IntPSQ Int v]
- maximumVal :: Ord b => Map a b -> Maybe (a, b)
- maximumValBy :: (b -> b -> Ordering) -> Map a b -> Maybe (a, b)
- minimumValBy :: (b -> b -> Ordering) -> Map a b -> Maybe (a, b)
- minimumVal :: Ord b => Map a b -> Maybe (a, b)
- maximumValByNE :: (b -> b -> Ordering) -> NEMap a b -> (a, b)
- maximumValNE :: Ord b => NEMap a b -> (a, b)
- minimumValByNE :: (b -> b -> Ordering) -> NEMap a b -> (a, b)
- minimumValNE :: Ord b => NEMap a b -> (a, b)
- foldMapParChunk :: forall a m. (NFData m, Monoid m) => Int -> (a -> m) -> [a] -> m
- binaryFold :: Monoid m => Int -> (a -> m) -> [a] -> m
- binaryFoldPar :: Monoid m => Int -> (a -> m) -> [a] -> m
- listTup :: [a] -> Maybe (a, a)
- _ListTup :: Prism' [a] (a, a)
- listTup3 :: [a] -> Maybe (a, a, a)
- _ListTup3 :: Prism' [a] (a, a, a)
- listTup4 :: [a] -> Maybe (a, a, a, a)
- _ListTup4 :: Prism' [a] (a, a, a, a)
- deleteFinite :: KnownNat n => Finite (n + 1) -> Finite (n + 1) -> Maybe (Finite n)
- foldMapPar :: Monoid b => (a -> b) -> [a] -> b
- foldMapPar1 :: Semigroup b => (a -> b) -> NonEmpty a -> b
- meanVar :: Fractional a => Fold a (a, a)
- floodFill :: Ord a => (a -> Set a) -> Set a -> Set a
- floodFillCount :: Ord a => (a -> Set a) -> Set a -> (Int, Set a)
- toFGL :: (Graph gr, Ord v) => Graph v e -> (gr v e, Set v)
- sortSizedBy :: Vector v a => (a -> a -> Ordering) -> Vector v n a -> Vector v n a
- withAllSized :: Vector v a => NonEmpty [a] -> (forall n. KnownNat n => NonEmpty (Vector v n a) -> Maybe r) -> Maybe r
- parseTokStream :: Foldable t => Parsec e (TokStream s) a -> t s -> Either (ParseErrorBundle (TokStream s) e) a
- parseTokStream_ :: (Alternative m, Foldable t) => Parsec e (TokStream s) a -> t s -> m a
- parseTokStreamT :: (Foldable t, Monad m) => ParsecT e (TokStream s) m a -> t s -> m (Either (ParseErrorBundle (TokStream s) e) a)
- parseTokStreamT_ :: (Alternative f, Foldable t, Monad m) => ParsecT e (TokStream s) m a -> t s -> m (f a)
- pWord :: (Stream s, Token s ~ Char, Ord e) => Parsec e s String
- pHWord :: (Stream s, Token s ~ Char, Ord e) => Parsec e s String
- pDecimal :: (Stream s, Token s ~ Char, Ord e, Num a) => Parsec e s a
- pTok :: (Stream s, Token s ~ Char, Ord e) => Parsec e s a -> Parsec e s a
- pSpace :: (Stream s, Token s ~ Char, Ord e) => Parsec e s ()
- parseMaybeLenient :: Parsec Void s a -> s -> Maybe a
- parseOrFail :: (ShowErrorComponent e, VisualStream s, TraversableStream s) => Parsec e s a -> s -> a
- parseLines :: Parsec Void String a -> String -> Maybe [a]
- parseWords :: Parsec Void (TokStream String) a -> String -> Maybe a
- nextMatch :: MonadParsec e s m => m a -> m a
- toNatural :: Integral a => a -> Maybe Natural
- factorial :: Int -> Int
- integerFactorial :: Integer -> Integer
- mapMaybeSet :: Ord b => (a -> Maybe b) -> Set a -> Set b
- symDiff :: Ord a => Set a -> Set a -> Set a
- memo4 :: Memo a -> Memo b -> Memo c -> Memo d -> (a -> b -> c -> d -> r) -> a -> b -> c -> d -> r
- anaM :: (Monad m, Corecursive t, Traversable (Base t)) => (a -> m (Base t a)) -> a -> m t
- unfoldedIterate :: forall n a proxy. SNatI n => proxy n -> (a -> a) -> a -> a
- data SolutionError
- data SomeSolution where
- MkSomeSolWH :: (a :~> b) -> SomeSolution
- MkSomeSolNF :: (NFData a, NFData b) => (a :~> b) -> SomeSolution
- pattern MkSomeSol :: forall a b. (a :~> b) -> SomeSolution
- data a :~> b = MkSol {}
- ssIsNF :: SomeSolution -> Bool
- withSolver' :: (String -> String) -> String :~> String
- withSolver :: (String -> Maybe String) -> String :~> String
- runSolution :: (a :~> b) -> String -> Either SolutionError String
- runSolutionWith :: Map String Dynamic -> (a :~> b) -> String -> Either SolutionError String
- runSomeSolution :: SomeSolution -> String -> Either SolutionError String
- runSomeSolutionWith :: Map String Dynamic -> SomeSolution -> String -> Either SolutionError String
- dyno :: forall a. (Typeable a, ?dyno :: DynoMap) => String -> Maybe a
- dyno_ :: forall a. (Typeable a, ?dyno :: DynoMap) => String -> a -> a
- data NEIntMap a
- data NEIntSet
Documentation
(++) :: [a] -> [a] -> [a] infixr 5 #
Append two lists, i.e.,
[x1, ..., xm] ++ [y1, ..., yn] == [x1, ..., xm, y1, ..., yn] [x1, ..., xm] ++ [y1, ...] == [x1, ..., xm, y1, ...]
If the first list is not finite, the result is the first list.
filter :: (a -> Bool) -> [a] -> [a] #
\(\mathcal{O}(n)\). filter
, applied to a predicate and a list, returns
the list of those elements that satisfy the predicate; i.e.,
filter p xs = [ x | x <- xs, p x]
>>>
filter odd [1, 2, 3]
[1,3]
zip :: [a] -> [b] -> [(a, b)] #
\(\mathcal{O}(\min(m,n))\). zip
takes two lists and returns a list of
corresponding pairs.
>>>
zip [1, 2] ['a', 'b']
[(1, 'a'), (2, 'b')]
If one input list is shorter than the other, excess elements of the longer list are discarded, even if one of the lists is infinite:
>>>
zip [1] ['a', 'b']
[(1, 'a')]>>>
zip [1, 2] ['a']
[(1, 'a')]>>>
zip [] [1..]
[]>>>
zip [1..] []
[]
zip
is right-lazy:
>>>
zip [] _|_
[]>>>
zip _|_ []
_|_
zip
is capable of list fusion, but it is restricted to its
first list argument and its resulting list.
The trace
function outputs the trace message given as its first argument,
before returning the second argument as its result.
For example, this returns the value of f x
but first outputs the message.
>>>
let x = 123; f = show
>>>
trace ("calling f with x = " ++ show x) (f x)
"calling f with x = 123 123"
The trace
function should only be used for debugging, or for monitoring
execution. The function is not referentially transparent: its type indicates
that it is a pure function but it has the side effect of outputting the
trace message.
map :: (a -> b) -> [a] -> [b] #
\(\mathcal{O}(n)\). map
f xs
is the list obtained by applying f
to
each element of xs
, i.e.,
map f [x1, x2, ..., xn] == [f x1, f x2, ..., f xn] map f [x1, x2, ...] == [f x1, f x2, ...]
>>>
map (+1) [1, 2, 3]
[2,3,4]
($) :: forall (r :: RuntimeRep) a (b :: TYPE r). (a -> b) -> a -> b infixr 0 #
Application operator. This operator is redundant, since ordinary
application (f x)
means the same as (f
. However, $
x)$
has
low, right-associative binding precedence, so it sometimes allows
parentheses to be omitted; for example:
f $ g $ h x = f (g (h x))
It is also useful in higher-order situations, such as
,
or map
($
0) xs
.zipWith
($
) fs xs
Note that (
is levity-polymorphic in its result type, so that
$
)foo
where $
Truefoo :: Bool -> Int#
is well-typed.
coerce :: forall {k :: RuntimeRep} (a :: TYPE k) (b :: TYPE k). Coercible a b => a -> b #
The function coerce
allows you to safely convert between values of
types that have the same representation with no run-time overhead. In the
simplest case you can use it instead of a newtype constructor, to go from
the newtype's concrete type to the abstract type. But it also works in
more complicated settings, e.g. converting a list of newtypes to a list of
concrete types.
This function is runtime-representation polymorphic, but the
RuntimeRep
type argument is marked as Inferred
, meaning
that it is not available for visible type application. This means
the typechecker will accept coerce @Int @Age 42
.
guard :: Alternative f => Bool -> f () #
Conditional failure of Alternative
computations. Defined by
guard True =pure
() guard False =empty
Examples
Common uses of guard
include conditionally signaling an error in
an error monad and conditionally rejecting the current choice in an
Alternative
-based parser.
As an example of signaling an error in the error monad Maybe
,
consider a safe division function safeDiv x y
that returns
Nothing
when the denominator y
is zero and
otherwise. For example:Just
(x `div`
y)
>>> safeDiv 4 0 Nothing >>> safeDiv 4 2 Just 2
A definition of safeDiv
using guards, but not guard
:
safeDiv :: Int -> Int -> Maybe Int safeDiv x y | y /= 0 = Just (x `div` y) | otherwise = Nothing
A definition of safeDiv
using guard
and Monad
do
-notation:
safeDiv :: Int -> Int -> Maybe Int safeDiv x y = do guard (y /= 0) return (x `div` y)
unsafeEqualityProof :: forall {k} (a :: k) (b :: k). UnsafeEquality a b #
unsafeCoerce# :: forall (q :: RuntimeRep) (r :: RuntimeRep) (a :: TYPE q) (b :: TYPE r). a -> b #
Highly, terribly dangerous coercion from one representation type to another. Misuse of this function can invite the garbage collector to trounce upon your data and then laugh in your face. You don't want this function. Really.
join :: Monad m => m (m a) -> m a #
The join
function is the conventional monad join operator. It
is used to remove one level of monadic structure, projecting its
bound argument into the outer level.
'
' can be understood as the join
bssdo
expression
do bs <- bss bs
Examples
A common use of join
is to run an IO
computation returned from
an STM
transaction, since STM
transactions
can't perform IO
directly. Recall that
atomically
:: STM a -> IO a
is used to run STM
transactions atomically. So, by
specializing the types of atomically
and join
to
atomically
:: STM (IO b) -> IO (IO b)join
:: IO (IO b) -> IO b
we can compose them as
join
.atomically
:: STM (IO b) -> IO b
class Applicative m => Monad (m :: Type -> Type) where #
The Monad
class defines the basic operations over a monad,
a concept from a branch of mathematics known as category theory.
From the perspective of a Haskell programmer, however, it is best to
think of a monad as an abstract datatype of actions.
Haskell's do
expressions provide a convenient syntax for writing
monadic expressions.
Instances of Monad
should satisfy the following:
- Left identity
return
a>>=
k = k a- Right identity
m
>>=
return
= m- Associativity
m
>>=
(\x -> k x>>=
h) = (m>>=
k)>>=
h
Furthermore, the Monad
and Applicative
operations should relate as follows:
The above laws imply:
and that pure
and (<*>
) satisfy the applicative functor laws.
The instances of Monad
for lists, Maybe
and IO
defined in the Prelude satisfy these laws.
Minimal complete definition
Methods
(>>=) :: m a -> (a -> m b) -> m b infixl 1 #
Sequentially compose two actions, passing any value produced by the first as an argument to the second.
'as
' can be understood as the >>=
bsdo
expression
do a <- as bs a
(>>) :: m a -> m b -> m b infixl 1 #
Sequentially compose two actions, discarding any value produced by the first, like sequencing operators (such as the semicolon) in imperative languages.
'as
' can be understood as the >>
bsdo
expression
do as bs
Inject a value into the monadic type.
Instances
Monad [] | Since: base-2.1 |
Monad Maybe | Since: base-2.1 |
Monad IO | Since: base-2.1 |
Monad Par1 | Since: base-4.9.0.0 |
Monad Q | |
Monad Solo | Since: base-4.15 |
Monad First | Since: base-4.9.0.0 |
Monad Last | Since: base-4.9.0.0 |
Monad NonEmpty | Since: base-4.9.0.0 |
Monad Identity | Since: base-4.8.0.0 |
Monad Complex | Since: base-4.9.0.0 |
Monad Min | Since: base-4.9.0.0 |
Monad Max | Since: base-4.9.0.0 |
Monad Option | Since: base-4.9.0.0 |
Monad STM | Since: base-4.3.0.0 |
Monad First | Since: base-4.8.0.0 |
Monad Last | Since: base-4.8.0.0 |
Monad Dual | Since: base-4.8.0.0 |
Monad Sum | Since: base-4.8.0.0 |
Monad Product | Since: base-4.8.0.0 |
Monad Down | Since: base-4.11.0.0 |
Monad ReadPrec | Since: base-2.1 |
Monad ReadP | Since: base-2.1 |
Monad Put | |
Monad Tree | |
Monad Seq | |
Monad P | Since: base-2.1 |
Monad Vector | |
Monad Box | |
Monad Id | |
Monad Array | |
Monad SmallArray | |
Monad T1 | |
Monad Quaternion | |
Monad V0 | |
Monad V1 | |
Monad V2 | |
Monad V3 | |
Monad V4 | |
Monad Plucker | |
Monad IResult | |
Monad Parser | |
Monad Result | |
Monad DNonEmpty | |
Monad DList | |
Monad Eval | |
Monad ClientM | |
Monad ParseResult | |
Monad P | |
Monad CryptoFailable | |
Monad I | |
Monad Stream | |
Monad NESeq | |
Monad Join | |
Monad Meet | |
Monad PandocPure | |
Monad Parser | |
Monad Root | |
Monad EP | |
Monad (Either e) | Since: base-4.4.0.0 |
Monad (U1 :: Type -> Type) | Since: base-4.9.0.0 |
Monoid a => Monad ((,) a) | Since: base-4.9.0.0 |
Monad (ST s) | Since: base-2.1 |
Monad (Proxy :: Type -> Type) | Since: base-4.7.0.0 |
Monad (ST s) | Since: base-2.1 |
Monad m => Monad (WrappedMonad m) | Since: base-4.7.0.0 |
Defined in Control.Applicative Methods (>>=) :: WrappedMonad m a -> (a -> WrappedMonad m b) -> WrappedMonad m b # (>>) :: WrappedMonad m a -> WrappedMonad m b -> WrappedMonad m b # return :: a -> WrappedMonad m a # | |
ArrowApply a => Monad (ArrowMonad a) | Since: base-2.1 |
Defined in Control.Arrow Methods (>>=) :: ArrowMonad a a0 -> (a0 -> ArrowMonad a b) -> ArrowMonad a b # (>>) :: ArrowMonad a a0 -> ArrowMonad a b -> ArrowMonad a b # return :: a0 -> ArrowMonad a a0 # | |
Monad m => Monad (MaybeT m) | |
Monad m => Monad (ListT m) | |
Representable f => Monad (Co f) | |
Alternative f => Monad (Cofree f) | |
Monad (ReifiedFold s) | |
Defined in Control.Lens.Reified Methods (>>=) :: ReifiedFold s a -> (a -> ReifiedFold s b) -> ReifiedFold s b # (>>) :: ReifiedFold s a -> ReifiedFold s b -> ReifiedFold s b # return :: a -> ReifiedFold s a # | |
Monad (ReifiedGetter s) | |
Defined in Control.Lens.Reified Methods (>>=) :: ReifiedGetter s a -> (a -> ReifiedGetter s b) -> ReifiedGetter s b # (>>) :: ReifiedGetter s a -> ReifiedGetter s b -> ReifiedGetter s b # return :: a -> ReifiedGetter s a # | |
Semigroup a => Monad (These a) | |
Monoid a => Monad (T2 a) | |
Monad (Covector r) | |
Monad (Parser i) | |
Functor f => Monad (Free f) | |
Monad m => Monad (Yoneda m) | |
Semigroup a => Monad (These a) | |
Monad m => Monad (ResourceT m) | |
Monad (F f) | |
Monad (SetM s) | |
Monad (Lex r) | |
Semigroup a => Monad (These a) | |
SNatI n => Monad (Vec n) | |
Monad (Vec n) | |
Monad (LuaE e) | |
Monad f => Monad (WrappedPoly f) | |
Monad m => Monad (InputT m) | |
Monad (DocM s) | |
Monad f => Monad (Rec1 f) | Since: base-4.9.0.0 |
(Monoid a, Monoid b) => Monad ((,,) a b) | Since: base-4.14.0.0 |
Monad m => Monad (Kleisli m a) | Since: base-4.14.0.0 |
Monad f => Monad (Ap f) | Since: base-4.12.0.0 |
Monad f => Monad (Alt f) | Since: base-4.8.0.0 |
(Applicative f, Monad f) => Monad (WhenMissing f x) | Equivalent to Since: containers-0.5.9 |
Defined in Data.IntMap.Internal Methods (>>=) :: WhenMissing f x a -> (a -> WhenMissing f x b) -> WhenMissing f x b # (>>) :: WhenMissing f x a -> WhenMissing f x b -> WhenMissing f x b # return :: a -> WhenMissing f x a # | |
Monad m => Monad (ExceptT e m) | |
Monad m => Monad (IdentityT m) | |
(Monad m, Error e) => Monad (ErrorT e m) | |
Monad m => Monad (ReaderT r m) | |
Monad m => Monad (StateT s m) | |
Monad m => Monad (StateT s m) | |
(Monoid w, Monad m) => Monad (WriterT w m) | |
(Monoid w, Monad m) => Monad (WriterT w m) | |
(Monoid w, Functor m, Monad m) => Monad (AccumT w m) | |
Monad m => Monad (WriterT w m) | |
Monad m => Monad (SelectT r m) | |
(Functor f, Monad m) => Monad (FreeT f m) | |
Monad (FT f m) | |
Monad (Tagged s) | |
Monad (Indexed i a) | |
(Monoid a, Monoid b) => Monad (T3 a b) | |
(Alternative f, Monad w) => Monad (CofreeT f w) | |
(Monad (Rep p), Representable p) => Monad (Prep p) | |
Dim n => Monad (V n) | |
Monad m => Monad (PT n m) | |
(Monad f, Monad g) => Monad (f :*: g) | Since: base-4.9.0.0 |
Monad ((->) r) | Since: base-2.1 |
(Monoid a, Monoid b, Monoid c) => Monad ((,,,) a b c) | Since: base-4.14.0.0 |
(Monad f, Monad g) => Monad (Product f g) | Since: base-4.9.0.0 |
(Monad f, Applicative f) => Monad (WhenMatched f x y) | Equivalent to Since: containers-0.5.9 |
Defined in Data.IntMap.Internal Methods (>>=) :: WhenMatched f x y a -> (a -> WhenMatched f x y b) -> WhenMatched f x y b # (>>) :: WhenMatched f x y a -> WhenMatched f x y b -> WhenMatched f x y b # return :: a -> WhenMatched f x y a # | |
(Applicative f, Monad f) => Monad (WhenMissing f k x) | Equivalent to Since: containers-0.5.9 |
Defined in Data.Map.Internal Methods (>>=) :: WhenMissing f k x a -> (a -> WhenMissing f k x b) -> WhenMissing f k x b # (>>) :: WhenMissing f k x a -> WhenMissing f k x b -> WhenMissing f k x b # return :: a -> WhenMissing f k x a # | |
Monad (ContT r m) | |
(Monoid a, Monoid b, Monoid c) => Monad (T4 a b c) | |
Monad (Cokleisli w a) | |
Monad (Costar f a) | |
Monad f => Monad (Star f a) | |
Monad (ConduitT i o m) | |
Stream s => Monad (ParsecT e s m) | |
Monad f => Monad (M1 i c f) | Since: base-4.9.0.0 |
(Monad f, Applicative f) => Monad (WhenMatched f k x y) | Equivalent to Since: containers-0.5.9 |
Defined in Data.Map.Internal Methods (>>=) :: WhenMatched f k x y a -> (a -> WhenMatched f k x y b) -> WhenMatched f k x y b # (>>) :: WhenMatched f k x y a -> WhenMatched f k x y b -> WhenMatched f k x y b # return :: a -> WhenMatched f k x y a # | |
(Monoid w, Monad m) => Monad (RWST r w s m) | |
(Monoid w, Monad m) => Monad (RWST r w s m) | |
Monad m => Monad (RWST r w s m) | |
Monad (Pipe i o u m) | |
(Monoid a, Monoid b, Monoid c, Monoid d) => Monad (T5 a b c d) | |
(Monoid a, Monoid b, Monoid c, Monoid d, Monoid e) => Monad (T6 a b c d e) | |
Monad m => Monad (Pipe l i o u m) | |
Monad state => Monad (Builder collection mutCollection step state err) | |
Defined in Basement.MutableBuilder Methods (>>=) :: Builder collection mutCollection step state err a -> (a -> Builder collection mutCollection step state err b) -> Builder collection mutCollection step state err b # (>>) :: Builder collection mutCollection step state err a -> Builder collection mutCollection step state err b -> Builder collection mutCollection step state err b # return :: a -> Builder collection mutCollection step state err a # | |
(Monoid a, Monoid b, Monoid c, Monoid d, Monoid e, Monoid f) => Monad (T7 a b c d e f) | |
(Monoid a, Monoid b, Monoid c, Monoid d, Monoid e, Monoid f, Monoid g) => Monad (T8 a b c d e f g) | |
(Monoid a, Monoid b, Monoid c, Monoid d, Monoid e, Monoid f, Monoid g, Monoid h) => Monad (T9 a b c d e f g h) | |
(Monoid a, Monoid b, Monoid c, Monoid d, Monoid e, Monoid f, Monoid g, Monoid h, Monoid i) => Monad (T10 a b c d e f g h i) | |
(Monoid a, Monoid b, Monoid c, Monoid d, Monoid e, Monoid f, Monoid g, Monoid h, Monoid i, Monoid j) => Monad (T11 a b c d e f g h i j) | |
(Monoid a, Monoid b, Monoid c, Monoid d, Monoid e, Monoid f, Monoid g, Monoid h, Monoid i, Monoid j, Monoid k) => Monad (T12 a b c d e f g h i j k) | |
(Monoid a, Monoid b, Monoid c, Monoid d, Monoid e, Monoid f, Monoid g, Monoid h, Monoid i, Monoid j, Monoid k, Monoid l) => Monad (T13 a b c d e f g h i j k l) | |
Defined in Data.Tuple.Strict.T13 | |
(Monoid a, Monoid b, Monoid c, Monoid d, Monoid e, Monoid f, Monoid g, Monoid h, Monoid i, Monoid j, Monoid k, Monoid l, Monoid m) => Monad (T14 a b c d e f g h i j k l m) | |
Defined in Data.Tuple.Strict.T14 | |
(Monoid a, Monoid b, Monoid c, Monoid d, Monoid e, Monoid f, Monoid g, Monoid h, Monoid i, Monoid j, Monoid k, Monoid l, Monoid m, Monoid n) => Monad (T15 a b c d e f g h i j k l m n) | |
Defined in Data.Tuple.Strict.T15 | |
(Monoid a, Monoid b, Monoid c, Monoid d, Monoid e, Monoid f, Monoid g, Monoid h, Monoid i, Monoid j, Monoid k, Monoid l, Monoid m, Monoid n, Monoid o) => Monad (T16 a b c d e f g h i j k l m n o) | |
Defined in Data.Tuple.Strict.T16 | |
(Monoid a, Monoid b, Monoid c, Monoid d, Monoid e, Monoid f, Monoid g, Monoid h, Monoid i, Monoid j, Monoid k, Monoid l, Monoid m, Monoid n, Monoid o, Monoid p) => Monad (T17 a b c d e f g h i j k l m n o p) | |
Defined in Data.Tuple.Strict.T17 | |
(Monoid a, Monoid b, Monoid c, Monoid d, Monoid e, Monoid f, Monoid g, Monoid h, Monoid i, Monoid j, Monoid k, Monoid l, Monoid m, Monoid n, Monoid o, Monoid p, Monoid q) => Monad (T18 a b c d e f g h i j k l m n o p q) | |
Defined in Data.Tuple.Strict.T18 | |
(Monoid a, Monoid b, Monoid c, Monoid d, Monoid e, Monoid f, Monoid g, Monoid h, Monoid i, Monoid j, Monoid k, Monoid l, Monoid m, Monoid n, Monoid o, Monoid p, Monoid q, Monoid r) => Monad (T19 a b c d e f g h i j k l m n o p q r) | |
Defined in Data.Tuple.Strict.T19 Methods (>>=) :: T19 a b c d e f g h i j k l m n o p q r a0 -> (a0 -> T19 a b c d e f g h i j k l m n o p q r b0) -> T19 a b c d e f g h i j k l m n o p q r b0 # (>>) :: T19 a b c d e f g h i j k l m n o p q r a0 -> T19 a b c d e f g h i j k l m n o p q r b0 -> T19 a b c d e f g h i j k l m n o p q r b0 # return :: a0 -> T19 a b c d e f g h i j k l m n o p q r a0 # |
class Functor (f :: Type -> Type) where #
A type f
is a Functor if it provides a function fmap
which, given any types a
and b
lets you apply any function from (a -> b)
to turn an f a
into an f b
, preserving the
structure of f
. Furthermore f
needs to adhere to the following:
Note, that the second law follows from the free theorem of the type fmap
and
the first law, so you need only check that the former condition holds.
Minimal complete definition
Methods
fmap :: (a -> b) -> f a -> f b #
Using ApplicativeDo
: '
' can be understood as
the fmap
f asdo
expression
do a <- as pure (f a)
with an inferred Functor
constraint.
Instances
The Ord
class is used for totally ordered datatypes.
Instances of Ord
can be derived for any user-defined datatype whose
constituent types are in Ord
. The declared order of the constructors in
the data declaration determines the ordering in derived Ord
instances. The
Ordering
datatype allows a single comparison to determine the precise
ordering of two objects.
The Haskell Report defines no laws for Ord
. However, <=
is customarily
expected to implement a non-strict partial order and have the following
properties:
- Transitivity
- if
x <= y && y <= z
=True
, thenx <= z
=True
- Reflexivity
x <= x
=True
- Antisymmetry
- if
x <= y && y <= x
=True
, thenx == y
=True
Note that the following operator interactions are expected to hold:
x >= y
=y <= x
x < y
=x <= y && x /= y
x > y
=y < x
x < y
=compare x y == LT
x > y
=compare x y == GT
x == y
=compare x y == EQ
min x y == if x <= y then x else y
=True
max x y == if x >= y then x else y
=True
Note that (7.) and (8.) do not require min
and max
to return either of
their arguments. The result is merely required to equal one of the
arguments in terms of (==)
.
Minimal complete definition: either compare
or <=
.
Using compare
can be more efficient for complex types.
Methods
compare :: a -> a -> Ordering #
(<) :: a -> a -> Bool infix 4 #
(<=) :: a -> a -> Bool infix 4 #
(>) :: a -> a -> Bool infix 4 #
Instances
Ord Bool | |
Ord Char | |
Ord Double | Note that due to the presence of
Also note that, due to the same,
|
Ord Float | Note that due to the presence of
Also note that, due to the same,
|
Ord Int | |
Ord Int8 | Since: base-2.1 |
Ord Int16 | Since: base-2.1 |
Ord Int32 | Since: base-2.1 |
Ord Int64 | Since: base-2.1 |
Ord Integer | |
Ord Natural | |
Ord Ordering | |
Defined in GHC.Classes | |
Ord Word | |
Ord Word8 | Since: base-2.1 |
Ord Word16 | Since: base-2.1 |
Ord Word32 | Since: base-2.1 |
Ord Word64 | Since: base-2.1 |
Ord SomeTypeRep | |
Defined in Data.Typeable.Internal Methods compare :: SomeTypeRep -> SomeTypeRep -> Ordering # (<) :: SomeTypeRep -> SomeTypeRep -> Bool # (<=) :: SomeTypeRep -> SomeTypeRep -> Bool # (>) :: SomeTypeRep -> SomeTypeRep -> Bool # (>=) :: SomeTypeRep -> SomeTypeRep -> Bool # max :: SomeTypeRep -> SomeTypeRep -> SomeTypeRep # min :: SomeTypeRep -> SomeTypeRep -> SomeTypeRep # | |
Ord Exp | |
Ord Match | |
Ord Clause | |
Ord Pat | |
Ord Stmt | |
Ord Con | |
Ord Type | |
Ord Dec | |
Ord Name | |
Ord FunDep | |
Ord RuleBndr | |
Defined in Language.Haskell.TH.Syntax | |
Ord TySynEqn | |
Defined in Language.Haskell.TH.Syntax | |
Ord InjectivityAnn | |
Defined in Language.Haskell.TH.Syntax Methods compare :: InjectivityAnn -> InjectivityAnn -> Ordering # (<) :: InjectivityAnn -> InjectivityAnn -> Bool # (<=) :: InjectivityAnn -> InjectivityAnn -> Bool # (>) :: InjectivityAnn -> InjectivityAnn -> Bool # (>=) :: InjectivityAnn -> InjectivityAnn -> Bool # max :: InjectivityAnn -> InjectivityAnn -> InjectivityAnn # min :: InjectivityAnn -> InjectivityAnn -> InjectivityAnn # | |
Ord Overlap | |
Defined in Language.Haskell.TH.Syntax | |
Ord DerivClause | |
Defined in Language.Haskell.TH.Syntax Methods compare :: DerivClause -> DerivClause -> Ordering # (<) :: DerivClause -> DerivClause -> Bool # (<=) :: DerivClause -> DerivClause -> Bool # (>) :: DerivClause -> DerivClause -> Bool # (>=) :: DerivClause -> DerivClause -> Bool # max :: DerivClause -> DerivClause -> DerivClause # min :: DerivClause -> DerivClause -> DerivClause # | |
Ord DerivStrategy | |
Defined in Language.Haskell.TH.Syntax Methods compare :: DerivStrategy -> DerivStrategy -> Ordering # (<) :: DerivStrategy -> DerivStrategy -> Bool # (<=) :: DerivStrategy -> DerivStrategy -> Bool # (>) :: DerivStrategy -> DerivStrategy -> Bool # (>=) :: DerivStrategy -> DerivStrategy -> Bool # max :: DerivStrategy -> DerivStrategy -> DerivStrategy # min :: DerivStrategy -> DerivStrategy -> DerivStrategy # | |
Ord ModName | |
Defined in Language.Haskell.TH.Syntax | |
Ord () | |
Ord TyCon | |
Ord Version | Since: base-2.1 |
Ord ByteString | |
Defined in Data.ByteString.Internal Methods compare :: ByteString -> ByteString -> Ordering # (<) :: ByteString -> ByteString -> Bool # (<=) :: ByteString -> ByteString -> Bool # (>) :: ByteString -> ByteString -> Bool # (>=) :: ByteString -> ByteString -> Bool # max :: ByteString -> ByteString -> ByteString # min :: ByteString -> ByteString -> ByteString # | |
Ord ShortByteString | |
Defined in Data.ByteString.Short.Internal Methods compare :: ShortByteString -> ShortByteString -> Ordering # (<) :: ShortByteString -> ShortByteString -> Bool # (<=) :: ShortByteString -> ShortByteString -> Bool # (>) :: ShortByteString -> ShortByteString -> Bool # (>=) :: ShortByteString -> ShortByteString -> Bool # max :: ShortByteString -> ShortByteString -> ShortByteString # min :: ShortByteString -> ShortByteString -> ShortByteString # | |
Ord ByteString | |
Defined in Data.ByteString.Lazy.Internal Methods compare :: ByteString -> ByteString -> Ordering # (<) :: ByteString -> ByteString -> Bool # (<=) :: ByteString -> ByteString -> Bool # (>) :: ByteString -> ByteString -> Bool # (>=) :: ByteString -> ByteString -> Bool # max :: ByteString -> ByteString -> ByteString # min :: ByteString -> ByteString -> ByteString # | |
Ord ThreadId | Since: base-4.2.0.0 |
Defined in GHC.Conc.Sync | |
Ord MungedPackageId | |
Defined in Distribution.Types.MungedPackageId Methods compare :: MungedPackageId -> MungedPackageId -> Ordering # (<) :: MungedPackageId -> MungedPackageId -> Bool # (<=) :: MungedPackageId -> MungedPackageId -> Bool # (>) :: MungedPackageId -> MungedPackageId -> Bool # (>=) :: MungedPackageId -> MungedPackageId -> Bool # max :: MungedPackageId -> MungedPackageId -> MungedPackageId # min :: MungedPackageId -> MungedPackageId -> MungedPackageId # | |
Ord Module | |
Ord UnitId | |
Ord DefUnitId | |
Ord PackageIdentifier | |
Defined in Distribution.Types.PackageId Methods compare :: PackageIdentifier -> PackageIdentifier -> Ordering # (<) :: PackageIdentifier -> PackageIdentifier -> Bool # (<=) :: PackageIdentifier -> PackageIdentifier -> Bool # (>) :: PackageIdentifier -> PackageIdentifier -> Bool # (>=) :: PackageIdentifier -> PackageIdentifier -> Bool # max :: PackageIdentifier -> PackageIdentifier -> PackageIdentifier # min :: PackageIdentifier -> PackageIdentifier -> PackageIdentifier # | |
Ord ModuleName | |
Defined in Distribution.ModuleName Methods compare :: ModuleName -> ModuleName -> Ordering # (<) :: ModuleName -> ModuleName -> Bool # (<=) :: ModuleName -> ModuleName -> Bool # (>) :: ModuleName -> ModuleName -> Bool # (>=) :: ModuleName -> ModuleName -> Bool # max :: ModuleName -> ModuleName -> ModuleName # min :: ModuleName -> ModuleName -> ModuleName # | |
Ord License | |
Defined in Distribution.SPDX.License | |
Ord LicenseExpression | |
Defined in Distribution.SPDX.LicenseExpression Methods compare :: LicenseExpression -> LicenseExpression -> Ordering # (<) :: LicenseExpression -> LicenseExpression -> Bool # (<=) :: LicenseExpression -> LicenseExpression -> Bool # (>) :: LicenseExpression -> LicenseExpression -> Bool # (>=) :: LicenseExpression -> LicenseExpression -> Bool # max :: LicenseExpression -> LicenseExpression -> LicenseExpression # min :: LicenseExpression -> LicenseExpression -> LicenseExpression # | |
Ord SimpleLicenseExpression | |
Defined in Distribution.SPDX.LicenseExpression Methods compare :: SimpleLicenseExpression -> SimpleLicenseExpression -> Ordering # (<) :: SimpleLicenseExpression -> SimpleLicenseExpression -> Bool # (<=) :: SimpleLicenseExpression -> SimpleLicenseExpression -> Bool # (>) :: SimpleLicenseExpression -> SimpleLicenseExpression -> Bool # (>=) :: SimpleLicenseExpression -> SimpleLicenseExpression -> Bool # max :: SimpleLicenseExpression -> SimpleLicenseExpression -> SimpleLicenseExpression # min :: SimpleLicenseExpression -> SimpleLicenseExpression -> SimpleLicenseExpression # | |
Ord LicenseExceptionId | |
Defined in Distribution.SPDX.LicenseExceptionId Methods compare :: LicenseExceptionId -> LicenseExceptionId -> Ordering # (<) :: LicenseExceptionId -> LicenseExceptionId -> Bool # (<=) :: LicenseExceptionId -> LicenseExceptionId -> Bool # (>) :: LicenseExceptionId -> LicenseExceptionId -> Bool # (>=) :: LicenseExceptionId -> LicenseExceptionId -> Bool # max :: LicenseExceptionId -> LicenseExceptionId -> LicenseExceptionId # min :: LicenseExceptionId -> LicenseExceptionId -> LicenseExceptionId # | |
Ord LicenseId | |
Ord LicenseRef | |
Defined in Distribution.SPDX.LicenseReference Methods compare :: LicenseRef -> LicenseRef -> Ordering # (<) :: LicenseRef -> LicenseRef -> Bool # (<=) :: LicenseRef -> LicenseRef -> Bool # (>) :: LicenseRef -> LicenseRef -> Bool # (>=) :: LicenseRef -> LicenseRef -> Bool # max :: LicenseRef -> LicenseRef -> LicenseRef # min :: LicenseRef -> LicenseRef -> LicenseRef # | |
Ord ComponentId | |
Defined in Distribution.Types.ComponentId Methods compare :: ComponentId -> ComponentId -> Ordering # (<) :: ComponentId -> ComponentId -> Bool # (<=) :: ComponentId -> ComponentId -> Bool # (>) :: ComponentId -> ComponentId -> Bool # (>=) :: ComponentId -> ComponentId -> Bool # max :: ComponentId -> ComponentId -> ComponentId # min :: ComponentId -> ComponentId -> ComponentId # | |
Ord ComponentName | |
Defined in Distribution.Types.ComponentName Methods compare :: ComponentName -> ComponentName -> Ordering # (<) :: ComponentName -> ComponentName -> Bool # (<=) :: ComponentName -> ComponentName -> Bool # (>) :: ComponentName -> ComponentName -> Bool # (>=) :: ComponentName -> ComponentName -> Bool # max :: ComponentName -> ComponentName -> ComponentName # min :: ComponentName -> ComponentName -> ComponentName # | |
Ord MungedPackageName | |
Defined in Distribution.Types.MungedPackageName Methods compare :: MungedPackageName -> MungedPackageName -> Ordering # (<) :: MungedPackageName -> MungedPackageName -> Bool # (<=) :: MungedPackageName -> MungedPackageName -> Bool # (>) :: MungedPackageName -> MungedPackageName -> Bool # (>=) :: MungedPackageName -> MungedPackageName -> Bool # max :: MungedPackageName -> MungedPackageName -> MungedPackageName # min :: MungedPackageName -> MungedPackageName -> MungedPackageName # | |
Ord LibraryName | |
Defined in Distribution.Types.LibraryName Methods compare :: LibraryName -> LibraryName -> Ordering # (<) :: LibraryName -> LibraryName -> Bool # (<=) :: LibraryName -> LibraryName -> Bool # (>) :: LibraryName -> LibraryName -> Bool # (>=) :: LibraryName -> LibraryName -> Bool # max :: LibraryName -> LibraryName -> LibraryName # min :: LibraryName -> LibraryName -> LibraryName # | |
Ord UnqualComponentName | |
Defined in Distribution.Types.UnqualComponentName Methods compare :: UnqualComponentName -> UnqualComponentName -> Ordering # (<) :: UnqualComponentName -> UnqualComponentName -> Bool # (<=) :: UnqualComponentName -> UnqualComponentName -> Bool # (>) :: UnqualComponentName -> UnqualComponentName -> Bool # (>=) :: UnqualComponentName -> UnqualComponentName -> Bool # max :: UnqualComponentName -> UnqualComponentName -> UnqualComponentName # min :: UnqualComponentName -> UnqualComponentName -> UnqualComponentName # | |
Ord PackageName | |
Defined in Distribution.Types.PackageName Methods compare :: PackageName -> PackageName -> Ordering # (<) :: PackageName -> PackageName -> Bool # (<=) :: PackageName -> PackageName -> Bool # (>) :: PackageName -> PackageName -> Bool # (>=) :: PackageName -> PackageName -> Bool # max :: PackageName -> PackageName -> PackageName # min :: PackageName -> PackageName -> PackageName # | |
Ord PkgconfigName | |
Defined in Distribution.Types.PkgconfigName Methods compare :: PkgconfigName -> PkgconfigName -> Ordering # (<) :: PkgconfigName -> PkgconfigName -> Bool # (<=) :: PkgconfigName -> PkgconfigName -> Bool # (>) :: PkgconfigName -> PkgconfigName -> Bool # (>=) :: PkgconfigName -> PkgconfigName -> Bool # max :: PkgconfigName -> PkgconfigName -> PkgconfigName # min :: PkgconfigName -> PkgconfigName -> PkgconfigName # | |
Ord Version | |
Defined in Distribution.Types.Version | |
Ord CabalSpecVersion | |
Defined in Distribution.CabalSpecVersion Methods compare :: CabalSpecVersion -> CabalSpecVersion -> Ordering # (<) :: CabalSpecVersion -> CabalSpecVersion -> Bool # (<=) :: CabalSpecVersion -> CabalSpecVersion -> Bool # (>) :: CabalSpecVersion -> CabalSpecVersion -> Bool # (>=) :: CabalSpecVersion -> CabalSpecVersion -> Bool # max :: CabalSpecVersion -> CabalSpecVersion -> CabalSpecVersion # min :: CabalSpecVersion -> CabalSpecVersion -> CabalSpecVersion # | |
Ord PWarnType | |
Ord Position | |
Defined in Distribution.Parsec.Position | |
Ord ShortText | |
Ord Structure | |
Ord Any | Since: base-2.1 |
Ord All | Since: base-2.1 |
Ord ExitCode | |
Defined in GHC.IO.Exception | |
Ord Void | Since: base-4.8.0.0 |
Ord Unique | |
Ord BlockReason | Since: base-4.3.0.0 |
Defined in GHC.Conc.Sync Methods compare :: BlockReason -> BlockReason -> Ordering # (<) :: BlockReason -> BlockReason -> Bool # (<=) :: BlockReason -> BlockReason -> Bool # (>) :: BlockReason -> BlockReason -> Bool # (>=) :: BlockReason -> BlockReason -> Bool # max :: BlockReason -> BlockReason -> BlockReason # min :: BlockReason -> BlockReason -> BlockReason # | |
Ord ThreadStatus | Since: base-4.3.0.0 |
Defined in GHC.Conc.Sync Methods compare :: ThreadStatus -> ThreadStatus -> Ordering # (<) :: ThreadStatus -> ThreadStatus -> Bool # (<=) :: ThreadStatus -> ThreadStatus -> Bool # (>) :: ThreadStatus -> ThreadStatus -> Bool # (>=) :: ThreadStatus -> ThreadStatus -> Bool # max :: ThreadStatus -> ThreadStatus -> ThreadStatus # min :: ThreadStatus -> ThreadStatus -> ThreadStatus # | |
Ord AsyncException | Since: base-4.2.0.0 |
Defined in GHC.IO.Exception Methods compare :: AsyncException -> AsyncException -> Ordering # (<) :: AsyncException -> AsyncException -> Bool # (<=) :: AsyncException -> AsyncException -> Bool # (>) :: AsyncException -> AsyncException -> Bool # (>=) :: AsyncException -> AsyncException -> Bool # max :: AsyncException -> AsyncException -> AsyncException # min :: AsyncException -> AsyncException -> AsyncException # | |
Ord ArrayException | Since: base-4.2.0.0 |
Defined in GHC.IO.Exception Methods compare :: ArrayException -> ArrayException -> Ordering # (<) :: ArrayException -> ArrayException -> Bool # (<=) :: ArrayException -> ArrayException -> Bool # (>) :: ArrayException -> ArrayException -> Bool # (>=) :: ArrayException -> ArrayException -> Bool # max :: ArrayException -> ArrayException -> ArrayException # min :: ArrayException -> ArrayException -> ArrayException # | |
Ord BufferMode | Since: base-4.2.0.0 |
Defined in GHC.IO.Handle.Types Methods compare :: BufferMode -> BufferMode -> Ordering # (<) :: BufferMode -> BufferMode -> Bool # (<=) :: BufferMode -> BufferMode -> Bool # (>) :: BufferMode -> BufferMode -> Bool # (>=) :: BufferMode -> BufferMode -> Bool # max :: BufferMode -> BufferMode -> BufferMode # min :: BufferMode -> BufferMode -> BufferMode # | |
Ord Newline | Since: base-4.3.0.0 |
Ord NewlineMode | Since: base-4.3.0.0 |
Defined in GHC.IO.Handle.Types Methods compare :: NewlineMode -> NewlineMode -> Ordering # (<) :: NewlineMode -> NewlineMode -> Bool # (<=) :: NewlineMode -> NewlineMode -> Bool # (>) :: NewlineMode -> NewlineMode -> Bool # (>=) :: NewlineMode -> NewlineMode -> Bool # max :: NewlineMode -> NewlineMode -> NewlineMode # min :: NewlineMode -> NewlineMode -> NewlineMode # | |
Ord SeekMode | Since: base-4.2.0.0 |
Defined in GHC.IO.Device | |
Ord ErrorCall | Since: base-4.7.0.0 |
Ord ArithException | Since: base-3.0 |
Defined in GHC.Exception.Type Methods compare :: ArithException -> ArithException -> Ordering # (<) :: ArithException -> ArithException -> Bool # (<=) :: ArithException -> ArithException -> Bool # (>) :: ArithException -> ArithException -> Bool # (>=) :: ArithException -> ArithException -> Bool # max :: ArithException -> ArithException -> ArithException # min :: ArithException -> ArithException -> ArithException # | |
Ord Fixity | Since: base-4.6.0.0 |
Ord Associativity | Since: base-4.6.0.0 |
Defined in GHC.Generics Methods compare :: Associativity -> Associativity -> Ordering # (<) :: Associativity -> Associativity -> Bool # (<=) :: Associativity -> Associativity -> Bool # (>) :: Associativity -> Associativity -> Bool # (>=) :: Associativity -> Associativity -> Bool # max :: Associativity -> Associativity -> Associativity # min :: Associativity -> Associativity -> Associativity # | |
Ord SourceUnpackedness | Since: base-4.9.0.0 |
Defined in GHC.Generics Methods compare :: SourceUnpackedness -> SourceUnpackedness -> Ordering # (<) :: SourceUnpackedness -> SourceUnpackedness -> Bool # (<=) :: SourceUnpackedness -> SourceUnpackedness -> Bool # (>) :: SourceUnpackedness -> SourceUnpackedness -> Bool # (>=) :: SourceUnpackedness -> SourceUnpackedness -> Bool # max :: SourceUnpackedness -> SourceUnpackedness -> SourceUnpackedness # min :: SourceUnpackedness -> SourceUnpackedness -> SourceUnpackedness # | |
Ord SourceStrictness | Since: base-4.9.0.0 |
Defined in GHC.Generics Methods compare :: SourceStrictness -> SourceStrictness -> Ordering # (<) :: SourceStrictness -> SourceStrictness -> Bool # (<=) :: SourceStrictness -> SourceStrictness -> Bool # (>) :: SourceStrictness -> SourceStrictness -> Bool # (>=) :: SourceStrictness -> SourceStrictness -> Bool # max :: SourceStrictness -> SourceStrictness -> SourceStrictness # min :: SourceStrictness -> SourceStrictness -> SourceStrictness # | |
Ord DecidedStrictness | Since: base-4.9.0.0 |
Defined in GHC.Generics Methods compare :: DecidedStrictness -> DecidedStrictness -> Ordering # (<) :: DecidedStrictness -> DecidedStrictness -> Bool # (<=) :: DecidedStrictness -> DecidedStrictness -> Bool # (>) :: DecidedStrictness -> DecidedStrictness -> Bool # (>=) :: DecidedStrictness -> DecidedStrictness -> Bool # max :: DecidedStrictness -> DecidedStrictness -> DecidedStrictness # min :: DecidedStrictness -> DecidedStrictness -> DecidedStrictness # | |
Ord CChar | |
Ord CSChar | |
Ord CUChar | |
Ord CShort | |
Ord CUShort | |
Ord CInt | |
Ord CUInt | |
Ord CLong | |
Ord CULong | |
Ord CLLong | |
Ord CULLong | |
Ord CBool | |
Ord CFloat | |
Ord CDouble | |
Ord CPtrdiff | |
Defined in Foreign.C.Types | |
Ord CSize | |
Ord CWchar | |
Ord CSigAtomic | |
Defined in Foreign.C.Types Methods compare :: CSigAtomic -> CSigAtomic -> Ordering # (<) :: CSigAtomic -> CSigAtomic -> Bool # (<=) :: CSigAtomic -> CSigAtomic -> Bool # (>) :: CSigAtomic -> CSigAtomic -> Bool # (>=) :: CSigAtomic -> CSigAtomic -> Bool # max :: CSigAtomic -> CSigAtomic -> CSigAtomic # min :: CSigAtomic -> CSigAtomic -> CSigAtomic # | |
Ord CClock | |
Ord CTime | |
Ord CUSeconds | |
Ord CSUSeconds | |
Defined in Foreign.C.Types Methods compare :: CSUSeconds -> CSUSeconds -> Ordering # (<) :: CSUSeconds -> CSUSeconds -> Bool # (<=) :: CSUSeconds -> CSUSeconds -> Bool # (>) :: CSUSeconds -> CSUSeconds -> Bool # (>=) :: CSUSeconds -> CSUSeconds -> Bool # max :: CSUSeconds -> CSUSeconds -> CSUSeconds # min :: CSUSeconds -> CSUSeconds -> CSUSeconds # | |
Ord CIntPtr | |
Ord CUIntPtr | |
Defined in Foreign.C.Types | |
Ord CIntMax | |
Ord CUIntMax | |
Defined in Foreign.C.Types | |
Ord SomeSymbol | Since: base-4.7.0.0 |
Defined in GHC.TypeLits Methods compare :: SomeSymbol -> SomeSymbol -> Ordering # (<) :: SomeSymbol -> SomeSymbol -> Bool # (<=) :: SomeSymbol -> SomeSymbol -> Bool # (>) :: SomeSymbol -> SomeSymbol -> Bool # (>=) :: SomeSymbol -> SomeSymbol -> Bool # max :: SomeSymbol -> SomeSymbol -> SomeSymbol # min :: SomeSymbol -> SomeSymbol -> SomeSymbol # | |
Ord SomeNat | Since: base-4.7.0.0 |
Ord IOMode | Since: base-4.2.0.0 |
Ord Fingerprint | Since: base-4.4.0.0 |
Defined in GHC.Fingerprint.Type Methods compare :: Fingerprint -> Fingerprint -> Ordering # (<) :: Fingerprint -> Fingerprint -> Bool # (<=) :: Fingerprint -> Fingerprint -> Bool # (>) :: Fingerprint -> Fingerprint -> Bool # (>=) :: Fingerprint -> Fingerprint -> Bool # max :: Fingerprint -> Fingerprint -> Fingerprint # min :: Fingerprint -> Fingerprint -> Fingerprint # | |
Ord GeneralCategory | Since: base-2.1 |
Defined in GHC.Unicode Methods compare :: GeneralCategory -> GeneralCategory -> Ordering # (<) :: GeneralCategory -> GeneralCategory -> Bool # (<=) :: GeneralCategory -> GeneralCategory -> Bool # (>) :: GeneralCategory -> GeneralCategory -> Bool # (>=) :: GeneralCategory -> GeneralCategory -> Bool # max :: GeneralCategory -> GeneralCategory -> GeneralCategory # min :: GeneralCategory -> GeneralCategory -> GeneralCategory # | |
Ord IntSet | |
Ord FileType | |
Defined in System.Directory.Internal.Common | |
Ord Permissions | |
Defined in System.Directory.Internal.Common Methods compare :: Permissions -> Permissions -> Ordering # (<) :: Permissions -> Permissions -> Bool # (<=) :: Permissions -> Permissions -> Bool # (>) :: Permissions -> Permissions -> Bool # (>=) :: Permissions -> Permissions -> Bool # max :: Permissions -> Permissions -> Permissions # min :: Permissions -> Permissions -> Permissions # | |
Ord XdgDirectory | |
Defined in System.Directory.Internal.Common Methods compare :: XdgDirectory -> XdgDirectory -> Ordering # (<) :: XdgDirectory -> XdgDirectory -> Bool # (<=) :: XdgDirectory -> XdgDirectory -> Bool # (>) :: XdgDirectory -> XdgDirectory -> Bool # (>=) :: XdgDirectory -> XdgDirectory -> Bool # max :: XdgDirectory -> XdgDirectory -> XdgDirectory # min :: XdgDirectory -> XdgDirectory -> XdgDirectory # | |
Ord XdgDirectoryList | |
Defined in System.Directory.Internal.Common Methods compare :: XdgDirectoryList -> XdgDirectoryList -> Ordering # (<) :: XdgDirectoryList -> XdgDirectoryList -> Bool # (<=) :: XdgDirectoryList -> XdgDirectoryList -> Bool # (>) :: XdgDirectoryList -> XdgDirectoryList -> Bool # (>=) :: XdgDirectoryList -> XdgDirectoryList -> Bool # max :: XdgDirectoryList -> XdgDirectoryList -> XdgDirectoryList # min :: XdgDirectoryList -> XdgDirectoryList -> XdgDirectoryList # | |
Ord Extension | |
Ord Message | |
Ord SourcePos | |
Ord PkgName | |
Defined in Language.Haskell.TH.Syntax | |
Ord Module | |
Ord OccName | |
Defined in Language.Haskell.TH.Syntax | |
Ord NameFlavour | |
Defined in Language.Haskell.TH.Syntax Methods compare :: NameFlavour -> NameFlavour -> Ordering # (<) :: NameFlavour -> NameFlavour -> Bool # (<=) :: NameFlavour -> NameFlavour -> Bool # (>) :: NameFlavour -> NameFlavour -> Bool # (>=) :: NameFlavour -> NameFlavour -> Bool # max :: NameFlavour -> NameFlavour -> NameFlavour # min :: NameFlavour -> NameFlavour -> NameFlavour # | |
Ord NameSpace | |
Ord Loc | |
Ord Info | |
Ord ModuleInfo | |
Defined in Language.Haskell.TH.Syntax Methods compare :: ModuleInfo -> ModuleInfo -> Ordering # (<) :: ModuleInfo -> ModuleInfo -> Bool # (<=) :: ModuleInfo -> ModuleInfo -> Bool # (>) :: ModuleInfo -> ModuleInfo -> Bool # (>=) :: ModuleInfo -> ModuleInfo -> Bool # max :: ModuleInfo -> ModuleInfo -> ModuleInfo # min :: ModuleInfo -> ModuleInfo -> ModuleInfo # | |
Ord Fixity | |
Ord FixityDirection | |
Defined in Language.Haskell.TH.Syntax Methods compare :: FixityDirection -> FixityDirection -> Ordering # (<) :: FixityDirection -> FixityDirection -> Bool # (<=) :: FixityDirection -> FixityDirection -> Bool # (>) :: FixityDirection -> FixityDirection -> Bool # (>=) :: FixityDirection -> FixityDirection -> Bool # max :: FixityDirection -> FixityDirection -> FixityDirection # min :: FixityDirection -> FixityDirection -> FixityDirection # | |
Ord Lit | |
Ord Bytes | |
Ord Body | |
Ord Guard | |
Ord Range | |
Ord TypeFamilyHead | |
Defined in Language.Haskell.TH.Syntax Methods compare :: TypeFamilyHead -> TypeFamilyHead -> Ordering # (<) :: TypeFamilyHead -> TypeFamilyHead -> Bool # (<=) :: TypeFamilyHead -> TypeFamilyHead -> Bool # (>) :: TypeFamilyHead -> TypeFamilyHead -> Bool # (>=) :: TypeFamilyHead -> TypeFamilyHead -> Bool # max :: TypeFamilyHead -> TypeFamilyHead -> TypeFamilyHead # min :: TypeFamilyHead -> TypeFamilyHead -> TypeFamilyHead # | |
Ord Foreign | |
Defined in Language.Haskell.TH.Syntax | |
Ord Callconv | |
Defined in Language.Haskell.TH.Syntax | |
Ord Safety | |
Ord Pragma | |
Ord Inline | |
Ord RuleMatch | |
Ord Phases | |
Ord AnnTarget | |
Ord SourceUnpackedness | |
Defined in Language.Haskell.TH.Syntax Methods compare :: SourceUnpackedness -> SourceUnpackedness -> Ordering # (<) :: SourceUnpackedness -> SourceUnpackedness -> Bool # (<=) :: SourceUnpackedness -> SourceUnpackedness -> Bool # (>) :: SourceUnpackedness -> SourceUnpackedness -> Bool # (>=) :: SourceUnpackedness -> SourceUnpackedness -> Bool # max :: SourceUnpackedness -> SourceUnpackedness -> SourceUnpackedness # min :: SourceUnpackedness -> SourceUnpackedness -> SourceUnpackedness # | |
Ord SourceStrictness | |
Defined in Language.Haskell.TH.Syntax Methods compare :: SourceStrictness -> SourceStrictness -> Ordering # (<) :: SourceStrictness -> SourceStrictness -> Bool # (<=) :: SourceStrictness -> SourceStrictness -> Bool # (>) :: SourceStrictness -> SourceStrictness -> Bool # (>=) :: SourceStrictness -> SourceStrictness -> Bool # max :: SourceStrictness -> SourceStrictness -> SourceStrictness # min :: SourceStrictness -> SourceStrictness -> SourceStrictness # | |
Ord DecidedStrictness | |
Defined in Language.Haskell.TH.Syntax Methods compare :: DecidedStrictness -> DecidedStrictness -> Ordering # (<) :: DecidedStrictness -> DecidedStrictness -> Bool # (<=) :: DecidedStrictness -> DecidedStrictness -> Bool # (>) :: DecidedStrictness -> DecidedStrictness -> Bool # (>=) :: DecidedStrictness -> DecidedStrictness -> Bool # max :: DecidedStrictness -> DecidedStrictness -> DecidedStrictness # min :: DecidedStrictness -> DecidedStrictness -> DecidedStrictness # | |
Ord Bang | |
Ord PatSynDir | |
Ord PatSynArgs | |
Defined in Language.Haskell.TH.Syntax Methods compare :: PatSynArgs -> PatSynArgs -> Ordering # (<) :: PatSynArgs -> PatSynArgs -> Bool # (<=) :: PatSynArgs -> PatSynArgs -> Bool # (>) :: PatSynArgs -> PatSynArgs -> Bool # (>=) :: PatSynArgs -> PatSynArgs -> Bool # max :: PatSynArgs -> PatSynArgs -> PatSynArgs # min :: PatSynArgs -> PatSynArgs -> PatSynArgs # | |
Ord Specificity | |
Defined in Language.Haskell.TH.Syntax Methods compare :: Specificity -> Specificity -> Ordering # (<) :: Specificity -> Specificity -> Bool # (<=) :: Specificity -> Specificity -> Bool # (>) :: Specificity -> Specificity -> Bool # (>=) :: Specificity -> Specificity -> Bool # max :: Specificity -> Specificity -> Specificity # min :: Specificity -> Specificity -> Specificity # | |
Ord FamilyResultSig | |
Defined in Language.Haskell.TH.Syntax Methods compare :: FamilyResultSig -> FamilyResultSig -> Ordering # (<) :: FamilyResultSig -> FamilyResultSig -> Bool # (<=) :: FamilyResultSig -> FamilyResultSig -> Bool # (>) :: FamilyResultSig -> FamilyResultSig -> Bool # (>=) :: FamilyResultSig -> FamilyResultSig -> Bool # max :: FamilyResultSig -> FamilyResultSig -> FamilyResultSig # min :: FamilyResultSig -> FamilyResultSig -> FamilyResultSig # | |
Ord TyLit | |
Ord Role | |
Ord AnnLookup | |
Ord TimeLocale | |
Defined in Data.Time.Format.Locale Methods compare :: TimeLocale -> TimeLocale -> Ordering # (<) :: TimeLocale -> TimeLocale -> Bool # (<=) :: TimeLocale -> TimeLocale -> Bool # (>) :: TimeLocale -> TimeLocale -> Bool # (>=) :: TimeLocale -> TimeLocale -> Bool # max :: TimeLocale -> TimeLocale -> TimeLocale # min :: TimeLocale -> TimeLocale -> TimeLocale # | |
Ord LocalTime | |
Defined in Data.Time.LocalTime.Internal.LocalTime | |
Ord TimeOfDay | |
Defined in Data.Time.LocalTime.Internal.TimeOfDay | |
Ord TimeZone | |
Defined in Data.Time.LocalTime.Internal.TimeZone | |
Ord UniversalTime | |
Defined in Data.Time.Clock.Internal.UniversalTime Methods compare :: UniversalTime -> UniversalTime -> Ordering # (<) :: UniversalTime -> UniversalTime -> Bool # (<=) :: UniversalTime -> UniversalTime -> Bool # (>) :: UniversalTime -> UniversalTime -> Bool # (>=) :: UniversalTime -> UniversalTime -> Bool # max :: UniversalTime -> UniversalTime -> UniversalTime # min :: UniversalTime -> UniversalTime -> UniversalTime # | |
Ord UTCTime | |
Defined in Data.Time.Clock.Internal.UTCTime | |
Ord SystemTime | |
Defined in Data.Time.Clock.Internal.SystemTime Methods compare :: SystemTime -> SystemTime -> Ordering # (<) :: SystemTime -> SystemTime -> Bool # (<=) :: SystemTime -> SystemTime -> Bool # (>) :: SystemTime -> SystemTime -> Bool # (>=) :: SystemTime -> SystemTime -> Bool # max :: SystemTime -> SystemTime -> SystemTime # min :: SystemTime -> SystemTime -> SystemTime # | |
Ord NominalDiffTime | |
Defined in Data.Time.Clock.Internal.NominalDiffTime Methods compare :: NominalDiffTime -> NominalDiffTime -> Ordering # (<) :: NominalDiffTime -> NominalDiffTime -> Bool # (<=) :: NominalDiffTime -> NominalDiffTime -> Bool # (>) :: NominalDiffTime -> NominalDiffTime -> Bool # (>=) :: NominalDiffTime -> NominalDiffTime -> Bool # max :: NominalDiffTime -> NominalDiffTime -> NominalDiffTime # min :: NominalDiffTime -> NominalDiffTime -> NominalDiffTime # | |
Ord AbsoluteTime | |
Defined in Data.Time.Clock.Internal.AbsoluteTime Methods compare :: AbsoluteTime -> AbsoluteTime -> Ordering # (<) :: AbsoluteTime -> AbsoluteTime -> Bool # (<=) :: AbsoluteTime -> AbsoluteTime -> Bool # (>) :: AbsoluteTime -> AbsoluteTime -> Bool # (>=) :: AbsoluteTime -> AbsoluteTime -> Bool # max :: AbsoluteTime -> AbsoluteTime -> AbsoluteTime # min :: AbsoluteTime -> AbsoluteTime -> AbsoluteTime # | |
Ord DiffTime | |
Defined in Data.Time.Clock.Internal.DiffTime | |
Ord Day | |
Ord F2Poly | |
Ord Bit | |
Ord Bit | |
Ord ByteArray | |
Ord F2Poly | |
Ord DefName | |
Defined in Control.Lens.Internal.FieldTH | |
Ord Pos | |
Ord Scientific | |
Ord ConstructorVariant | |
Defined in Language.Haskell.TH.Datatype Methods compare :: ConstructorVariant -> ConstructorVariant -> Ordering # (<) :: ConstructorVariant -> ConstructorVariant -> Bool # (<=) :: ConstructorVariant -> ConstructorVariant -> Bool # (>) :: ConstructorVariant -> ConstructorVariant -> Bool # (>=) :: ConstructorVariant -> ConstructorVariant -> Bool # max :: ConstructorVariant -> ConstructorVariant -> ConstructorVariant # min :: ConstructorVariant -> ConstructorVariant -> ConstructorVariant # | |
Ord DatatypeVariant | |
Defined in Language.Haskell.TH.Datatype Methods compare :: DatatypeVariant -> DatatypeVariant -> Ordering # (<) :: DatatypeVariant -> DatatypeVariant -> Bool # (<=) :: DatatypeVariant -> DatatypeVariant -> Bool # (>) :: DatatypeVariant -> DatatypeVariant -> Bool # (>=) :: DatatypeVariant -> DatatypeVariant -> Bool # max :: DatatypeVariant -> DatatypeVariant -> DatatypeVariant # min :: DatatypeVariant -> DatatypeVariant -> DatatypeVariant # | |
Ord FieldStrictness | |
Defined in Language.Haskell.TH.Datatype Methods compare :: FieldStrictness -> FieldStrictness -> Ordering # (<) :: FieldStrictness -> FieldStrictness -> Bool # (<=) :: FieldStrictness -> FieldStrictness -> Bool # (>) :: FieldStrictness -> FieldStrictness -> Bool # (>=) :: FieldStrictness -> FieldStrictness -> Bool # max :: FieldStrictness -> FieldStrictness -> FieldStrictness # min :: FieldStrictness -> FieldStrictness -> FieldStrictness # | |
Ord Strictness | |
Defined in Language.Haskell.TH.Datatype | |
Ord Unpackedness | |
Defined in Language.Haskell.TH.Datatype | |
Ord DotNetTime | |
Defined in Data.Aeson.Types.Internal | |
Ord JSONPathElement | |
Defined in Data.Aeson.Types.Internal Methods compare :: JSONPathElement -> JSONPathElement -> Ordering # (<) :: JSONPathElement -> JSONPathElement -> Bool # (<=) :: JSONPathElement -> JSONPathElement -> Bool # (>) :: JSONPathElement -> JSONPathElement -> Bool # (>=) :: JSONPathElement -> JSONPathElement -> Bool # max :: JSONPathElement -> JSONPathElement -> JSONPathElement # min :: JSONPathElement -> JSONPathElement -> JSONPathElement # | |
Ord Value | |
Ord UUID | |
Ord UnpackedUUID | |
Defined in Data.UUID.Types.Internal | |
Ord ScanPoint Source # | |
Ord D8 Source # | |
Ord Dir Source # | |
Ord Nat | |
Ord Pos | |
Ord SourcePos | |
Ord SolutionError Source # | |
Defined in AOC.Solver Methods compare :: SolutionError -> SolutionError -> Ordering # (<) :: SolutionError -> SolutionError -> Bool # (<=) :: SolutionError -> SolutionError -> Bool # (>) :: SolutionError -> SolutionError -> Bool # (>=) :: SolutionError -> SolutionError -> Bool # max :: SolutionError -> SolutionError -> SolutionError # min :: SolutionError -> SolutionError -> SolutionError # | |
Ord NEIntSet | |
Defined in Data.IntSet.NonEmpty.Internal | |
Ord Day | |
Ord NextDayTime | |
Defined in Advent.Types | |
Ord Part | |
Ord SubmitRes | |
Ord Leaderboard | |
Defined in Advent.Types | |
Ord DailyLeaderboard | |
Defined in Advent.Types Methods compare :: DailyLeaderboard -> DailyLeaderboard -> Ordering # (<) :: DailyLeaderboard -> DailyLeaderboard -> Bool # (<=) :: DailyLeaderboard -> DailyLeaderboard -> Bool # (>) :: DailyLeaderboard -> DailyLeaderboard -> Bool # (>=) :: DailyLeaderboard -> DailyLeaderboard -> Bool # max :: DailyLeaderboard -> DailyLeaderboard -> DailyLeaderboard # min :: DailyLeaderboard -> DailyLeaderboard -> DailyLeaderboard # | |
Ord GlobalLeaderboard | |
Defined in Advent.Types Methods compare :: GlobalLeaderboard -> GlobalLeaderboard -> Ordering # (<) :: GlobalLeaderboard -> GlobalLeaderboard -> Bool # (<=) :: GlobalLeaderboard -> GlobalLeaderboard -> Bool # (>) :: GlobalLeaderboard -> GlobalLeaderboard -> Bool # (>=) :: GlobalLeaderboard -> GlobalLeaderboard -> Bool # max :: GlobalLeaderboard -> GlobalLeaderboard -> GlobalLeaderboard # min :: GlobalLeaderboard -> GlobalLeaderboard -> GlobalLeaderboard # | |
Ord BaseUrl | |
Defined in Servant.Client.Core.BaseUrl | |
Ord SubmitInfo | |
Ord StdMethod | |
Ord PublicCode | |
Ord Extension | |
Ord KnownExtension | |
Defined in Language.Haskell.Exts.Extension Methods compare :: KnownExtension -> KnownExtension -> Ordering # (<) :: KnownExtension -> KnownExtension -> Bool # (<=) :: KnownExtension -> KnownExtension -> Bool # (>) :: KnownExtension -> KnownExtension -> Bool # (>=) :: KnownExtension -> KnownExtension -> Bool # | |
Ord Language | |
Defined in Language.Haskell.Exts.Extension | |
Ord Fixity | |
Ord SrcLoc | |
Ord SrcSpan | |
Defined in Language.Haskell.Exts.SrcLoc | |
Ord SrcSpanInfo | |
Defined in Language.Haskell.Exts.SrcLoc | |
Ord Boxed | |
Ord Tool | |
Ord Symbol | |
Ord BuildTool | |
Ord Path | |
Ord Module | |
Ord DependencyInfo | |
Defined in Hpack.Syntax.Dependencies Methods compare :: DependencyInfo -> DependencyInfo -> Ordering # (<) :: DependencyInfo -> DependencyInfo -> Bool # (<=) :: DependencyInfo -> DependencyInfo -> Bool # (>) :: DependencyInfo -> DependencyInfo -> Bool # (>=) :: DependencyInfo -> DependencyInfo -> Bool # | |
Ord DependencyVersion | |
Defined in Hpack.Syntax.DependencyVersion Methods compare :: DependencyVersion -> DependencyVersion -> Ordering # (<) :: DependencyVersion -> DependencyVersion -> Bool # (<=) :: DependencyVersion -> DependencyVersion -> Bool # (>) :: DependencyVersion -> DependencyVersion -> Bool # (>=) :: DependencyVersion -> DependencyVersion -> Bool # max :: DependencyVersion -> DependencyVersion -> DependencyVersion # min :: DependencyVersion -> DependencyVersion -> DependencyVersion # | |
Ord SourceDependency | |
Defined in Hpack.Syntax.DependencyVersion Methods compare :: SourceDependency -> SourceDependency -> Ordering # (<) :: SourceDependency -> SourceDependency -> Bool # (<=) :: SourceDependency -> SourceDependency -> Bool # (>) :: SourceDependency -> SourceDependency -> Bool # (>=) :: SourceDependency -> SourceDependency -> Bool # max :: SourceDependency -> SourceDependency -> SourceDependency # min :: SourceDependency -> SourceDependency -> SourceDependency # | |
Ord VersionConstraint | |
Defined in Hpack.Syntax.DependencyVersion Methods compare :: VersionConstraint -> VersionConstraint -> Ordering # (<) :: VersionConstraint -> VersionConstraint -> Bool # (<=) :: VersionConstraint -> VersionConstraint -> Bool # (>) :: VersionConstraint -> VersionConstraint -> Bool # (>=) :: VersionConstraint -> VersionConstraint -> Bool # max :: VersionConstraint -> VersionConstraint -> VersionConstraint # min :: VersionConstraint -> VersionConstraint -> VersionConstraint # | |
Ord URIAuth | |
Ord HttpVersion | |
Defined in Network.HTTP.Types.Version | |
Ord Proxy | |
Ord URI | |
Ord StreamFileStatus | |
Defined in Network.HTTP.Client.Types Methods compare :: StreamFileStatus -> StreamFileStatus -> Ordering # (<) :: StreamFileStatus -> StreamFileStatus -> Bool # (<=) :: StreamFileStatus -> StreamFileStatus -> Bool # (>) :: StreamFileStatus -> StreamFileStatus -> Bool # (>=) :: StreamFileStatus -> StreamFileStatus -> Bool # max :: StreamFileStatus -> StreamFileStatus -> StreamFileStatus # min :: StreamFileStatus -> StreamFileStatus -> StreamFileStatus # | |
Ord EscapeItem | |
Defined in Network.HTTP.Types.URI | |
Ord DailyLeaderboardMember | |
Defined in Advent.Types Methods compare :: DailyLeaderboardMember -> DailyLeaderboardMember -> Ordering # (<) :: DailyLeaderboardMember -> DailyLeaderboardMember -> Bool # (<=) :: DailyLeaderboardMember -> DailyLeaderboardMember -> Bool # (>) :: DailyLeaderboardMember -> DailyLeaderboardMember -> Bool # (>=) :: DailyLeaderboardMember -> DailyLeaderboardMember -> Bool # max :: DailyLeaderboardMember -> DailyLeaderboardMember -> DailyLeaderboardMember # min :: DailyLeaderboardMember -> DailyLeaderboardMember -> DailyLeaderboardMember # | |
Ord GlobalLeaderboardMember | |
Defined in Advent.Types Methods compare :: GlobalLeaderboardMember -> GlobalLeaderboardMember -> Ordering # (<) :: GlobalLeaderboardMember -> GlobalLeaderboardMember -> Bool # (<=) :: GlobalLeaderboardMember -> GlobalLeaderboardMember -> Bool # (>) :: GlobalLeaderboardMember -> GlobalLeaderboardMember -> Bool # (>=) :: GlobalLeaderboardMember -> GlobalLeaderboardMember -> Bool # max :: GlobalLeaderboardMember -> GlobalLeaderboardMember -> GlobalLeaderboardMember # min :: GlobalLeaderboardMember -> GlobalLeaderboardMember -> GlobalLeaderboardMember # | |
Ord LeaderboardMember | |
Defined in Advent.Types Methods compare :: LeaderboardMember -> LeaderboardMember -> Ordering # (<) :: LeaderboardMember -> LeaderboardMember -> Bool # (<=) :: LeaderboardMember -> LeaderboardMember -> Bool # (>) :: LeaderboardMember -> LeaderboardMember -> Bool # (>=) :: LeaderboardMember -> LeaderboardMember -> Bool # max :: LeaderboardMember -> LeaderboardMember -> LeaderboardMember # min :: LeaderboardMember -> LeaderboardMember -> LeaderboardMember # | |
Ord Rank | |
Ord Encoding | |
Defined in Basement.String | |
Ord String | |
Ord UTF32_Invalid | |
Defined in Basement.String.Encoding.UTF32 Methods compare :: UTF32_Invalid -> UTF32_Invalid -> Ordering # (<) :: UTF32_Invalid -> UTF32_Invalid -> Bool # (<=) :: UTF32_Invalid -> UTF32_Invalid -> Bool # (>) :: UTF32_Invalid -> UTF32_Invalid -> Bool # (>=) :: UTF32_Invalid -> UTF32_Invalid -> Bool # | |
Ord FileSize | |
Defined in Basement.Types.OffsetSize | |
Ord ConnHost | |
Defined in Network.HTTP.Client.Types | |
Ord ConnKey | |
Defined in Network.HTTP.Client.Types | |
Ord ProxySecureMode | |
Defined in Network.HTTP.Client.Types Methods compare :: ProxySecureMode -> ProxySecureMode -> Ordering # (<) :: ProxySecureMode -> ProxySecureMode -> Bool # (<=) :: ProxySecureMode -> ProxySecureMode -> Bool # (>) :: ProxySecureMode -> ProxySecureMode -> Bool # (>=) :: ProxySecureMode -> ProxySecureMode -> Bool # max :: ProxySecureMode -> ProxySecureMode -> ProxySecureMode # min :: ProxySecureMode -> ProxySecureMode -> ProxySecureMode # | |
Ord StatusHeaders | |
Defined in Network.HTTP.Client.Types Methods compare :: StatusHeaders -> StatusHeaders -> Ordering # (<) :: StatusHeaders -> StatusHeaders -> Bool # (<=) :: StatusHeaders -> StatusHeaders -> Bool # (>) :: StatusHeaders -> StatusHeaders -> Bool # (>=) :: StatusHeaders -> StatusHeaders -> Bool # | |
Ord Status | |
Ord IP | |
Ord IPv4 | |
Ord IPv6 | |
Ord IPRange | |
Ord MediaType | |
Defined in Network.HTTP.Media.MediaType.Internal | |
Ord IsSecure | |
Defined in Servant.API.IsSecure | |
Ord LinkArrayElementStyle | |
Defined in Servant.Links Methods compare :: LinkArrayElementStyle -> LinkArrayElementStyle -> Ordering # (<) :: LinkArrayElementStyle -> LinkArrayElementStyle -> Bool # (<=) :: LinkArrayElementStyle -> LinkArrayElementStyle -> Bool # (>) :: LinkArrayElementStyle -> LinkArrayElementStyle -> Bool # (>=) :: LinkArrayElementStyle -> LinkArrayElementStyle -> Bool # max :: LinkArrayElementStyle -> LinkArrayElementStyle -> LinkArrayElementStyle # min :: LinkArrayElementStyle -> LinkArrayElementStyle -> LinkArrayElementStyle # | |
Ord Scheme | |
Ord ByteRange | |
Ord CompressionStrategy | |
Defined in Codec.Compression.Zlib.Stream Methods compare :: CompressionStrategy -> CompressionStrategy -> Ordering # (<) :: CompressionStrategy -> CompressionStrategy -> Bool # (<=) :: CompressionStrategy -> CompressionStrategy -> Bool # (>) :: CompressionStrategy -> CompressionStrategy -> Bool # (>=) :: CompressionStrategy -> CompressionStrategy -> Bool # max :: CompressionStrategy -> CompressionStrategy -> CompressionStrategy # min :: CompressionStrategy -> CompressionStrategy -> CompressionStrategy # | |
Ord DictionaryHash | |
Defined in Codec.Compression.Zlib.Stream Methods compare :: DictionaryHash -> DictionaryHash -> Ordering # (<) :: DictionaryHash -> DictionaryHash -> Bool # (<=) :: DictionaryHash -> DictionaryHash -> Bool # (>) :: DictionaryHash -> DictionaryHash -> Bool # (>=) :: DictionaryHash -> DictionaryHash -> Bool # | |
Ord Format | |
Ord Method | |
Ord WindowBits | |
Defined in Codec.Compression.Zlib.Stream | |
Ord ChallengeSpec Source # | |
Defined in AOC.Discover Methods compare :: ChallengeSpec -> ChallengeSpec -> Ordering # (<) :: ChallengeSpec -> ChallengeSpec -> Bool # (<=) :: ChallengeSpec -> ChallengeSpec -> Bool # (>) :: ChallengeSpec -> ChallengeSpec -> Bool # (>=) :: ChallengeSpec -> ChallengeSpec -> Bool # max :: ChallengeSpec -> ChallengeSpec -> ChallengeSpec # min :: ChallengeSpec -> ChallengeSpec -> ChallengeSpec # | |
Ord ExtContext | |
Defined in Language.Haskell.Exts.ParseMonad | |
Ord LexContext | |
Defined in Language.Haskell.Exts.ParseMonad | |
Ord Mod2 | |
Ord Boundary | |
Defined in Data.Interval.Internal | |
Ord Relation | |
Defined in Data.IntervalRelation | |
Ord BlinkSpeed | |
Defined in System.Console.ANSI.Types | |
Ord Color | |
Ord ColorIntensity | |
Defined in System.Console.ANSI.Types Methods compare :: ColorIntensity -> ColorIntensity -> Ordering # (<) :: ColorIntensity -> ColorIntensity -> Bool # (<=) :: ColorIntensity -> ColorIntensity -> Bool # (>) :: ColorIntensity -> ColorIntensity -> Bool # (>=) :: ColorIntensity -> ColorIntensity -> Bool # | |
Ord ConsoleIntensity | |
Defined in System.Console.ANSI.Types Methods compare :: ConsoleIntensity -> ConsoleIntensity -> Ordering # (<) :: ConsoleIntensity -> ConsoleIntensity -> Bool # (<=) :: ConsoleIntensity -> ConsoleIntensity -> Bool # (>) :: ConsoleIntensity -> ConsoleIntensity -> Bool # (>=) :: ConsoleIntensity -> ConsoleIntensity -> Bool # max :: ConsoleIntensity -> ConsoleIntensity -> ConsoleIntensity # min :: ConsoleIntensity -> ConsoleIntensity -> ConsoleIntensity # | |
Ord ConsoleLayer | |
Defined in System.Console.ANSI.Types | |
Ord Underlining | |
Defined in System.Console.ANSI.Types | |
Ord Extension | |
Ord Extensions | |
Defined in Text.Pandoc.Extensions | |
Ord LogMessage | |
Defined in Text.Pandoc.Logging | |
Ord Verbosity | |
Ord Alignment | |
Ord Block | |
Ord Caption | |
Defined in Text.Pandoc.Definition | |
Ord Cell | |
Ord Citation | |
Defined in Text.Pandoc.Definition | |
Ord CitationMode | |
Defined in Text.Pandoc.Definition | |
Ord ColSpan | |
Defined in Text.Pandoc.Definition | |
Ord ColWidth | |
Defined in Text.Pandoc.Definition | |
Ord Format | |
Ord Inline | |
Ord ListNumberDelim | |
Defined in Text.Pandoc.Definition Methods compare :: ListNumberDelim -> ListNumberDelim -> Ordering # (<) :: ListNumberDelim -> ListNumberDelim -> Bool # (<=) :: ListNumberDelim -> ListNumberDelim -> Bool # (>) :: ListNumberDelim -> ListNumberDelim -> Bool # (>=) :: ListNumberDelim -> ListNumberDelim -> Bool # max :: ListNumberDelim -> ListNumberDelim -> ListNumberDelim # min :: ListNumberDelim -> ListNumberDelim -> ListNumberDelim # | |
Ord ListNumberStyle | |
Defined in Text.Pandoc.Definition Methods compare :: ListNumberStyle -> ListNumberStyle -> Ordering # (<) :: ListNumberStyle -> ListNumberStyle -> Bool # (<=) :: ListNumberStyle -> ListNumberStyle -> Bool # (>) :: ListNumberStyle -> ListNumberStyle -> Bool # (>=) :: ListNumberStyle -> ListNumberStyle -> Bool # max :: ListNumberStyle -> ListNumberStyle -> ListNumberStyle # min :: ListNumberStyle -> ListNumberStyle -> ListNumberStyle # | |
Ord MathType | |
Defined in Text.Pandoc.Definition | |
Ord Meta | |
Ord MetaValue | |
Ord Pandoc | |
Ord QuoteType | |
Ord Row | |
Ord RowHeadColumns | |
Defined in Text.Pandoc.Definition Methods compare :: RowHeadColumns -> RowHeadColumns -> Ordering # (<) :: RowHeadColumns -> RowHeadColumns -> Bool # (<=) :: RowHeadColumns -> RowHeadColumns -> Bool # (>) :: RowHeadColumns -> RowHeadColumns -> Bool # (>=) :: RowHeadColumns -> RowHeadColumns -> Bool # | |
Ord RowSpan | |
Defined in Text.Pandoc.Definition | |
Ord TableBody | |
Ord TableFoot | |
Ord TableHead | |
Ord Name | |
Ord StackIndex | |
Ord NumResults | |
Ord TypeCode | |
Defined in Lua.Types | |
Ord Chomp | |
Ord IndentOfs | |
Ord NodeStyle | |
Ord ScalarStyle | |
Defined in Data.YAML.Event.Internal | |
Ord Tag | |
Ord Scalar | |
Ord PixelRGB8 | |
Ord PixelRGBA8 | |
Defined in Codec.Picture.Types | |
Ord PixelCMYK16 | |
Defined in Codec.Picture.Types | |
Ord PixelCMYK8 | |
Defined in Codec.Picture.Types | |
Ord PixelRGB16 | |
Defined in Codec.Picture.Types | |
Ord PixelRGBA16 | |
Defined in Codec.Picture.Types | |
Ord PixelYA16 | |
Ord PixelYA8 | |
Defined in Codec.Picture.Types | |
Ord PixelYCbCr8 | |
Defined in Codec.Picture.Types | |
Ord PixelRGBF | |
Ord PixelYCbCrK8 | |
Defined in Codec.Picture.Types | |
Ord Alignment | |
Ord Border | |
Ord Pipe | |
Ord Variable | |
Defined in Text.DocTemplates.Internal | |
Ord Integer | |
Ord NumArgs | |
Ord Number | |
Ord Abbreviations | |
Defined in Citeproc.Types Methods compare :: Abbreviations -> Abbreviations -> Ordering # (<) :: Abbreviations -> Abbreviations -> Bool # (<=) :: Abbreviations -> Abbreviations -> Bool # (>) :: Abbreviations -> Abbreviations -> Bool # (>=) :: Abbreviations -> Abbreviations -> Bool # | |
Ord CitationItemType | |
Defined in Citeproc.Types Methods compare :: CitationItemType -> CitationItemType -> Ordering # (<) :: CitationItemType -> CitationItemType -> Bool # (<=) :: CitationItemType -> CitationItemType -> Bool # (>) :: CitationItemType -> CitationItemType -> Bool # (>=) :: CitationItemType -> CitationItemType -> Bool # max :: CitationItemType -> CitationItemType -> CitationItemType # min :: CitationItemType -> CitationItemType -> CitationItemType # | |
Ord DPName | |
Ord Date | |
Ord DateParts | |
Ord DateType | |
Defined in Citeproc.Types | |
Ord DisambiguationStrategy | |
Defined in Citeproc.Types Methods compare :: DisambiguationStrategy -> DisambiguationStrategy -> Ordering # (<) :: DisambiguationStrategy -> DisambiguationStrategy -> Bool # (<=) :: DisambiguationStrategy -> DisambiguationStrategy -> Bool # (>) :: DisambiguationStrategy -> DisambiguationStrategy -> Bool # (>=) :: DisambiguationStrategy -> DisambiguationStrategy -> Bool # max :: DisambiguationStrategy -> DisambiguationStrategy -> DisambiguationStrategy # min :: DisambiguationStrategy -> DisambiguationStrategy -> DisambiguationStrategy # | |
Ord GivenNameDisambiguationRule | |
Defined in Citeproc.Types Methods compare :: GivenNameDisambiguationRule -> GivenNameDisambiguationRule -> Ordering # (<) :: GivenNameDisambiguationRule -> GivenNameDisambiguationRule -> Bool # (<=) :: GivenNameDisambiguationRule -> GivenNameDisambiguationRule -> Bool # (>) :: GivenNameDisambiguationRule -> GivenNameDisambiguationRule -> Bool # (>=) :: GivenNameDisambiguationRule -> GivenNameDisambiguationRule -> Bool # max :: GivenNameDisambiguationRule -> GivenNameDisambiguationRule -> GivenNameDisambiguationRule # min :: GivenNameDisambiguationRule -> GivenNameDisambiguationRule -> GivenNameDisambiguationRule # | |
Ord ItemId | |
Ord Name | |
Ord PageRangeFormat | |
Defined in Citeproc.Types Methods compare :: PageRangeFormat -> PageRangeFormat -> Ordering # (<) :: PageRangeFormat -> PageRangeFormat -> Bool # (<=) :: PageRangeFormat -> PageRangeFormat -> Bool # (>) :: PageRangeFormat -> PageRangeFormat -> Bool # (>=) :: PageRangeFormat -> PageRangeFormat -> Bool # max :: PageRangeFormat -> PageRangeFormat -> PageRangeFormat # min :: PageRangeFormat -> PageRangeFormat -> PageRangeFormat # | |
Ord Position | |
Defined in Citeproc.Types | |
Ord Term | |
Ord TermForm | |
Defined in Citeproc.Types | |
Ord TermGender | |
Ord TermMatch | |
Ord TermNumber | |
Ord Variable | |
Defined in Citeproc.Types | |
Ord Style | |
Ord Syntax | |
Ord ANSIColorLevel | |
Defined in Skylighting.Types Methods compare :: ANSIColorLevel -> ANSIColorLevel -> Ordering # (<) :: ANSIColorLevel -> ANSIColorLevel -> Bool # (<=) :: ANSIColorLevel -> ANSIColorLevel -> Bool # (>) :: ANSIColorLevel -> ANSIColorLevel -> Bool # (>=) :: ANSIColorLevel -> ANSIColorLevel -> Bool # | |
Ord Color | |
Ord Context | |
Ord ContextSwitch | |
Defined in Skylighting.Types Methods compare :: ContextSwitch -> ContextSwitch -> Ordering # (<) :: ContextSwitch -> ContextSwitch -> Bool # (<=) :: ContextSwitch -> ContextSwitch -> Bool # (>) :: ContextSwitch -> ContextSwitch -> Bool # (>=) :: ContextSwitch -> ContextSwitch -> Bool # | |
Ord FormatOptions | |
Defined in Skylighting.Types Methods compare :: FormatOptions -> FormatOptions -> Ordering # (<) :: FormatOptions -> FormatOptions -> Bool # (<=) :: FormatOptions -> FormatOptions -> Bool # (>) :: FormatOptions -> FormatOptions -> Bool # (>=) :: FormatOptions -> FormatOptions -> Bool # | |
Ord KeywordAttr | |
Defined in Skylighting.Types | |
Ord ListItem | |
Defined in Skylighting.Types | |
Ord Matcher | |
Ord Rule | |
Ord TokenStyle | |
Ord TokenType | |
Ord Xterm256ColorCode | |
Defined in Skylighting.Types Methods compare :: Xterm256ColorCode -> Xterm256ColorCode -> Ordering # (<) :: Xterm256ColorCode -> Xterm256ColorCode -> Bool # (<=) :: Xterm256ColorCode -> Xterm256ColorCode -> Bool # (>) :: Xterm256ColorCode -> Xterm256ColorCode -> Bool # (>=) :: Xterm256ColorCode -> Xterm256ColorCode -> Bool # max :: Xterm256ColorCode -> Xterm256ColorCode -> Xterm256ColorCode # min :: Xterm256ColorCode -> Xterm256ColorCode -> Xterm256ColorCode # | |
Ord RE | |
Ord CharStyleId | |
Defined in Text.Pandoc.Readers.Docx.Parse.Styles | |
Ord CharStyleName | |
Defined in Text.Pandoc.Readers.Docx.Parse.Styles Methods compare :: CharStyleName -> CharStyleName -> Ordering # (<) :: CharStyleName -> CharStyleName -> Bool # (<=) :: CharStyleName -> CharStyleName -> Bool # (>) :: CharStyleName -> CharStyleName -> Bool # (>=) :: CharStyleName -> CharStyleName -> Bool # | |
Ord ParaStyleId | |
Defined in Text.Pandoc.Readers.Docx.Parse.Styles | |
Ord ParaStyleName | |
Defined in Text.Pandoc.Readers.Docx.Parse.Styles Methods compare :: ParaStyleName -> ParaStyleName -> Ordering # (<) :: ParaStyleName -> ParaStyleName -> Bool # (<=) :: ParaStyleName -> ParaStyleName -> Bool # (>) :: ParaStyleName -> ParaStyleName -> Bool # (>=) :: ParaStyleName -> ParaStyleName -> Bool # | |
Ord CIString | |
Defined in Text.Pandoc.Readers.Docx.Parse.Styles | |
Ord Term | |
Ord BodyRow | |
Defined in Text.Pandoc.Writers.AnnotatedTable | |
Ord Cell | |
Ord ColNumber | |
Defined in Text.Pandoc.Writers.AnnotatedTable | |
Ord HeaderRow | |
Defined in Text.Pandoc.Writers.AnnotatedTable | |
Ord RowNumber | |
Defined in Text.Pandoc.Writers.AnnotatedTable | |
Ord Table | |
Ord TableBody | |
Defined in Text.Pandoc.Writers.AnnotatedTable | |
Ord TableFoot | |
Defined in Text.Pandoc.Writers.AnnotatedTable | |
Ord TableHead | |
Defined in Text.Pandoc.Writers.AnnotatedTable | |
Ord BidiClass | |
Ord DecompositionType | |
Defined in Text.Collate.UnicodeData Methods compare :: DecompositionType -> DecompositionType -> Ordering # (<) :: DecompositionType -> DecompositionType -> Bool # (<=) :: DecompositionType -> DecompositionType -> Bool # (>) :: DecompositionType -> DecompositionType -> Bool # (>=) :: DecompositionType -> DecompositionType -> Bool # max :: DecompositionType -> DecompositionType -> DecompositionType # min :: DecompositionType -> DecompositionType -> DecompositionType # | |
Ord GeneralCategory | |
Defined in Text.Collate.UnicodeData Methods compare :: GeneralCategory -> GeneralCategory -> Ordering # (<) :: GeneralCategory -> GeneralCategory -> Bool # (<=) :: GeneralCategory -> GeneralCategory -> Bool # (>) :: GeneralCategory -> GeneralCategory -> Bool # (>=) :: GeneralCategory -> GeneralCategory -> Bool # max :: GeneralCategory -> GeneralCategory -> GeneralCategory # min :: GeneralCategory -> GeneralCategory -> GeneralCategory # | |
Ord UChar | |
Ord Content | |
Ord Doctype | |
Ord Document | |
Defined in Data.XML.Types | |
Ord Element | |
Ord Event | |
Ord ExternalID | |
Ord Instruction | |
Defined in Data.XML.Types | |
Ord Miscellaneous | |
Defined in Data.XML.Types Methods compare :: Miscellaneous -> Miscellaneous -> Ordering # (<) :: Miscellaneous -> Miscellaneous -> Bool # (<=) :: Miscellaneous -> Miscellaneous -> Bool # (>) :: Miscellaneous -> Miscellaneous -> Bool # (>=) :: Miscellaneous -> Miscellaneous -> Bool # | |
Ord Name | |
Ord Node | |
Ord Prologue | |
Defined in Data.XML.Types | |
Ord GCControl | |
Ord RelationalOperator | |
Defined in HsLua.Core.Types Methods compare :: RelationalOperator -> RelationalOperator -> Ordering # (<) :: RelationalOperator -> RelationalOperator -> Bool # (<=) :: RelationalOperator -> RelationalOperator -> Bool # (>) :: RelationalOperator -> RelationalOperator -> Bool # (>=) :: RelationalOperator -> RelationalOperator -> Bool # max :: RelationalOperator -> RelationalOperator -> RelationalOperator # min :: RelationalOperator -> RelationalOperator -> RelationalOperator # | |
Ord Type | |
Ord MatchType | |
Ord Verbosity | |
Ord OutlierEffect | |
Defined in Criterion.Types Methods compare :: OutlierEffect -> OutlierEffect -> Ordering # (<) :: OutlierEffect -> OutlierEffect -> Bool # (<=) :: OutlierEffect -> OutlierEffect -> Bool # (>) :: OutlierEffect -> OutlierEffect -> Bool # (>=) :: OutlierEffect -> OutlierEffect -> Bool # | |
Ord Key | |
Ord Node | |
Ord PName | |
Ord Template | |
Defined in Text.Microstache.Type | |
Ord ContParam | |
Ord ShortText | |
Ord B | |
Ord a => Ord [a] | |
Ord a => Ord (Maybe a) | Since: base-2.1 |
Integral a => Ord (Ratio a) | Since: base-2.0.1 |
Ord (Ptr a) | Since: base-2.1 |
Ord (FunPtr a) | |
Defined in GHC.Ptr | |
Ord p => Ord (Par1 p) | Since: base-4.7.0.0 |
Ord a => Ord (First a) | Since: base-4.9.0.0 |
Ord a => Ord (Last a) | Since: base-4.9.0.0 |
Ord a => Ord (NonEmptySet a) | |
Defined in Distribution.Compat.NonEmptySet Methods compare :: NonEmptySet a -> NonEmptySet a -> Ordering # (<) :: NonEmptySet a -> NonEmptySet a -> Bool # (<=) :: NonEmptySet a -> NonEmptySet a -> Bool # (>) :: NonEmptySet a -> NonEmptySet a -> Bool # (>=) :: NonEmptySet a -> NonEmptySet a -> Bool # max :: NonEmptySet a -> NonEmptySet a -> NonEmptySet a # min :: NonEmptySet a -> NonEmptySet a -> NonEmptySet a # | |
Ord a => Ord (First' a) | |
Defined in Distribution.Compat.Semigroup | |
Ord a => Ord (Last' a) | |
Defined in Distribution.Compat.Semigroup | |
Ord a => Ord (Option' a) | |
Ord a => Ord (Set a) | |
Ord a => Ord (NonEmpty a) | Since: base-4.9.0.0 |
Ord a => Ord (Identity a) | Since: base-4.8.0.0 |
Defined in Data.Functor.Identity | |
Ord (ForeignPtr a) | Since: base-2.1 |
Defined in GHC.ForeignPtr Methods compare :: ForeignPtr a -> ForeignPtr a -> Ordering # (<) :: ForeignPtr a -> ForeignPtr a -> Bool # (<=) :: ForeignPtr a -> ForeignPtr a -> Bool # (>) :: ForeignPtr a -> ForeignPtr a -> Bool # (>=) :: ForeignPtr a -> ForeignPtr a -> Bool # max :: ForeignPtr a -> ForeignPtr a -> ForeignPtr a # min :: ForeignPtr a -> ForeignPtr a -> ForeignPtr a # | |
Ord a => Ord (Min a) | Since: base-4.9.0.0 |
Ord a => Ord (Max a) | Since: base-4.9.0.0 |
Ord m => Ord (WrappedMonoid m) | Since: base-4.9.0.0 |
Defined in Data.Semigroup Methods compare :: WrappedMonoid m -> WrappedMonoid m -> Ordering # (<) :: WrappedMonoid m -> WrappedMonoid m -> Bool # (<=) :: WrappedMonoid m -> WrappedMonoid m -> Bool # (>) :: WrappedMonoid m -> WrappedMonoid m -> Bool # (>=) :: WrappedMonoid m -> WrappedMonoid m -> Bool # max :: WrappedMonoid m -> WrappedMonoid m -> WrappedMonoid m # min :: WrappedMonoid m -> WrappedMonoid m -> WrappedMonoid m # | |
Ord a => Ord (Option a) | Since: base-4.9.0.0 |
Defined in Data.Semigroup | |
Ord a => Ord (ZipList a) | Since: base-4.7.0.0 |
Ord a => Ord (First a) | Since: base-2.1 |
Ord a => Ord (Last a) | Since: base-2.1 |
Ord a => Ord (Dual a) | Since: base-2.1 |
Ord a => Ord (Sum a) | Since: base-2.1 |
Ord a => Ord (Product a) | Since: base-2.1 |
Ord a => Ord (Down a) | Since: base-4.6.0.0 |
Ord a => Ord (IntMap a) | |
Defined in Data.IntMap.Internal | |
Ord a => Ord (Seq a) | |
Ord a => Ord (ViewL a) | |
Defined in Data.Sequence.Internal | |
Ord a => Ord (ViewR a) | |
Defined in Data.Sequence.Internal | |
Ord flag => Ord (TyVarBndr flag) | |
Defined in Language.Haskell.TH.Syntax Methods compare :: TyVarBndr flag -> TyVarBndr flag -> Ordering # (<) :: TyVarBndr flag -> TyVarBndr flag -> Bool # (<=) :: TyVarBndr flag -> TyVarBndr flag -> Bool # (>) :: TyVarBndr flag -> TyVarBndr flag -> Bool # (>=) :: TyVarBndr flag -> TyVarBndr flag -> Bool # | |
Ord a => Ord (Hashed a) | |
Defined in Data.Hashable.Class | |
Ord a => Ord (HashSet a) | |
Ord (Finite n) | |
Defined in Data.Finite.Internal | |
Ord a => Ord (Vector a) | |
Defined in Data.Vector | |
(Storable a, Ord a) => Ord (Vector a) | |
Defined in Data.Vector.Storable | |
(Prim a, Ord a) => Ord (Vector a) | |
Defined in Data.Vector.Primitive | |
Ord (FinitarySet a) Source # | |
Defined in AOC.Common.FinitarySet Methods compare :: FinitarySet a -> FinitarySet a -> Ordering # (<) :: FinitarySet a -> FinitarySet a -> Bool # (<=) :: FinitarySet a -> FinitarySet a -> Bool # (>) :: FinitarySet a -> FinitarySet a -> Bool # (>=) :: FinitarySet a -> FinitarySet a -> Bool # max :: FinitarySet a -> FinitarySet a -> FinitarySet a # min :: FinitarySet a -> FinitarySet a -> FinitarySet a # | |
Ord a => Ord (Array a) | |
Defined in Data.Primitive.Array | |
Ord a => Ord (Only a) | |
(Ord a, Prim a) => Ord (PrimArray a) | |
Defined in Data.Primitive.PrimArray | |
Ord a => Ord (SmallArray a) | |
Defined in Data.Primitive.SmallArray | |
Ord a => Ord (NESet a) | |
Defined in Data.Set.NonEmpty.Internal | |
Ord a => Ord (T1 a) | |
Ord a => Ord (Quaternion a) | |
Defined in Linear.Quaternion | |
Ord (V0 a) | |
Ord a => Ord (V1 a) | |
Ord a => Ord (V2 a) | |
Ord a => Ord (V3 a) | |
Ord a => Ord (V4 a) | |
Ord a => Ord (Maybe a) | |
Ord n => Ord (VarInt n) | |
Defined in Data.Bytes.VarInt | |
Ord a => Ord (Plucker a) | |
Ord g => Ord (StateGen g) | |
Defined in System.Random.Internal | |
Ord1 f => Ord (Fix f) | |
(Functor f, Ord1 f) => Ord (Mu f) | |
(Functor f, Ord1 f) => Ord (Nu f) | |
Ord a => Ord (DNonEmpty a) | |
Defined in Data.DList.DNonEmpty.Internal | |
Ord a => Ord (DList a) | |
Ord g => Ord (AtomicGen g) | |
Defined in System.Random.Stateful | |
Ord g => Ord (IOGen g) | |
Defined in System.Random.Stateful | |
Ord g => Ord (STGen g) | |
Defined in System.Random.Stateful | |
Ord g => Ord (TGen g) | |
Ord (Encoding' a) | |
Defined in Data.Aeson.Encoding.Internal | |
Ord a => Ord (Flush a) | |
Defined in Data.Conduit.Internal.Conduit | |
Ord a => Ord (LPath a) | |
Defined in Data.Graph.Inductive.Graph | |
Ord e => Ord (ErrorFancy e) | |
Defined in Text.Megaparsec.Error | |
Ord t => Ord (ErrorItem t) | |
Defined in Text.Megaparsec.Error | |
Ord a => Ord (TokStream a) Source # | |
Defined in AOC.Common | |
Ord a => Ord (NEIntMap a) | |
Defined in Data.IntMap.NonEmpty.Internal | |
Ord s => Ord (CI s) | |
Ord a => Ord (ParseResult a) | |
Defined in Language.Haskell.Exts.ParseMonad Methods compare :: ParseResult a -> ParseResult a -> Ordering # (<) :: ParseResult a -> ParseResult a -> Bool # (<=) :: ParseResult a -> ParseResult a -> Bool # (>) :: ParseResult a -> ParseResult a -> Bool # (>=) :: ParseResult a -> ParseResult a -> Bool # | |
Ord a => Ord (ListOf a) | |
Defined in Language.Haskell.Exts.Parser | |
Ord l => Ord (ModuleHeadAndImports l) | |
Defined in Language.Haskell.Exts.Parser Methods compare :: ModuleHeadAndImports l -> ModuleHeadAndImports l -> Ordering # (<) :: ModuleHeadAndImports l -> ModuleHeadAndImports l -> Bool # (<=) :: ModuleHeadAndImports l -> ModuleHeadAndImports l -> Bool # (>) :: ModuleHeadAndImports l -> ModuleHeadAndImports l -> Bool # (>=) :: ModuleHeadAndImports l -> ModuleHeadAndImports l -> Bool # max :: ModuleHeadAndImports l -> ModuleHeadAndImports l -> ModuleHeadAndImports l # min :: ModuleHeadAndImports l -> ModuleHeadAndImports l -> ModuleHeadAndImports l # | |
Ord a => Ord (NonGreedy a) | |
Defined in Language.Haskell.Exts.Parser | |
Ord l => Ord (PragmasAndModuleHead l) | |
Defined in Language.Haskell.Exts.Parser Methods compare :: PragmasAndModuleHead l -> PragmasAndModuleHead l -> Ordering # (<) :: PragmasAndModuleHead l -> PragmasAndModuleHead l -> Bool # (<=) :: PragmasAndModuleHead l -> PragmasAndModuleHead l -> Bool # (>) :: PragmasAndModuleHead l -> PragmasAndModuleHead l -> Bool # (>=) :: PragmasAndModuleHead l -> PragmasAndModuleHead l -> Bool # max :: PragmasAndModuleHead l -> PragmasAndModuleHead l -> PragmasAndModuleHead l # min :: PragmasAndModuleHead l -> PragmasAndModuleHead l -> PragmasAndModuleHead l # | |
Ord l => Ord (PragmasAndModuleName l) | |
Defined in Language.Haskell.Exts.Parser Methods compare :: PragmasAndModuleName l -> PragmasAndModuleName l -> Ordering # (<) :: PragmasAndModuleName l -> PragmasAndModuleName l -> Bool # (<=) :: PragmasAndModuleName l -> PragmasAndModuleName l -> Bool # (>) :: PragmasAndModuleName l -> PragmasAndModuleName l -> Bool # (>=) :: PragmasAndModuleName l -> PragmasAndModuleName l -> Bool # max :: PragmasAndModuleName l -> PragmasAndModuleName l -> PragmasAndModuleName l # min :: PragmasAndModuleName l -> PragmasAndModuleName l -> PragmasAndModuleName l # | |
Ord a => Ord (Loc a) | |
Ord l => Ord (Activation l) | |
Defined in Language.Haskell.Exts.Syntax | |
Ord l => Ord (Alt l) | |
Ord l => Ord (Annotation l) | |
Defined in Language.Haskell.Exts.Syntax | |
Ord l => Ord (Assoc l) | |
Defined in Language.Haskell.Exts.Syntax | |
Ord l => Ord (Asst l) | |
Ord l => Ord (BangType l) | |
Defined in Language.Haskell.Exts.Syntax | |
Ord l => Ord (Binds l) | |
Defined in Language.Haskell.Exts.Syntax | |
Ord l => Ord (BooleanFormula l) | |
Defined in Language.Haskell.Exts.Syntax Methods compare :: BooleanFormula l -> BooleanFormula l -> Ordering # (<) :: BooleanFormula l -> BooleanFormula l -> Bool # (<=) :: BooleanFormula l -> BooleanFormula l -> Bool # (>) :: BooleanFormula l -> BooleanFormula l -> Bool # (>=) :: BooleanFormula l -> BooleanFormula l -> Bool # max :: BooleanFormula l -> BooleanFormula l -> BooleanFormula l # min :: BooleanFormula l -> BooleanFormula l -> BooleanFormula l # | |
Ord l => Ord (Bracket l) | |
Ord l => Ord (CName l) | |
Defined in Language.Haskell.Exts.Syntax | |
Ord l => Ord (CallConv l) | |
Defined in Language.Haskell.Exts.Syntax | |
Ord l => Ord (ClassDecl l) | |
Defined in Language.Haskell.Exts.Syntax | |
Ord l => Ord (ConDecl l) | |
Ord l => Ord (Context l) | |
Ord l => Ord (DataOrNew l) | |
Defined in Language.Haskell.Exts.Syntax | |
Ord l => Ord (Decl l) | |
Ord l => Ord (DeclHead l) | |
Defined in Language.Haskell.Exts.Syntax | |
Ord l => Ord (DerivStrategy l) | |
Defined in Language.Haskell.Exts.Syntax Methods compare :: DerivStrategy l -> DerivStrategy l -> Ordering # (<) :: DerivStrategy l -> DerivStrategy l -> Bool # (<=) :: DerivStrategy l -> DerivStrategy l -> Bool # (>) :: DerivStrategy l -> DerivStrategy l -> Bool # (>=) :: DerivStrategy l -> DerivStrategy l -> Bool # max :: DerivStrategy l -> DerivStrategy l -> DerivStrategy l # min :: DerivStrategy l -> DerivStrategy l -> DerivStrategy l # | |
Ord l => Ord (Deriving l) | |
Defined in Language.Haskell.Exts.Syntax | |
Ord l => Ord (EWildcard l) | |
Defined in Language.Haskell.Exts.Syntax | |
Ord l => Ord (Exp l) | |
Ord l => Ord (ExportSpec l) | |
Defined in Language.Haskell.Exts.Syntax | |
Ord l => Ord (ExportSpecList l) | |
Defined in Language.Haskell.Exts.Syntax Methods compare :: ExportSpecList l -> ExportSpecList l -> Ordering # (<) :: ExportSpecList l -> ExportSpecList l -> Bool # (<=) :: ExportSpecList l -> ExportSpecList l -> Bool # (>) :: ExportSpecList l -> ExportSpecList l -> Bool # (>=) :: ExportSpecList l -> ExportSpecList l -> Bool # max :: ExportSpecList l -> ExportSpecList l -> ExportSpecList l # min :: ExportSpecList l -> ExportSpecList l -> ExportSpecList l # | |
Ord l => Ord (FieldDecl l) | |
Defined in Language.Haskell.Exts.Syntax | |
Ord l => Ord (FieldUpdate l) | |
Defined in Language.Haskell.Exts.Syntax Methods compare :: FieldUpdate l -> FieldUpdate l -> Ordering # (<) :: FieldUpdate l -> FieldUpdate l -> Bool # (<=) :: FieldUpdate l -> FieldUpdate l -> Bool # (>) :: FieldUpdate l -> FieldUpdate l -> Bool # (>=) :: FieldUpdate l -> FieldUpdate l -> Bool # | |
Ord l => Ord (FunDep l) | |
Defined in Language.Haskell.Exts.Syntax | |
Ord l => Ord (GadtDecl l) | |
Defined in Language.Haskell.Exts.Syntax | |
Ord l => Ord (GuardedRhs l) | |
Defined in Language.Haskell.Exts.Syntax | |
Ord l => Ord (IPBind l) | |
Defined in Language.Haskell.Exts.Syntax | |
Ord l => Ord (IPName l) | |
Defined in Language.Haskell.Exts.Syntax | |
Ord l => Ord (ImportDecl l) | |
Defined in Language.Haskell.Exts.Syntax | |
Ord l => Ord (ImportSpec l) | |
Defined in Language.Haskell.Exts.Syntax | |
Ord l => Ord (ImportSpecList l) | |
Defined in Language.Haskell.Exts.Syntax Methods compare :: ImportSpecList l -> ImportSpecList l -> Ordering # (<) :: ImportSpecList l -> ImportSpecList l -> Bool # (<=) :: ImportSpecList l -> ImportSpecList l -> Bool # (>) :: ImportSpecList l -> ImportSpecList l -> Bool # (>=) :: ImportSpecList l -> ImportSpecList l -> Bool # max :: ImportSpecList l -> ImportSpecList l -> ImportSpecList l # min :: ImportSpecList l -> ImportSpecList l -> ImportSpecList l # | |
Ord l => Ord (InjectivityInfo l) | |
Defined in Language.Haskell.Exts.Syntax Methods compare :: InjectivityInfo l -> InjectivityInfo l -> Ordering # (<) :: InjectivityInfo l -> InjectivityInfo l -> Bool # (<=) :: InjectivityInfo l -> InjectivityInfo l -> Bool # (>) :: InjectivityInfo l -> InjectivityInfo l -> Bool # (>=) :: InjectivityInfo l -> InjectivityInfo l -> Bool # max :: InjectivityInfo l -> InjectivityInfo l -> InjectivityInfo l # min :: InjectivityInfo l -> InjectivityInfo l -> InjectivityInfo l # | |
Ord l => Ord (InstDecl l) | |
Defined in Language.Haskell.Exts.Syntax | |
Ord l => Ord (InstHead l) | |
Defined in Language.Haskell.Exts.Syntax | |
Ord l => Ord (InstRule l) | |
Defined in Language.Haskell.Exts.Syntax | |
Ord l => Ord (Literal l) | |
Ord l => Ord (Match l) | |
Defined in Language.Haskell.Exts.Syntax | |
Ord l => Ord (MaybePromotedName l) | |
Defined in Language.Haskell.Exts.Syntax Methods compare :: MaybePromotedName l -> MaybePromotedName l -> Ordering # (<) :: MaybePromotedName l -> MaybePromotedName l -> Bool # (<=) :: MaybePromotedName l -> MaybePromotedName l -> Bool # (>) :: MaybePromotedName l -> MaybePromotedName l -> Bool # (>=) :: MaybePromotedName l -> MaybePromotedName l -> Bool # max :: MaybePromotedName l -> MaybePromotedName l -> MaybePromotedName l # min :: MaybePromotedName l -> MaybePromotedName l -> MaybePromotedName l # | |
Ord l => Ord (Module l) | |
Defined in Language.Haskell.Exts.Syntax | |
Ord l => Ord (ModuleHead l) | |
Defined in Language.Haskell.Exts.Syntax | |
Ord l => Ord (ModuleName l) | |
Defined in Language.Haskell.Exts.Syntax | |
Ord l => Ord (ModulePragma l) | |
Defined in Language.Haskell.Exts.Syntax Methods compare :: ModulePragma l -> ModulePragma l -> Ordering # (<) :: ModulePragma l -> ModulePragma l -> Bool # (<=) :: ModulePragma l -> ModulePragma l -> Bool # (>) :: ModulePragma l -> ModulePragma l -> Bool # (>=) :: ModulePragma l -> ModulePragma l -> Bool # | |
Ord l => Ord (Name l) | |
Ord l => Ord (Namespace l) | |
Defined in Language.Haskell.Exts.Syntax | |
Ord l => Ord (Op l) | |
Ord l => Ord (Overlap l) | |
Ord l => Ord (PXAttr l) | |
Defined in Language.Haskell.Exts.Syntax | |
Ord l => Ord (Pat l) | |
Ord l => Ord (PatField l) | |
Defined in Language.Haskell.Exts.Syntax | |
Ord l => Ord (PatternSynDirection l) | |
Defined in Language.Haskell.Exts.Syntax Methods compare :: PatternSynDirection l -> PatternSynDirection l -> Ordering # (<) :: PatternSynDirection l -> PatternSynDirection l -> Bool # (<=) :: PatternSynDirection l -> PatternSynDirection l -> Bool # (>) :: PatternSynDirection l -> PatternSynDirection l -> Bool # (>=) :: PatternSynDirection l -> PatternSynDirection l -> Bool # max :: PatternSynDirection l -> PatternSynDirection l -> PatternSynDirection l # min :: PatternSynDirection l -> PatternSynDirection l -> PatternSynDirection l # | |
Ord l => Ord (Promoted l) | |
Defined in Language.Haskell.Exts.Syntax | |
Ord l => Ord (QName l) | |
Defined in Language.Haskell.Exts.Syntax | |
Ord l => Ord (QOp l) | |
Ord l => Ord (QualConDecl l) | |
Defined in Language.Haskell.Exts.Syntax Methods compare :: QualConDecl l -> QualConDecl l -> Ordering # (<) :: QualConDecl l -> QualConDecl l -> Bool # (<=) :: QualConDecl l -> QualConDecl l -> Bool # (>) :: QualConDecl l -> QualConDecl l -> Bool # (>=) :: QualConDecl l -> QualConDecl l -> Bool # | |
Ord l => Ord (QualStmt l) | |
Defined in Language.Haskell.Exts.Syntax | |
Ord l => Ord (RPat l) | |
Ord l => Ord (RPatOp l) | |
Defined in Language.Haskell.Exts.Syntax | |
Ord l => Ord (ResultSig l) | |
Defined in Language.Haskell.Exts.Syntax | |
Ord l => Ord (Rhs l) | |
Ord l => Ord (Role l) | |
Ord l => Ord (Rule l) | |
Ord l => Ord (RuleVar l) | |
Ord l => Ord (Safety l) | |
Defined in Language.Haskell.Exts.Syntax | |
Ord l => Ord (Sign l) | |
Ord l => Ord (SpecialCon l) | |
Defined in Language.Haskell.Exts.Syntax | |
Ord l => Ord (Splice l) | |
Defined in Language.Haskell.Exts.Syntax | |
Ord l => Ord (Stmt l) | |
Ord l => Ord (TyVarBind l) | |
Defined in Language.Haskell.Exts.Syntax | |
Ord l => Ord (Type l) | |
Ord l => Ord (TypeEqn l) | |
Ord l => Ord (Unpackedness l) | |
Defined in Language.Haskell.Exts.Syntax Methods compare :: Unpackedness l -> Unpackedness l -> Ordering # (<) :: Unpackedness l -> Unpackedness l -> Bool # (<=) :: Unpackedness l -> Unpackedness l -> Bool # (>) :: Unpackedness l -> Unpackedness l -> Bool # (>=) :: Unpackedness l -> Unpackedness l -> Bool # | |
Ord l => Ord (WarningText l) | |
Defined in Language.Haskell.Exts.Syntax Methods compare :: WarningText l -> WarningText l -> Ordering # (<) :: WarningText l -> WarningText l -> Bool # (<=) :: WarningText l -> WarningText l -> Bool # (>) :: WarningText l -> WarningText l -> Bool # (>=) :: WarningText l -> WarningText l -> Bool # | |
Ord l => Ord (XAttr l) | |
Defined in Language.Haskell.Exts.Syntax | |
Ord l => Ord (XName l) | |
Defined in Language.Haskell.Exts.Syntax | |
Ord l => Ord (Error l) | |
Defined in Language.Haskell.Names.Types | |
Ord l => Ord (NameInfo l) | |
Defined in Language.Haskell.Names.Types | |
Ord l => Ord (Scoped l) | |
Defined in Language.Haskell.Names.Types | |
(PrimType ty, Ord ty) => Ord (UArray ty) | |
Ord (Offset ty) | |
(PrimType ty, Ord ty) => Ord (Block ty) | |
Defined in Basement.Block.Base | |
Ord (CountOf ty) | |
Defined in Basement.Types.OffsetSize | |
Ord (Zn n) | |
Ord (Zn64 n) | |
Ord (Digest a) | |
Defined in Crypto.Hash.Types | |
Ord a => Ord (AddrRange a) | |
Defined in Data.IP.Range | |
Ord a => Ord (I a) | |
Ord (MultMod m) | |
Defined in Math.NumberTheory.Moduli.Multiplicative | |
Ord a => Ord (Some (CyclicGroup a)) | |
Defined in Math.NumberTheory.Moduli.Singleton Methods compare :: Some (CyclicGroup a) -> Some (CyclicGroup a) -> Ordering # (<) :: Some (CyclicGroup a) -> Some (CyclicGroup a) -> Bool # (<=) :: Some (CyclicGroup a) -> Some (CyclicGroup a) -> Bool # (>) :: Some (CyclicGroup a) -> Some (CyclicGroup a) -> Bool # (>=) :: Some (CyclicGroup a) -> Some (CyclicGroup a) -> Bool # max :: Some (CyclicGroup a) -> Some (CyclicGroup a) -> Some (CyclicGroup a) # min :: Some (CyclicGroup a) -> Some (CyclicGroup a) -> Some (CyclicGroup a) # | |
Ord a => Ord (Some (SFactors a)) | |
Defined in Math.NumberTheory.Moduli.Singleton Methods compare :: Some (SFactors a) -> Some (SFactors a) -> Ordering # (<) :: Some (SFactors a) -> Some (SFactors a) -> Bool # (<=) :: Some (SFactors a) -> Some (SFactors a) -> Bool # (>) :: Some (SFactors a) -> Some (SFactors a) -> Bool # (>=) :: Some (SFactors a) -> Some (SFactors a) -> Bool # max :: Some (SFactors a) -> Some (SFactors a) -> Some (SFactors a) # min :: Some (SFactors a) -> Some (SFactors a) -> Some (SFactors a) # | |
Ord (Mod m) | |
Ord a => Ord (Prime a) | |
Defined in Math.NumberTheory.Primes.Types | |
Ord a => Ord (Add a) | |
Ord (IntSetOf a) | |
Ord a => Ord (Mul a) | |
Ord a => Ord (WrappedNum a) | |
Defined in Data.Semiring | |
Ord a => Ord (NESeq a) | |
Defined in Data.Sequence.NonEmpty.Internal | |
Ord a => Ord (MonoidalIntMap a) | |
Defined in Data.IntMap.Monoidal.Strict Methods compare :: MonoidalIntMap a -> MonoidalIntMap a -> Ordering # (<) :: MonoidalIntMap a -> MonoidalIntMap a -> Bool # (<=) :: MonoidalIntMap a -> MonoidalIntMap a -> Bool # (>) :: MonoidalIntMap a -> MonoidalIntMap a -> Bool # (>=) :: MonoidalIntMap a -> MonoidalIntMap a -> Bool # max :: MonoidalIntMap a -> MonoidalIntMap a -> MonoidalIntMap a # min :: MonoidalIntMap a -> MonoidalIntMap a -> MonoidalIntMap a # | |
Ord r => Ord (Extended r) | |
Ord r => Ord (LB r) | |
Ord a => Ord (Join a) | |
Ord a => Ord (Meet a) | |
Ord a => Ord (GMonoid a) | |
Ord (Fin n) | |
Ord a => Ord (Template a) | |
Defined in Text.DocTemplates.Internal | |
Ord a => Ord (Many a) | |
Ord n => Ord (Doc n) | |
Ord (Node loc) | |
Defined in Data.YAML.Internal | |
Ord a => Ord (Doc a) | |
Ord a => Ord (Resolved a) | |
Defined in Text.DocTemplates.Internal | |
Ord mono => Ord (NonNull mono) | |
Defined in Data.NonNull | |
Ord a => Ord (Citation a) | |
Ord a => Ord (CitationItem a) | |
Defined in Citeproc.Types Methods compare :: CitationItem a -> CitationItem a -> Ordering # (<) :: CitationItem a -> CitationItem a -> Bool # (<=) :: CitationItem a -> CitationItem a -> Bool # (>) :: CitationItem a -> CitationItem a -> Bool # (>=) :: CitationItem a -> CitationItem a -> Bool # | |
Ord a => Ord (WordSet a) | |
Ord a => Ord (CL a) | |
Ord a => Ord (PValue a) | |
Defined in Statistics.Types | |
(Ord a, Ord b) => Ord (Either a b) | Since: base-2.1 |
Ord (V1 p) | Since: base-4.9.0.0 |
Ord (U1 p) | Since: base-4.7.0.0 |
Ord (TypeRep a) | Since: base-4.4.0.0 |
(Ord a, Ord b) => Ord (a, b) | |
(Ord k, Ord v) => Ord (Map k v) | |
Ord (Proxy s) | Since: base-4.7.0.0 |
(Ix ix, Ord e, IArray UArray e) => Ord (UArray ix e) | |
Defined in Data.Array.Base | |
(Ix i, Ord e) => Ord (Array i e) | Since: base-2.1 |
Ord (Fixed a) | Since: base-2.1 |
Ord a => Ord (Arg a b) | Since: base-4.9.0.0 |
(Ord1 m, Ord a) => Ord (MaybeT m a) | |
Defined in Control.Monad.Trans.Maybe | |
(Ord1 m, Ord a) => Ord (ListT m a) | |
(Ord k, Ord v) => Ord (HashMap k v) | |
Defined in Data.HashMap.Internal | |
(Ord1 f, Ord a) => Ord (Cofree f a) | |
Defined in Control.Comonad.Cofree | |
(Ord i, Ord a) => Ord (Level i a) | |
(Ord a, Ord b) => Ord (These a b) | |
(Ord a, Ord b) => Ord (T2 a b) | |
(Ord k, Ord a) => Ord (NEMap k a) | |
(Ord1 f, Ord a) => Ord (Free f a) | |
Defined in Control.Monad.Free | |
(Ord1 f, Ord a) => Ord (Yoneda f a) | |
Defined in Data.Functor.Yoneda | |
(Ord a, Ord b) => Ord (Pair a b) | |
Defined in Data.Strict.Tuple | |
(Ord a, Ord b) => Ord (Either a b) | |
(Ord a, Ord b) => Ord (These a b) | |
(Ord a, Ord b) => Ord (ListF a b) | |
(Ord a, Ord b) => Ord (NonEmptyF a b) | |
Defined in Data.Functor.Base Methods compare :: NonEmptyF a b -> NonEmptyF a b -> Ordering # (<) :: NonEmptyF a b -> NonEmptyF a b -> Bool # (<=) :: NonEmptyF a b -> NonEmptyF a b -> Bool # (>) :: NonEmptyF a b -> NonEmptyF a b -> Bool # (>=) :: NonEmptyF a b -> NonEmptyF a b -> Bool # | |
(Ord a, Ord b) => Ord (TreeF a b) | |
Ord (CyclicGroup a m) | |
Defined in Math.NumberTheory.Moduli.Singleton Methods compare :: CyclicGroup a m -> CyclicGroup a m -> Ordering # (<) :: CyclicGroup a m -> CyclicGroup a m -> Bool # (<=) :: CyclicGroup a m -> CyclicGroup a m -> Bool # (>) :: CyclicGroup a m -> CyclicGroup a m -> Bool # (>=) :: CyclicGroup a m -> CyclicGroup a m -> Bool # max :: CyclicGroup a m -> CyclicGroup a m -> CyclicGroup a m # min :: CyclicGroup a m -> CyclicGroup a m -> CyclicGroup a m # | |
Ord (SFactors a m) | |
Defined in Math.NumberTheory.Moduli.Singleton | |
Ord v => Ord (IntMapOf k v) | |
Defined in Data.Semiring | |
(Ord k, Ord a) => Ord (MonoidalMap k a) | |
Defined in Data.Map.Monoidal.Strict Methods compare :: MonoidalMap k a -> MonoidalMap k a -> Ordering # (<) :: MonoidalMap k a -> MonoidalMap k a -> Bool # (<=) :: MonoidalMap k a -> MonoidalMap k a -> Bool # (>) :: MonoidalMap k a -> MonoidalMap k a -> Bool # (>=) :: MonoidalMap k a -> MonoidalMap k a -> Bool # max :: MonoidalMap k a -> MonoidalMap k a -> MonoidalMap k a # min :: MonoidalMap k a -> MonoidalMap k a -> MonoidalMap k a # | |
Ord x => Ord (Refined p x) | |
Defined in Refined.Unsafe.Type | |
(Ord a, Ord b) => Ord (These a b) | |
Ord (b (Const a :: Type -> Type)) => Ord (Container b a) | |
Defined in Barbies.Internal.Containers Methods compare :: Container b a -> Container b a -> Ordering # (<) :: Container b a -> Container b a -> Bool # (<=) :: Container b a -> Container b a -> Bool # (>) :: Container b a -> Container b a -> Bool # (>=) :: Container b a -> Container b a -> Bool # | |
Ord (b (Either e)) => Ord (ErrorContainer b e) | |
Defined in Barbies.Internal.Containers Methods compare :: ErrorContainer b e -> ErrorContainer b e -> Ordering # (<) :: ErrorContainer b e -> ErrorContainer b e -> Bool # (<=) :: ErrorContainer b e -> ErrorContainer b e -> Bool # (>) :: ErrorContainer b e -> ErrorContainer b e -> Bool # (>=) :: ErrorContainer b e -> ErrorContainer b e -> Bool # max :: ErrorContainer b e -> ErrorContainer b e -> ErrorContainer b e # min :: ErrorContainer b e -> ErrorContainer b e -> ErrorContainer b e # | |
Ord (Unit f) | |
Ord (Void f) | |
Ord a => Ord (Vec n a) | |
Ord (f p) => Ord (Rec1 f p) | Since: base-4.7.0.0 |
Defined in GHC.Generics | |
Ord (URec (Ptr ()) p) | Since: base-4.9.0.0 |
Defined in GHC.Generics Methods compare :: URec (Ptr ()) p -> URec (Ptr ()) p -> Ordering # (<) :: URec (Ptr ()) p -> URec (Ptr ()) p -> Bool # (<=) :: URec (Ptr ()) p -> URec (Ptr ()) p -> Bool # (>) :: URec (Ptr ()) p -> URec (Ptr ()) p -> Bool # (>=) :: URec (Ptr ()) p -> URec (Ptr ()) p -> Bool # max :: URec (Ptr ()) p -> URec (Ptr ()) p -> URec (Ptr ()) p # min :: URec (Ptr ()) p -> URec (Ptr ()) p -> URec (Ptr ()) p # | |
Ord (URec Char p) | Since: base-4.9.0.0 |
Defined in GHC.Generics | |
Ord (URec Double p) | Since: base-4.9.0.0 |
Defined in GHC.Generics Methods compare :: URec Double p -> URec Double p -> Ordering # (<) :: URec Double p -> URec Double p -> Bool # (<=) :: URec Double p -> URec Double p -> Bool # (>) :: URec Double p -> URec Double p -> Bool # (>=) :: URec Double p -> URec Double p -> Bool # | |
Ord (URec Float p) | |
Defined in GHC.Generics | |
Ord (URec Int p) | Since: base-4.9.0.0 |
Ord (URec Word p) | Since: base-4.9.0.0 |
Defined in GHC.Generics | |
(Ord a, Ord b, Ord c) => Ord (a, b, c) | |
Ord a => Ord (Const a b) | Since: base-4.9.0.0 |
Ord (f a) => Ord (Ap f a) | Since: base-4.12.0.0 |
Ord (f a) => Ord (Alt f a) | Since: base-4.8.0.0 |
Defined in Data.Semigroup.Internal | |
Ord (a :~: b) | Since: base-4.7.0.0 |
Defined in Data.Type.Equality | |
(Ord e, Ord1 m, Ord a) => Ord (ExceptT e m a) | |
Defined in Control.Monad.Trans.Except Methods compare :: ExceptT e m a -> ExceptT e m a -> Ordering # (<) :: ExceptT e m a -> ExceptT e m a -> Bool # (<=) :: ExceptT e m a -> ExceptT e m a -> Bool # (>) :: ExceptT e m a -> ExceptT e m a -> Bool # (>=) :: ExceptT e m a -> ExceptT e m a -> Bool # | |
(Ord1 f, Ord a) => Ord (IdentityT f a) | |
Defined in Control.Monad.Trans.Identity Methods compare :: IdentityT f a -> IdentityT f a -> Ordering # (<) :: IdentityT f a -> IdentityT f a -> Bool # (<=) :: IdentityT f a -> IdentityT f a -> Bool # (>) :: IdentityT f a -> IdentityT f a -> Bool # (>=) :: IdentityT f a -> IdentityT f a -> Bool # | |
(Ord e, Ord1 m, Ord a) => Ord (ErrorT e m a) | |
Defined in Control.Monad.Trans.Error | |
(Ord w, Ord1 m, Ord a) => Ord (WriterT w m a) | |
Defined in Control.Monad.Trans.Writer.Lazy Methods compare :: WriterT w m a -> WriterT w m a -> Ordering # (<) :: WriterT w m a -> WriterT w m a -> Bool # (<=) :: WriterT w m a -> WriterT w m a -> Bool # (>) :: WriterT w m a -> WriterT w m a -> Bool # (>=) :: WriterT w m a -> WriterT w m a -> Bool # | |
(Ord w, Ord1 m, Ord a) => Ord (WriterT w m a) | |
Defined in Control.Monad.Trans.Writer.Strict Methods compare :: WriterT w m a -> WriterT w m a -> Ordering # (<) :: WriterT w m a -> WriterT w m a -> Bool # (<=) :: WriterT w m a -> WriterT w m a -> Bool # (>) :: WriterT w m a -> WriterT w m a -> Bool # (>=) :: WriterT w m a -> WriterT w m a -> Bool # | |
(Ord1 f, Ord a) => Ord (Backwards f a) | |
Defined in Control.Applicative.Backwards Methods compare :: Backwards f a -> Backwards f a -> Ordering # (<) :: Backwards f a -> Backwards f a -> Bool # (<=) :: Backwards f a -> Backwards f a -> Bool # (>) :: Backwards f a -> Backwards f a -> Bool # (>=) :: Backwards f a -> Backwards f a -> Bool # | |
(Ord1 f, Ord1 m, Ord a) => Ord (FreeT f m a) | |
Defined in Control.Monad.Trans.Free | |
(Ord1 (FT f m), Ord a) => Ord (FT f m a) | |
Defined in Control.Monad.Trans.Free.Church | |
(Ord a, Ord (f b)) => Ord (FreeF f a b) | |
Defined in Control.Monad.Trans.Free | |
Ord (p a a) => Ord (Join p a) | |
Defined in Data.Bifunctor.Join | |
Ord b => Ord (Tagged s b) | |
Ord (v a) => Ord (Vector v n a) | |
Defined in Data.Vector.Generic.Sized.Internal | |
(Ord a, Ord b, Ord c) => Ord (T3 a b c) | |
Defined in Data.Tuple.Strict.T3 | |
Ord (p (Fix p a) a) => Ord (Fix p a) | |
(Ord a, Ord (f b)) => Ord (CofreeF f a b) | |
Defined in Control.Comonad.Trans.Cofree Methods compare :: CofreeF f a b -> CofreeF f a b -> Ordering # (<) :: CofreeF f a b -> CofreeF f a b -> Bool # (<=) :: CofreeF f a b -> CofreeF f a b -> Bool # (>) :: CofreeF f a b -> CofreeF f a b -> Bool # (>=) :: CofreeF f a b -> CofreeF f a b -> Bool # | |
Ord (w (CofreeF f a (CofreeT f w a))) => Ord (CofreeT f w a) | |
Defined in Control.Comonad.Trans.Cofree Methods compare :: CofreeT f w a -> CofreeT f w a -> Ordering # (<) :: CofreeT f w a -> CofreeT f w a -> Bool # (<=) :: CofreeT f w a -> CofreeT f w a -> Bool # (>) :: CofreeT f w a -> CofreeT f w a -> Bool # (>=) :: CofreeT f w a -> CofreeT f w a -> Bool # | |
Ord a => Ord (V n a) | |
(Ord1 f, Ord1 g, Ord a) => Ord (These1 f g a) | |
Defined in Data.Functor.These | |
(Graph gr, Ord a, Ord b) => Ord (OrdGr gr a b) | |
Defined in Data.Graph.Inductive.Graph | |
(All (Compose Eq f) xs, All (Compose Ord f) xs) => Ord (NS f xs) | |
Ord a => Ord (K a b) | |
(All (Compose Eq f) xs, All (Compose Ord f) xs) => Ord (NP f xs) | |
Ord (NP (NP f) xss) => Ord (POP f xss) | |
Ord (NS (NP f) xss) => Ord (SOP f xss) | |
Ord c => Ord (K1 i c p) | Since: base-4.7.0.0 |
Defined in GHC.Generics | |
(Ord (f p), Ord (g p)) => Ord ((f :+: g) p) | Since: base-4.7.0.0 |
Defined in GHC.Generics | |
(Ord (f p), Ord (g p)) => Ord ((f :*: g) p) | Since: base-4.7.0.0 |
Defined in GHC.Generics | |
(Ord a, Ord b, Ord c, Ord d) => Ord (a, b, c, d) | |
Defined in GHC.Classes | |
(Ord1 f, Ord1 g, Ord a) => Ord (Product f g a) | Since: base-4.9.0.0 |
Defined in Data.Functor.Product Methods compare :: Product f g a -> Product f g a -> Ordering # (<) :: Product f g a -> Product f g a -> Bool # (<=) :: Product f g a -> Product f g a -> Bool # (>) :: Product f g a -> Product f g a -> Bool # (>=) :: Product f g a -> Product f g a -> Bool # | |
(Ord1 f, Ord1 g, Ord a) => Ord (Sum f g a) | Since: base-4.9.0.0 |
Ord (a :~~: b) | Since: base-4.10.0.0 |
(Ord a, Ord b, Ord c, Ord d) => Ord (T4 a b c d) | |
Defined in Data.Tuple.Strict.T4 | |
Ord (f p) => Ord (M1 i c f p) | Since: base-4.7.0.0 |
Ord (f (g p)) => Ord ((f :.: g) p) | Since: base-4.7.0.0 |
Defined in GHC.Generics | |
(Ord a, Ord b, Ord c, Ord d, Ord e) => Ord (a, b, c, d, e) | |
Defined in GHC.Classes Methods compare :: (a, b, c, d, e) -> (a, b, c, d, e) -> Ordering # (<) :: (a, b, c, d, e) -> (a, b, c, d, e) -> Bool # (<=) :: (a, b, c, d, e) -> (a, b, c, d, e) -> Bool # (>) :: (a, b, c, d, e) -> (a, b, c, d, e) -> Bool # (>=) :: (a, b, c, d, e) -> (a, b, c, d, e) -> Bool # max :: (a, b, c, d, e) -> (a, b, c, d, e) -> (a, b, c, d, e) # min :: (a, b, c, d, e) -> (a, b, c, d, e) -> (a, b, c, d, e) # | |
(Ord1 f, Ord1 g, Ord a) => Ord (Compose f g a) | Since: base-4.9.0.0 |
Defined in Data.Functor.Compose Methods compare :: Compose f g a -> Compose f g a -> Ordering # (<) :: Compose f g a -> Compose f g a -> Bool # (<=) :: Compose f g a -> Compose f g a -> Bool # (>) :: Compose f g a -> Compose f g a -> Bool # (>=) :: Compose f g a -> Compose f g a -> Bool # | |
Ord (f a) => Ord (Clown f a b) | |
Defined in Data.Bifunctor.Clown | |
Ord (p b a) => Ord (Flip p a b) | |
Defined in Data.Bifunctor.Flip | |
Ord (g b) => Ord (Joker g a b) | |
Defined in Data.Bifunctor.Joker | |
Ord (p a b) => Ord (WrappedBifunctor p a b) | |
Defined in Data.Bifunctor.Wrapped Methods compare :: WrappedBifunctor p a b -> WrappedBifunctor p a b -> Ordering # (<) :: WrappedBifunctor p a b -> WrappedBifunctor p a b -> Bool # (<=) :: WrappedBifunctor p a b -> WrappedBifunctor p a b -> Bool # (>) :: WrappedBifunctor p a b -> WrappedBifunctor p a b -> Bool # (>=) :: WrappedBifunctor p a b -> WrappedBifunctor p a b -> Bool # max :: WrappedBifunctor p a b -> WrappedBifunctor p a b -> WrappedBifunctor p a b # min :: WrappedBifunctor p a b -> WrappedBifunctor p a b -> WrappedBifunctor p a b # | |
(Ord a, Ord b, Ord c, Ord d, Ord e) => Ord (T5 a b c d e) | |
Defined in Data.Tuple.Strict.T5 | |
(Ord1 f, Ord1 g, Ord a) => Ord ((f :.: g) a) | |
Defined in Data.SOP.BasicFunctors | |
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f) => Ord (a, b, c, d, e, f) | |
Defined in GHC.Classes Methods compare :: (a, b, c, d, e, f) -> (a, b, c, d, e, f) -> Ordering # (<) :: (a, b, c, d, e, f) -> (a, b, c, d, e, f) -> Bool # (<=) :: (a, b, c, d, e, f) -> (a, b, c, d, e, f) -> Bool # (>) :: (a, b, c, d, e, f) -> (a, b, c, d, e, f) -> Bool # (>=) :: (a, b, c, d, e, f) -> (a, b, c, d, e, f) -> Bool # max :: (a, b, c, d, e, f) -> (a, b, c, d, e, f) -> (a, b, c, d, e, f) # min :: (a, b, c, d, e, f) -> (a, b, c, d, e, f) -> (a, b, c, d, e, f) # | |
(Ord (f a b), Ord (g a b)) => Ord (Product f g a b) | |
Defined in Data.Bifunctor.Product Methods compare :: Product f g a b -> Product f g a b -> Ordering # (<) :: Product f g a b -> Product f g a b -> Bool # (<=) :: Product f g a b -> Product f g a b -> Bool # (>) :: Product f g a b -> Product f g a b -> Bool # (>=) :: Product f g a b -> Product f g a b -> Bool # max :: Product f g a b -> Product f g a b -> Product f g a b # min :: Product f g a b -> Product f g a b -> Product f g a b # | |
(Ord (p a b), Ord (q a b)) => Ord (Sum p q a b) | |
Defined in Data.Bifunctor.Sum | |
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f) => Ord (T6 a b c d e f) | |
Defined in Data.Tuple.Strict.T6 Methods compare :: T6 a b c d e f -> T6 a b c d e f -> Ordering # (<) :: T6 a b c d e f -> T6 a b c d e f -> Bool # (<=) :: T6 a b c d e f -> T6 a b c d e f -> Bool # (>) :: T6 a b c d e f -> T6 a b c d e f -> Bool # (>=) :: T6 a b c d e f -> T6 a b c d e f -> Bool # | |
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g) => Ord (a, b, c, d, e, f, g) | |
Defined in GHC.Classes Methods compare :: (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) -> Ordering # (<) :: (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) -> Bool # (<=) :: (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) -> Bool # (>) :: (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) -> Bool # (>=) :: (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) -> Bool # max :: (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) # min :: (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) # | |
Ord (f (p a b)) => Ord (Tannen f p a b) | |
Defined in Data.Bifunctor.Tannen Methods compare :: Tannen f p a b -> Tannen f p a b -> Ordering # (<) :: Tannen f p a b -> Tannen f p a b -> Bool # (<=) :: Tannen f p a b -> Tannen f p a b -> Bool # (>) :: Tannen f p a b -> Tannen f p a b -> Bool # (>=) :: Tannen f p a b -> Tannen f p a b -> Bool # | |
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g) => Ord (T7 a b c d e f g) | |
Defined in Data.Tuple.Strict.T7 Methods compare :: T7 a b c d e f g -> T7 a b c d e f g -> Ordering # (<) :: T7 a b c d e f g -> T7 a b c d e f g -> Bool # (<=) :: T7 a b c d e f g -> T7 a b c d e f g -> Bool # (>) :: T7 a b c d e f g -> T7 a b c d e f g -> Bool # (>=) :: T7 a b c d e f g -> T7 a b c d e f g -> Bool # max :: T7 a b c d e f g -> T7 a b c d e f g -> T7 a b c d e f g # min :: T7 a b c d e f g -> T7 a b c d e f g -> T7 a b c d e f g # | |
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h) => Ord (a, b, c, d, e, f, g, h) | |
Defined in GHC.Classes Methods compare :: (a, b, c, d, e, f, g, h) -> (a, b, c, d, e, f, g, h) -> Ordering # (<) :: (a, b, c, d, e, f, g, h) -> (a, b, c, d, e, f, g, h) -> Bool # (<=) :: (a, b, c, d, e, f, g, h) -> (a, b, c, d, e, f, g, h) -> Bool # (>) :: (a, b, c, d, e, f, g, h) -> (a, b, c, d, e, f, g, h) -> Bool # (>=) :: (a, b, c, d, e, f, g, h) -> (a, b, c, d, e, f, g, h) -> Bool # max :: (a, b, c, d, e, f, g, h) -> (a, b, c, d, e, f, g, h) -> (a, b, c, d, e, f, g, h) # min :: (a, b, c, d, e, f, g, h) -> (a, b, c, d, e, f, g, h) -> (a, b, c, d, e, f, g, h) # | |
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h) => Ord (T8 a b c d e f g h) | |
Defined in Data.Tuple.Strict.T8 Methods compare :: T8 a b c d e f g h -> T8 a b c d e f g h -> Ordering # (<) :: T8 a b c d e f g h -> T8 a b c d e f g h -> Bool # (<=) :: T8 a b c d e f g h -> T8 a b c d e f g h -> Bool # (>) :: T8 a b c d e f g h -> T8 a b c d e f g h -> Bool # (>=) :: T8 a b c d e f g h -> T8 a b c d e f g h -> Bool # max :: T8 a b c d e f g h -> T8 a b c d e f g h -> T8 a b c d e f g h # min :: T8 a b c d e f g h -> T8 a b c d e f g h -> T8 a b c d e f g h # | |
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i) => Ord (a, b, c, d, e, f, g, h, i) | |
Defined in GHC.Classes Methods compare :: (a, b, c, d, e, f, g, h, i) -> (a, b, c, d, e, f, g, h, i) -> Ordering # (<) :: (a, b, c, d, e, f, g, h, i) -> (a, b, c, d, e, f, g, h, i) -> Bool # (<=) :: (a, b, c, d, e, f, g, h, i) -> (a, b, c, d, e, f, g, h, i) -> Bool # (>) :: (a, b, c, d, e, f, g, h, i) -> (a, b, c, d, e, f, g, h, i) -> Bool # (>=) :: (a, b, c, d, e, f, g, h, i) -> (a, b, c, d, e, f, g, h, i) -> Bool # max :: (a, b, c, d, e, f, g, h, i) -> (a, b, c, d, e, f, g, h, i) -> (a, b, c, d, e, f, g, h, i) # min :: (a, b, c, d, e, f, g, h, i) -> (a, b, c, d, e, f, g, h, i) -> (a, b, c, d, e, f, g, h, i) # | |
Ord (p (f a) (g b)) => Ord (Biff p f g a b) | |
Defined in Data.Bifunctor.Biff Methods compare :: Biff p f g a b -> Biff p f g a b -> Ordering # (<) :: Biff p f g a b -> Biff p f g a b -> Bool # (<=) :: Biff p f g a b -> Biff p f g a b -> Bool # (>) :: Biff p f g a b -> Biff p f g a b -> Bool # (>=) :: Biff p f g a b -> Biff p f g a b -> Bool # | |
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i) => Ord (T9 a b c d e f g h i) | |
Defined in Data.Tuple.Strict.T9 Methods compare :: T9 a b c d e f g h i -> T9 a b c d e f g h i -> Ordering # (<) :: T9 a b c d e f g h i -> T9 a b c d e f g h i -> Bool # (<=) :: T9 a b c d e f g h i -> T9 a b c d e f g h i -> Bool # (>) :: T9 a b c d e f g h i -> T9 a b c d e f g h i -> Bool # (>=) :: T9 a b c d e f g h i -> T9 a b c d e f g h i -> Bool # max :: T9 a b c d e f g h i -> T9 a b c d e f g h i -> T9 a b c d e f g h i # min :: T9 a b c d e f g h i -> T9 a b c d e f g h i -> T9 a b c d e f g h i # | |
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i, Ord j) => Ord (a, b, c, d, e, f, g, h, i, j) | |
Defined in GHC.Classes Methods compare :: (a, b, c, d, e, f, g, h, i, j) -> (a, b, c, d, e, f, g, h, i, j) -> Ordering # (<) :: (a, b, c, d, e, f, g, h, i, j) -> (a, b, c, d, e, f, g, h, i, j) -> Bool # (<=) :: (a, b, c, d, e, f, g, h, i, j) -> (a, b, c, d, e, f, g, h, i, j) -> Bool # (>) :: (a, b, c, d, e, f, g, h, i, j) -> (a, b, c, d, e, f, g, h, i, j) -> Bool # (>=) :: (a, b, c, d, e, f, g, h, i, j) -> (a, b, c, d, e, f, g, h, i, j) -> Bool # max :: (a, b, c, d, e, f, g, h, i, j) -> (a, b, c, d, e, f, g, h, i, j) -> (a, b, c, d, e, f, g, h, i, j) # min :: (a, b, c, d, e, f, g, h, i, j) -> (a, b, c, d, e, f, g, h, i, j) -> (a, b, c, d, e, f, g, h, i, j) # | |
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i, Ord j) => Ord (T10 a b c d e f g h i j) | |
Defined in Data.Tuple.Strict.T10 Methods compare :: T10 a b c d e f g h i j -> T10 a b c d e f g h i j -> Ordering # (<) :: T10 a b c d e f g h i j -> T10 a b c d e f g h i j -> Bool # (<=) :: T10 a b c d e f g h i j -> T10 a b c d e f g h i j -> Bool # (>) :: T10 a b c d e f g h i j -> T10 a b c d e f g h i j -> Bool # (>=) :: T10 a b c d e f g h i j -> T10 a b c d e f g h i j -> Bool # max :: T10 a b c d e f g h i j -> T10 a b c d e f g h i j -> T10 a b c d e f g h i j # min :: T10 a b c d e f g h i j -> T10 a b c d e f g h i j -> T10 a b c d e f g h i j # | |
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i, Ord j, Ord k) => Ord (a, b, c, d, e, f, g, h, i, j, k) | |
Defined in GHC.Classes Methods compare :: (a, b, c, d, e, f, g, h, i, j, k) -> (a, b, c, d, e, f, g, h, i, j, k) -> Ordering # (<) :: (a, b, c, d, e, f, g, h, i, j, k) -> (a, b, c, d, e, f, g, h, i, j, k) -> Bool # (<=) :: (a, b, c, d, e, f, g, h, i, j, k) -> (a, b, c, d, e, f, g, h, i, j, k) -> Bool # (>) :: (a, b, c, d, e, f, g, h, i, j, k) -> (a, b, c, d, e, f, g, h, i, j, k) -> Bool # (>=) :: (a, b, c, d, e, f, g, h, i, j, k) -> (a, b, c, d, e, f, g, h, i, j, k) -> Bool # max :: (a, b, c, d, e, f, g, h, i, j, k) -> (a, b, c, d, e, f, g, h, i, j, k) -> (a, b, c, d, e, f, g, h, i, j, k) # min :: (a, b, c, d, e, f, g, h, i, j, k) -> (a, b, c, d, e, f, g, h, i, j, k) -> (a, b, c, d, e, f, g, h, i, j, k) # | |
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i, Ord j, Ord k) => Ord (T11 a b c d e f g h i j k) | |
Defined in Data.Tuple.Strict.T11 Methods compare :: T11 a b c d e f g h i j k -> T11 a b c d e f g h i j k -> Ordering # (<) :: T11 a b c d e f g h i j k -> T11 a b c d e f g h i j k -> Bool # (<=) :: T11 a b c d e f g h i j k -> T11 a b c d e f g h i j k -> Bool # (>) :: T11 a b c d e f g h i j k -> T11 a b c d e f g h i j k -> Bool # (>=) :: T11 a b c d e f g h i j k -> T11 a b c d e f g h i j k -> Bool # max :: T11 a b c d e f g h i j k -> T11 a b c d e f g h i j k -> T11 a b c d e f g h i j k # min :: T11 a b c d e f g h i j k -> T11 a b c d e f g h i j k -> T11 a b c d e f g h i j k # | |
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i, Ord j, Ord k, Ord l) => Ord (a, b, c, d, e, f, g, h, i, j, k, l) | |
Defined in GHC.Classes Methods compare :: (a, b, c, d, e, f, g, h, i, j, k, l) -> (a, b, c, d, e, f, g, h, i, j, k, l) -> Ordering # (<) :: (a, b, c, d, e, f, g, h, i, j, k, l) -> (a, b, c, d, e, f, g, h, i, j, k, l) -> Bool # (<=) :: (a, b, c, d, e, f, g, h, i, j, k, l) -> (a, b, c, d, e, f, g, h, i, j, k, l) -> Bool # (>) :: (a, b, c, d, e, f, g, h, i, j, k, l) -> (a, b, c, d, e, f, g, h, i, j, k, l) -> Bool # (>=) :: (a, b, c, d, e, f, g, h, i, j, k, l) -> (a, b, c, d, e, f, g, h, i, j, k, l) -> Bool # max :: (a, b, c, d, e, f, g, h, i, j, k, l) -> (a, b, c, d, e, f, g, h, i, j, k, l) -> (a, b, c, d, e, f, g, h, i, j, k, l) # min :: (a, b, c, d, e, f, g, h, i, j, k, l) -> (a, b, c, d, e, f, g, h, i, j, k, l) -> (a, b, c, d, e, f, g, h, i, j, k, l) # | |
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i, Ord j, Ord k, Ord l) => Ord (T12 a b c d e f g h i j k l) | |
Defined in Data.Tuple.Strict.T12 Methods compare :: T12 a b c d e f g h i j k l -> T12 a b c d e f g h i j k l -> Ordering # (<) :: T12 a b c d e f g h i j k l -> T12 a b c d e f g h i j k l -> Bool # (<=) :: T12 a b c d e f g h i j k l -> T12 a b c d e f g h i j k l -> Bool # (>) :: T12 a b c d e f g h i j k l -> T12 a b c d e f g h i j k l -> Bool # (>=) :: T12 a b c d e f g h i j k l -> T12 a b c d e f g h i j k l -> Bool # max :: T12 a b c d e f g h i j k l -> T12 a b c d e f g h i j k l -> T12 a b c d e f g h i j k l # min :: T12 a b c d e f g h i j k l -> T12 a b c d e f g h i j k l -> T12 a b c d e f g h i j k l # | |
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i, Ord j, Ord k, Ord l, Ord m) => Ord (a, b, c, d, e, f, g, h, i, j, k, l, m) | |
Defined in GHC.Classes Methods compare :: (a, b, c, d, e, f, g, h, i, j, k, l, m) -> (a, b, c, d, e, f, g, h, i, j, k, l, m) -> Ordering # (<) :: (a, b, c, d, e, f, g, h, i, j, k, l, m) -> (a, b, c, d, e, f, g, h, i, j, k, l, m) -> Bool # (<=) :: (a, b, c, d, e, f, g, h, i, j, k, l, m) -> (a, b, c, d, e, f, g, h, i, j, k, l, m) -> Bool # (>) :: (a, b, c, d, e, f, g, h, i, j, k, l, m) -> (a, b, c, d, e, f, g, h, i, j, k, l, m) -> Bool # (>=) :: (a, b, c, d, e, f, g, h, i, j, k, l, m) -> (a, b, c, d, e, f, g, h, i, j, k, l, m) -> Bool # max :: (a, b, c, d, e, f, g, h, i, j, k, l, m) -> (a, b, c, d, e, f, g, h, i, j, k, l, m) -> (a, b, c, d, e, f, g, h, i, j, k, l, m) # min :: (a, b, c, d, e, f, g, h, i, j, k, l, m) -> (a, b, c, d, e, f, g, h, i, j, k, l, m) -> (a, b, c, d, e, f, g, h, i, j, k, l, m) # | |
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i, Ord j, Ord k, Ord l, Ord m) => Ord (T13 a b c d e f g h i j k l m) | |
Defined in Data.Tuple.Strict.T13 Methods compare :: T13 a b c d e f g h i j k l m -> T13 a b c d e f g h i j k l m -> Ordering # (<) :: T13 a b c d e f g h i j k l m -> T13 a b c d e f g h i j k l m -> Bool # (<=) :: T13 a b c d e f g h i j k l m -> T13 a b c d e f g h i j k l m -> Bool # (>) :: T13 a b c d e f g h i j k l m -> T13 a b c d e f g h i j k l m -> Bool # (>=) :: T13 a b c d e f g h i j k l m -> T13 a b c d e f g h i j k l m -> Bool # max :: T13 a b c d e f g h i j k l m -> T13 a b c d e f g h i j k l m -> T13 a b c d e f g h i j k l m # min :: T13 a b c d e f g h i j k l m -> T13 a b c d e f g h i j k l m -> T13 a b c d e f g h i j k l m # | |
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i, Ord j, Ord k, Ord l, Ord m, Ord n) => Ord (a, b, c, d, e, f, g, h, i, j, k, l, m, n) | |
Defined in GHC.Classes Methods compare :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> Ordering # (<) :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> Bool # (<=) :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> Bool # (>) :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> Bool # (>=) :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> Bool # max :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n) # min :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n) # | |
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i, Ord j, Ord k, Ord l, Ord m, Ord n) => Ord (T14 a b c d e f g h i j k l m n) | |
Defined in Data.Tuple.Strict.T14 Methods compare :: T14 a b c d e f g h i j k l m n -> T14 a b c d e f g h i j k l m n -> Ordering # (<) :: T14 a b c d e f g h i j k l m n -> T14 a b c d e f g h i j k l m n -> Bool # (<=) :: T14 a b c d e f g h i j k l m n -> T14 a b c d e f g h i j k l m n -> Bool # (>) :: T14 a b c d e f g h i j k l m n -> T14 a b c d e f g h i j k l m n -> Bool # (>=) :: T14 a b c d e f g h i j k l m n -> T14 a b c d e f g h i j k l m n -> Bool # max :: T14 a b c d e f g h i j k l m n -> T14 a b c d e f g h i j k l m n -> T14 a b c d e f g h i j k l m n # min :: T14 a b c d e f g h i j k l m n -> T14 a b c d e f g h i j k l m n -> T14 a b c d e f g h i j k l m n # | |
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i, Ord j, Ord k, Ord l, Ord m, Ord n, Ord o) => Ord (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) | |
Defined in GHC.Classes Methods compare :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> Ordering # (<) :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> Bool # (<=) :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> Bool # (>) :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> Bool # (>=) :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> Bool # max :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) # min :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) # | |
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i, Ord j, Ord k, Ord l, Ord m, Ord n, Ord o) => Ord (T15 a b c d e f g h i j k l m n o) | |
Defined in Data.Tuple.Strict.T15 Methods compare :: T15 a b c d e f g h i j k l m n o -> T15 a b c d e f g h i j k l m n o -> Ordering # (<) :: T15 a b c d e f g h i j k l m n o -> T15 a b c d e f g h i j k l m n o -> Bool # (<=) :: T15 a b c d e f g h i j k l m n o -> T15 a b c d e f g h i j k l m n o -> Bool # (>) :: T15 a b c d e f g h i j k l m n o -> T15 a b c d e f g h i j k l m n o -> Bool # (>=) :: T15 a b c d e f g h i j k l m n o -> T15 a b c d e f g h i j k l m n o -> Bool # max :: T15 a b c d e f g h i j k l m n o -> T15 a b c d e f g h i j k l m n o -> T15 a b c d e f g h i j k l m n o # min :: T15 a b c d e f g h i j k l m n o -> T15 a b c d e f g h i j k l m n o -> T15 a b c d e f g h i j k l m n o # | |
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i, Ord j, Ord k, Ord l, Ord m, Ord n, Ord o, Ord p) => Ord (T16 a b c d e f g h i j k l m n o p) | |
Defined in Data.Tuple.Strict.T16 Methods compare :: T16 a b c d e f g h i j k l m n o p -> T16 a b c d e f g h i j k l m n o p -> Ordering # (<) :: T16 a b c d e f g h i j k l m n o p -> T16 a b c d e f g h i j k l m n o p -> Bool # (<=) :: T16 a b c d e f g h i j k l m n o p -> T16 a b c d e f g h i j k l m n o p -> Bool # (>) :: T16 a b c d e f g h i j k l m n o p -> T16 a b c d e f g h i j k l m n o p -> Bool # (>=) :: T16 a b c d e f g h i j k l m n o p -> T16 a b c d e f g h i j k l m n o p -> Bool # max :: T16 a b c d e f g h i j k l m n o p -> T16 a b c d e f g h i j k l m n o p -> T16 a b c d e f g h i j k l m n o p # min :: T16 a b c d e f g h i j k l m n o p -> T16 a b c d e f g h i j k l m n o p -> T16 a b c d e f g h i j k l m n o p # | |
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i, Ord j, Ord k, Ord l, Ord m, Ord n, Ord o, Ord p, Ord q) => Ord (T17 a b c d e f g h i j k l m n o p q) | |
Defined in Data.Tuple.Strict.T17 Methods compare :: T17 a b c d e f g h i j k l m n o p q -> T17 a b c d e f g h i j k l m n o p q -> Ordering # (<) :: T17 a b c d e f g h i j k l m n o p q -> T17 a b c d e f g h i j k l m n o p q -> Bool # (<=) :: T17 a b c d e f g h i j k l m n o p q -> T17 a b c d e f g h i j k l m n o p q -> Bool # (>) :: T17 a b c d e f g h i j k l m n o p q -> T17 a b c d e f g h i j k l m n o p q -> Bool # (>=) :: T17 a b c d e f g h i j k l m n o p q -> T17 a b c d e f g h i j k l m n o p q -> Bool # max :: T17 a b c d e f g h i j k l m n o p q -> T17 a b c d e f g h i j k l m n o p q -> T17 a b c d e f g h i j k l m n o p q # min :: T17 a b c d e f g h i j k l m n o p q -> T17 a b c d e f g h i j k l m n o p q -> T17 a b c d e f g h i j k l m n o p q # | |
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i, Ord j, Ord k, Ord l, Ord m, Ord n, Ord o, Ord p, Ord q, Ord r) => Ord (T18 a b c d e f g h i j k l m n o p q r) | |
Defined in Data.Tuple.Strict.T18 Methods compare :: T18 a b c d e f g h i j k l m n o p q r -> T18 a b c d e f g h i j k l m n o p q r -> Ordering # (<) :: T18 a b c d e f g h i j k l m n o p q r -> T18 a b c d e f g h i j k l m n o p q r -> Bool # (<=) :: T18 a b c d e f g h i j k l m n o p q r -> T18 a b c d e f g h i j k l m n o p q r -> Bool # (>) :: T18 a b c d e f g h i j k l m n o p q r -> T18 a b c d e f g h i j k l m n o p q r -> Bool # (>=) :: T18 a b c d e f g h i j k l m n o p q r -> T18 a b c d e f g h i j k l m n o p q r -> Bool # max :: T18 a b c d e f g h i j k l m n o p q r -> T18 a b c d e f g h i j k l m n o p q r -> T18 a b c d e f g h i j k l m n o p q r # min :: T18 a b c d e f g h i j k l m n o p q r -> T18 a b c d e f g h i j k l m n o p q r -> T18 a b c d e f g h i j k l m n o p q r # | |
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i, Ord j, Ord k, Ord l, Ord m, Ord n, Ord o, Ord p, Ord q, Ord r, Ord s) => Ord (T19 a b c d e f g h i j k l m n o p q r s) | |
Defined in Data.Tuple.Strict.T19 Methods compare :: T19 a b c d e f g h i j k l m n o p q r s -> T19 a b c d e f g h i j k l m n o p q r s -> Ordering # (<) :: T19 a b c d e f g h i j k l m n o p q r s -> T19 a b c d e f g h i j k l m n o p q r s -> Bool # (<=) :: T19 a b c d e f g h i j k l m n o p q r s -> T19 a b c d e f g h i j k l m n o p q r s -> Bool # (>) :: T19 a b c d e f g h i j k l m n o p q r s -> T19 a b c d e f g h i j k l m n o p q r s -> Bool # (>=) :: T19 a b c d e f g h i j k l m n o p q r s -> T19 a b c d e f g h i j k l m n o p q r s -> Bool # max :: T19 a b c d e f g h i j k l m n o p q r s -> T19 a b c d e f g h i j k l m n o p q r s -> T19 a b c d e f g h i j k l m n o p q r s # min :: T19 a b c d e f g h i j k l m n o p q r s -> T19 a b c d e f g h i j k l m n o p q r s -> T19 a b c d e f g h i j k l m n o p q r s # |
The Ix
class is used to map a contiguous subrange of values in
a type onto integers. It is used primarily for array indexing
(see the array package).
The first argument (l,u)
of each of these operations is a pair
specifying the lower and upper bounds of a contiguous subrange of values.
An implementation is entitled to assume the following laws about these operations:
Minimal complete definition
range, (index | unsafeIndex), inRange
Methods
The list of values in the subrange defined by a bounding pair.
inRange :: (a, a) -> a -> Bool #
Returns True
the given subscript lies in the range defined
the bounding pair.
The size of the subrange defined by a bounding pair.
Instances
Ix Bool | Since: base-2.1 |
Ix Char | Since: base-2.1 |
Ix Int | Since: base-2.1 |
Ix Int8 | Since: base-2.1 |
Ix Int16 | Since: base-2.1 |
Ix Int32 | Since: base-2.1 |
Ix Int64 | Since: base-2.1 |
Ix Integer | Since: base-2.1 |
Defined in GHC.Ix | |
Ix Natural | Since: base-4.8.0.0 |
Defined in GHC.Ix | |
Ix Ordering | Since: base-2.1 |
Defined in GHC.Ix Methods range :: (Ordering, Ordering) -> [Ordering] # index :: (Ordering, Ordering) -> Ordering -> Int # unsafeIndex :: (Ordering, Ordering) -> Ordering -> Int # inRange :: (Ordering, Ordering) -> Ordering -> Bool # rangeSize :: (Ordering, Ordering) -> Int # unsafeRangeSize :: (Ordering, Ordering) -> Int # | |
Ix Word | Since: base-4.6.0.0 |
Ix Word8 | Since: base-2.1 |
Ix Word16 | Since: base-2.1 |
Ix Word32 | Since: base-2.1 |
Ix Word64 | Since: base-2.1 |
Ix () | Since: base-2.1 |
Ix Void | Since: base-4.8.0.0 |
Ix SeekMode | Since: base-4.2.0.0 |
Defined in GHC.IO.Device Methods range :: (SeekMode, SeekMode) -> [SeekMode] # index :: (SeekMode, SeekMode) -> SeekMode -> Int # unsafeIndex :: (SeekMode, SeekMode) -> SeekMode -> Int # inRange :: (SeekMode, SeekMode) -> SeekMode -> Bool # rangeSize :: (SeekMode, SeekMode) -> Int # unsafeRangeSize :: (SeekMode, SeekMode) -> Int # | |
Ix Associativity | Since: base-4.9.0.0 |
Defined in GHC.Generics Methods range :: (Associativity, Associativity) -> [Associativity] # index :: (Associativity, Associativity) -> Associativity -> Int # unsafeIndex :: (Associativity, Associativity) -> Associativity -> Int # inRange :: (Associativity, Associativity) -> Associativity -> Bool # rangeSize :: (Associativity, Associativity) -> Int # unsafeRangeSize :: (Associativity, Associativity) -> Int # | |
Ix SourceUnpackedness | Since: base-4.9.0.0 |
Defined in GHC.Generics Methods range :: (SourceUnpackedness, SourceUnpackedness) -> [SourceUnpackedness] # index :: (SourceUnpackedness, SourceUnpackedness) -> SourceUnpackedness -> Int # unsafeIndex :: (SourceUnpackedness, SourceUnpackedness) -> SourceUnpackedness -> Int # inRange :: (SourceUnpackedness, SourceUnpackedness) -> SourceUnpackedness -> Bool # rangeSize :: (SourceUnpackedness, SourceUnpackedness) -> Int # unsafeRangeSize :: (SourceUnpackedness, SourceUnpackedness) -> Int # | |
Ix SourceStrictness | Since: base-4.9.0.0 |
Defined in GHC.Generics Methods range :: (SourceStrictness, SourceStrictness) -> [SourceStrictness] # index :: (SourceStrictness, SourceStrictness) -> SourceStrictness -> Int # unsafeIndex :: (SourceStrictness, SourceStrictness) -> SourceStrictness -> Int # inRange :: (SourceStrictness, SourceStrictness) -> SourceStrictness -> Bool # rangeSize :: (SourceStrictness, SourceStrictness) -> Int # unsafeRangeSize :: (SourceStrictness, SourceStrictness) -> Int # | |
Ix DecidedStrictness | Since: base-4.9.0.0 |
Defined in GHC.Generics Methods range :: (DecidedStrictness, DecidedStrictness) -> [DecidedStrictness] # index :: (DecidedStrictness, DecidedStrictness) -> DecidedStrictness -> Int # unsafeIndex :: (DecidedStrictness, DecidedStrictness) -> DecidedStrictness -> Int # inRange :: (DecidedStrictness, DecidedStrictness) -> DecidedStrictness -> Bool # rangeSize :: (DecidedStrictness, DecidedStrictness) -> Int # unsafeRangeSize :: (DecidedStrictness, DecidedStrictness) -> Int # | |
Ix IOMode | Since: base-4.2.0.0 |
Ix GeneralCategory | Since: base-2.1 |
Defined in GHC.Unicode Methods range :: (GeneralCategory, GeneralCategory) -> [GeneralCategory] # index :: (GeneralCategory, GeneralCategory) -> GeneralCategory -> Int # unsafeIndex :: (GeneralCategory, GeneralCategory) -> GeneralCategory -> Int # inRange :: (GeneralCategory, GeneralCategory) -> GeneralCategory -> Bool # rangeSize :: (GeneralCategory, GeneralCategory) -> Int # unsafeRangeSize :: (GeneralCategory, GeneralCategory) -> Int # | |
Ix Day | |
Ix StdMethod | |
Defined in Network.HTTP.Types.Method Methods range :: (StdMethod, StdMethod) -> [StdMethod] # index :: (StdMethod, StdMethod) -> StdMethod -> Int # unsafeIndex :: (StdMethod, StdMethod) -> StdMethod -> Int # inRange :: (StdMethod, StdMethod) -> StdMethod -> Bool # rangeSize :: (StdMethod, StdMethod) -> Int # unsafeRangeSize :: (StdMethod, StdMethod) -> Int # | |
Ix BlinkSpeed | |
Defined in System.Console.ANSI.Types Methods range :: (BlinkSpeed, BlinkSpeed) -> [BlinkSpeed] # index :: (BlinkSpeed, BlinkSpeed) -> BlinkSpeed -> Int # unsafeIndex :: (BlinkSpeed, BlinkSpeed) -> BlinkSpeed -> Int # inRange :: (BlinkSpeed, BlinkSpeed) -> BlinkSpeed -> Bool # rangeSize :: (BlinkSpeed, BlinkSpeed) -> Int # unsafeRangeSize :: (BlinkSpeed, BlinkSpeed) -> Int # | |
Ix Color | |
Ix ColorIntensity | |
Defined in System.Console.ANSI.Types Methods range :: (ColorIntensity, ColorIntensity) -> [ColorIntensity] # index :: (ColorIntensity, ColorIntensity) -> ColorIntensity -> Int # unsafeIndex :: (ColorIntensity, ColorIntensity) -> ColorIntensity -> Int # inRange :: (ColorIntensity, ColorIntensity) -> ColorIntensity -> Bool # rangeSize :: (ColorIntensity, ColorIntensity) -> Int # unsafeRangeSize :: (ColorIntensity, ColorIntensity) -> Int # | |
Ix ConsoleIntensity | |
Defined in System.Console.ANSI.Types Methods range :: (ConsoleIntensity, ConsoleIntensity) -> [ConsoleIntensity] # index :: (ConsoleIntensity, ConsoleIntensity) -> ConsoleIntensity -> Int # unsafeIndex :: (ConsoleIntensity, ConsoleIntensity) -> ConsoleIntensity -> Int # inRange :: (ConsoleIntensity, ConsoleIntensity) -> ConsoleIntensity -> Bool # rangeSize :: (ConsoleIntensity, ConsoleIntensity) -> Int # unsafeRangeSize :: (ConsoleIntensity, ConsoleIntensity) -> Int # | |
Ix ConsoleLayer | |
Defined in System.Console.ANSI.Types Methods range :: (ConsoleLayer, ConsoleLayer) -> [ConsoleLayer] # index :: (ConsoleLayer, ConsoleLayer) -> ConsoleLayer -> Int # unsafeIndex :: (ConsoleLayer, ConsoleLayer) -> ConsoleLayer -> Int # inRange :: (ConsoleLayer, ConsoleLayer) -> ConsoleLayer -> Bool # rangeSize :: (ConsoleLayer, ConsoleLayer) -> Int # unsafeRangeSize :: (ConsoleLayer, ConsoleLayer) -> Int # | |
Ix Underlining | |
Defined in System.Console.ANSI.Types Methods range :: (Underlining, Underlining) -> [Underlining] # index :: (Underlining, Underlining) -> Underlining -> Int # unsafeIndex :: (Underlining, Underlining) -> Underlining -> Int # inRange :: (Underlining, Underlining) -> Underlining -> Bool # rangeSize :: (Underlining, Underlining) -> Int # unsafeRangeSize :: (Underlining, Underlining) -> Int # | |
Ix a => Ix (Identity a) | Since: base-4.9.0.0 |
Defined in Data.Functor.Identity Methods range :: (Identity a, Identity a) -> [Identity a] # index :: (Identity a, Identity a) -> Identity a -> Int # unsafeIndex :: (Identity a, Identity a) -> Identity a -> Int # inRange :: (Identity a, Identity a) -> Identity a -> Bool # rangeSize :: (Identity a, Identity a) -> Int # unsafeRangeSize :: (Identity a, Identity a) -> Int # | |
Ix a => Ix (Down a) | Since: base-4.14.0.0 |
Ix a => Ix (Quaternion a) | |
Defined in Linear.Quaternion Methods range :: (Quaternion a, Quaternion a) -> [Quaternion a] # index :: (Quaternion a, Quaternion a) -> Quaternion a -> Int # unsafeIndex :: (Quaternion a, Quaternion a) -> Quaternion a -> Int # inRange :: (Quaternion a, Quaternion a) -> Quaternion a -> Bool # rangeSize :: (Quaternion a, Quaternion a) -> Int # unsafeRangeSize :: (Quaternion a, Quaternion a) -> Int # | |
Ix (V0 a) | |
Ix a => Ix (V1 a) | |
Ix a => Ix (V2 a) | |
Ix a => Ix (V3 a) | |
Ix a => Ix (V4 a) | |
Ix a => Ix (Plucker a) | |
Defined in Linear.Plucker Methods range :: (Plucker a, Plucker a) -> [Plucker a] # index :: (Plucker a, Plucker a) -> Plucker a -> Int # unsafeIndex :: (Plucker a, Plucker a) -> Plucker a -> Int # inRange :: (Plucker a, Plucker a) -> Plucker a -> Bool # rangeSize :: (Plucker a, Plucker a) -> Int # unsafeRangeSize :: (Plucker a, Plucker a) -> Int # | |
(Ix a, Ix b) => Ix (a, b) | Since: base-2.1 |
Ix (Proxy s) | Since: base-4.7.0.0 |
Defined in Data.Proxy | |
(Ix a, Ix b) => Ix (Pair a b) | |
Defined in Data.Strict.Tuple Methods range :: (Pair a b, Pair a b) -> [Pair a b] # index :: (Pair a b, Pair a b) -> Pair a b -> Int # unsafeIndex :: (Pair a b, Pair a b) -> Pair a b -> Int # inRange :: (Pair a b, Pair a b) -> Pair a b -> Bool # rangeSize :: (Pair a b, Pair a b) -> Int # unsafeRangeSize :: (Pair a b, Pair a b) -> Int # | |
(Ix a1, Ix a2, Ix a3) => Ix (a1, a2, a3) | Since: base-2.1 |
Defined in GHC.Ix Methods range :: ((a1, a2, a3), (a1, a2, a3)) -> [(a1, a2, a3)] # index :: ((a1, a2, a3), (a1, a2, a3)) -> (a1, a2, a3) -> Int # unsafeIndex :: ((a1, a2, a3), (a1, a2, a3)) -> (a1, a2, a3) -> Int # inRange :: ((a1, a2, a3), (a1, a2, a3)) -> (a1, a2, a3) -> Bool # rangeSize :: ((a1, a2, a3), (a1, a2, a3)) -> Int # unsafeRangeSize :: ((a1, a2, a3), (a1, a2, a3)) -> Int # | |
Ix a => Ix (Const a b) | Since: base-4.9.0.0 |
Defined in Data.Functor.Const Methods range :: (Const a b, Const a b) -> [Const a b] # index :: (Const a b, Const a b) -> Const a b -> Int # unsafeIndex :: (Const a b, Const a b) -> Const a b -> Int # inRange :: (Const a b, Const a b) -> Const a b -> Bool # rangeSize :: (Const a b, Const a b) -> Int # unsafeRangeSize :: (Const a b, Const a b) -> Int # | |
Ix b => Ix (Tagged s b) | |
Defined in Data.Tagged Methods range :: (Tagged s b, Tagged s b) -> [Tagged s b] # index :: (Tagged s b, Tagged s b) -> Tagged s b -> Int # unsafeIndex :: (Tagged s b, Tagged s b) -> Tagged s b -> Int # inRange :: (Tagged s b, Tagged s b) -> Tagged s b -> Bool # rangeSize :: (Tagged s b, Tagged s b) -> Int # unsafeRangeSize :: (Tagged s b, Tagged s b) -> Int # | |
(Ix a, Ord (v a), Vector v a) => Ix (Vector v n a) | |
Defined in Data.Vector.Generic.Sized.Internal Methods range :: (Vector v n a, Vector v n a) -> [Vector v n a] # index :: (Vector v n a, Vector v n a) -> Vector v n a -> Int # unsafeIndex :: (Vector v n a, Vector v n a) -> Vector v n a -> Int # inRange :: (Vector v n a, Vector v n a) -> Vector v n a -> Bool # rangeSize :: (Vector v n a, Vector v n a) -> Int # unsafeRangeSize :: (Vector v n a, Vector v n a) -> Int # | |
(Ix a1, Ix a2, Ix a3, Ix a4) => Ix (a1, a2, a3, a4) | Since: base-2.1 |
Defined in GHC.Ix Methods range :: ((a1, a2, a3, a4), (a1, a2, a3, a4)) -> [(a1, a2, a3, a4)] # index :: ((a1, a2, a3, a4), (a1, a2, a3, a4)) -> (a1, a2, a3, a4) -> Int # unsafeIndex :: ((a1, a2, a3, a4), (a1, a2, a3, a4)) -> (a1, a2, a3, a4) -> Int # inRange :: ((a1, a2, a3, a4), (a1, a2, a3, a4)) -> (a1, a2, a3, a4) -> Bool # rangeSize :: ((a1, a2, a3, a4), (a1, a2, a3, a4)) -> Int # unsafeRangeSize :: ((a1, a2, a3, a4), (a1, a2, a3, a4)) -> Int # | |
(Ix a1, Ix a2, Ix a3, Ix a4, Ix a5) => Ix (a1, a2, a3, a4, a5) | Since: base-2.1 |
Defined in GHC.Ix Methods range :: ((a1, a2, a3, a4, a5), (a1, a2, a3, a4, a5)) -> [(a1, a2, a3, a4, a5)] # index :: ((a1, a2, a3, a4, a5), (a1, a2, a3, a4, a5)) -> (a1, a2, a3, a4, a5) -> Int # unsafeIndex :: ((a1, a2, a3, a4, a5), (a1, a2, a3, a4, a5)) -> (a1, a2, a3, a4, a5) -> Int # inRange :: ((a1, a2, a3, a4, a5), (a1, a2, a3, a4, a5)) -> (a1, a2, a3, a4, a5) -> Bool # rangeSize :: ((a1, a2, a3, a4, a5), (a1, a2, a3, a4, a5)) -> Int # unsafeRangeSize :: ((a1, a2, a3, a4, a5), (a1, a2, a3, a4, a5)) -> Int # | |
(Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6) => Ix (a1, a2, a3, a4, a5, a6) | Since: base-4.15.0.0 |
Defined in GHC.Ix Methods range :: ((a1, a2, a3, a4, a5, a6), (a1, a2, a3, a4, a5, a6)) -> [(a1, a2, a3, a4, a5, a6)] # index :: ((a1, a2, a3, a4, a5, a6), (a1, a2, a3, a4, a5, a6)) -> (a1, a2, a3, a4, a5, a6) -> Int # unsafeIndex :: ((a1, a2, a3, a4, a5, a6), (a1, a2, a3, a4, a5, a6)) -> (a1, a2, a3, a4, a5, a6) -> Int # inRange :: ((a1, a2, a3, a4, a5, a6), (a1, a2, a3, a4, a5, a6)) -> (a1, a2, a3, a4, a5, a6) -> Bool # rangeSize :: ((a1, a2, a3, a4, a5, a6), (a1, a2, a3, a4, a5, a6)) -> Int # unsafeRangeSize :: ((a1, a2, a3, a4, a5, a6), (a1, a2, a3, a4, a5, a6)) -> Int # | |
(Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6, Ix a7) => Ix (a1, a2, a3, a4, a5, a6, a7) | Since: base-4.15.0.0 |
Defined in GHC.Ix Methods range :: ((a1, a2, a3, a4, a5, a6, a7), (a1, a2, a3, a4, a5, a6, a7)) -> [(a1, a2, a3, a4, a5, a6, a7)] # index :: ((a1, a2, a3, a4, a5, a6, a7), (a1, a2, a3, a4, a5, a6, a7)) -> (a1, a2, a3, a4, a5, a6, a7) -> Int # unsafeIndex :: ((a1, a2, a3, a4, a5, a6, a7), (a1, a2, a3, a4, a5, a6, a7)) -> (a1, a2, a3, a4, a5, a6, a7) -> Int # inRange :: ((a1, a2, a3, a4, a5, a6, a7), (a1, a2, a3, a4, a5, a6, a7)) -> (a1, a2, a3, a4, a5, a6, a7) -> Bool # rangeSize :: ((a1, a2, a3, a4, a5, a6, a7), (a1, a2, a3, a4, a5, a6, a7)) -> Int # unsafeRangeSize :: ((a1, a2, a3, a4, a5, a6, a7), (a1, a2, a3, a4, a5, a6, a7)) -> Int # | |
(Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6, Ix a7, Ix a8) => Ix (a1, a2, a3, a4, a5, a6, a7, a8) | Since: base-4.15.0.0 |
Defined in GHC.Ix Methods range :: ((a1, a2, a3, a4, a5, a6, a7, a8), (a1, a2, a3, a4, a5, a6, a7, a8)) -> [(a1, a2, a3, a4, a5, a6, a7, a8)] # index :: ((a1, a2, a3, a4, a5, a6, a7, a8), (a1, a2, a3, a4, a5, a6, a7, a8)) -> (a1, a2, a3, a4, a5, a6, a7, a8) -> Int # unsafeIndex :: ((a1, a2, a3, a4, a5, a6, a7, a8), (a1, a2, a3, a4, a5, a6, a7, a8)) -> (a1, a2, a3, a4, a5, a6, a7, a8) -> Int # inRange :: ((a1, a2, a3, a4, a5, a6, a7, a8), (a1, a2, a3, a4, a5, a6, a7, a8)) -> (a1, a2, a3, a4, a5, a6, a7, a8) -> Bool # rangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8), (a1, a2, a3, a4, a5, a6, a7, a8)) -> Int # unsafeRangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8), (a1, a2, a3, a4, a5, a6, a7, a8)) -> Int # | |
(Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6, Ix a7, Ix a8, Ix a9) => Ix (a1, a2, a3, a4, a5, a6, a7, a8, a9) | Since: base-4.15.0.0 |
Defined in GHC.Ix Methods range :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9), (a1, a2, a3, a4, a5, a6, a7, a8, a9)) -> [(a1, a2, a3, a4, a5, a6, a7, a8, a9)] # index :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9), (a1, a2, a3, a4, a5, a6, a7, a8, a9)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9) -> Int # unsafeIndex :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9), (a1, a2, a3, a4, a5, a6, a7, a8, a9)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9) -> Int # inRange :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9), (a1, a2, a3, a4, a5, a6, a7, a8, a9)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9) -> Bool # rangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9), (a1, a2, a3, a4, a5, a6, a7, a8, a9)) -> Int # unsafeRangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9), (a1, a2, a3, a4, a5, a6, a7, a8, a9)) -> Int # | |
(Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6, Ix a7, Ix a8, Ix a9, Ix aA) => Ix (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA) | Since: base-4.15.0.0 |
Defined in GHC.Ix Methods range :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA)) -> [(a1, a2, a3, a4, a5, a6, a7, a8, a9, aA)] # index :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA) -> Int # unsafeIndex :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA) -> Int # inRange :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA) -> Bool # rangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA)) -> Int # unsafeRangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA)) -> Int # | |
(Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6, Ix a7, Ix a8, Ix a9, Ix aA, Ix aB) => Ix (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB) | Since: base-4.15.0.0 |
Defined in GHC.Ix Methods range :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB)) -> [(a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB)] # index :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB) -> Int # unsafeIndex :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB) -> Int # inRange :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB) -> Bool # rangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB)) -> Int # unsafeRangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB)) -> Int # | |
(Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6, Ix a7, Ix a8, Ix a9, Ix aA, Ix aB, Ix aC) => Ix (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC) | Since: base-4.15.0.0 |
Defined in GHC.Ix Methods range :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC)) -> [(a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC)] # index :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC) -> Int # unsafeIndex :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC) -> Int # inRange :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC) -> Bool # rangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC)) -> Int # unsafeRangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC)) -> Int # | |
(Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6, Ix a7, Ix a8, Ix a9, Ix aA, Ix aB, Ix aC, Ix aD) => Ix (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD) | Since: base-4.15.0.0 |
Defined in GHC.Ix Methods range :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD)) -> [(a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD)] # index :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD) -> Int # unsafeIndex :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD) -> Int # inRange :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD) -> Bool # rangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD)) -> Int # unsafeRangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD)) -> Int # | |
(Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6, Ix a7, Ix a8, Ix a9, Ix aA, Ix aB, Ix aC, Ix aD, Ix aE) => Ix (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE) | Since: base-4.15.0.0 |
Defined in GHC.Ix Methods range :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE)) -> [(a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE)] # index :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE) -> Int # unsafeIndex :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE) -> Int # inRange :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE) -> Bool # rangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE)) -> Int # unsafeRangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE)) -> Int # | |
(Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6, Ix a7, Ix a8, Ix a9, Ix aA, Ix aB, Ix aC, Ix aD, Ix aE, Ix aF) => Ix (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF) | Since: base-4.15.0.0 |
Defined in GHC.Ix Methods range :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF)) -> [(a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF)] # index :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF) -> Int # unsafeIndex :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF) -> Int # inRange :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF) -> Bool # rangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF)) -> Int # unsafeRangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF)) -> Int # |
class Monad m => MonadFix (m :: Type -> Type) where #
Monads having fixed points with a 'knot-tying' semantics.
Instances of MonadFix
should satisfy the following laws:
- Purity
mfix
(return
. h) =return
(fix
h)- Left shrinking (or Tightening)
mfix
(\x -> a >>= \y -> f x y) = a >>= \y ->mfix
(\x -> f x y)- Sliding
, for strictmfix
(liftM
h . f) =liftM
h (mfix
(f . h))h
.- Nesting
mfix
(\x ->mfix
(\y -> f x y)) =mfix
(\x -> f x x)
This class is used in the translation of the recursive do
notation
supported by GHC and Hugs.
Methods
Instances
class Monad m => MonadFail (m :: Type -> Type) where #
When a value is bound in do
-notation, the pattern on the left
hand side of <-
might not match. In this case, this class
provides a function to recover.
A Monad
without a MonadFail
instance may only be used in conjunction
with pattern that always match, such as newtypes, tuples, data types with
only a single data constructor, and irrefutable patterns (~pat
).
Instances of MonadFail
should satisfy the following law: fail s
should
be a left zero for >>=
,
fail s >>= f = fail s
If your Monad
is also MonadPlus
, a popular definition is
fail _ = mzero
Since: base-4.9.0.0
Instances
class Functor f => Applicative (f :: Type -> Type) where #
A functor with application, providing operations to
A minimal complete definition must include implementations of pure
and of either <*>
or liftA2
. If it defines both, then they must behave
the same as their default definitions:
(<*>
) =liftA2
id
liftA2
f x y = f<$>
x<*>
y
Further, any definition must satisfy the following:
- Identity
pure
id
<*>
v = v- Composition
pure
(.)<*>
u<*>
v<*>
w = u<*>
(v<*>
w)- Homomorphism
pure
f<*>
pure
x =pure
(f x)- Interchange
u
<*>
pure
y =pure
($
y)<*>
u
The other methods have the following default definitions, which may be overridden with equivalent specialized implementations:
As a consequence of these laws, the Functor
instance for f
will satisfy
It may be useful to note that supposing
forall x y. p (q x y) = f x . g y
it follows from the above that
liftA2
p (liftA2
q u v) =liftA2
f u .liftA2
g v
If f
is also a Monad
, it should satisfy
(which implies that pure
and <*>
satisfy the applicative functor laws).
Methods
Lift a value.
(<*>) :: f (a -> b) -> f a -> f b infixl 4 #
Sequential application.
A few functors support an implementation of <*>
that is more
efficient than the default one.
Using ApplicativeDo
: 'fs
' can be understood as
the <*>
asdo
expression
do f <- fs a <- as pure (f a)
liftA2 :: (a -> b -> c) -> f a -> f b -> f c #
Lift a binary function to actions.
Some functors support an implementation of liftA2
that is more
efficient than the default one. In particular, if fmap
is an
expensive operation, it is likely better to use liftA2
than to
fmap
over the structure and then use <*>
.
This became a typeclass method in 4.10.0.0. Prior to that, it was
a function defined in terms of <*>
and fmap
.
Using ApplicativeDo
: '
' can be understood
as the liftA2
f as bsdo
expression
do a <- as b <- bs pure (f a b)
(*>) :: f a -> f b -> f b infixl 4 #
Sequence actions, discarding the value of the first argument.
'as
' can be understood as the *>
bsdo
expression
do as bs
This is a tad complicated for our ApplicativeDo
extension
which will give it a Monad
constraint. For an Applicative
constraint we write it of the form
do _ <- as b <- bs pure b
(<*) :: f a -> f b -> f a infixl 4 #
Sequence actions, discarding the value of the second argument.
Using ApplicativeDo
: 'as
' can be understood as
the <*
bsdo
expression
do a <- as bs pure a
Instances
Applicative [] | Since: base-2.1 |
Applicative Maybe | Since: base-2.1 |
Applicative IO | Since: base-2.1 |
Applicative Par1 | Since: base-4.9.0.0 |
Applicative Q | |
Applicative Solo | Since: base-4.15 |
Applicative First | Since: base-4.9.0.0 |
Applicative Last | Since: base-4.9.0.0 |
Applicative NonEmpty | Since: base-4.9.0.0 |
Applicative Identity | Since: base-4.8.0.0 |
Applicative Complex | Since: base-4.9.0.0 |
Applicative Min | Since: base-4.9.0.0 |
Applicative Max | Since: base-4.9.0.0 |
Applicative Option | Since: base-4.9.0.0 |
Applicative ZipList | f <$> ZipList xs1 <*> ... <*> ZipList xsN = ZipList (zipWithN f xs1 ... xsN) where (\a b c -> stimes c [a, b]) <$> ZipList "abcd" <*> ZipList "567" <*> ZipList [1..] = ZipList (zipWith3 (\a b c -> stimes c [a, b]) "abcd" "567" [1..]) = ZipList {getZipList = ["a5","b6b6","c7c7c7"]} Since: base-2.1 |
Applicative STM | Since: base-4.8.0.0 |
Applicative First | Since: base-4.8.0.0 |
Applicative Last | Since: base-4.8.0.0 |
Applicative Dual | Since: base-4.8.0.0 |
Applicative Sum | Since: base-4.8.0.0 |
Applicative Product | Since: base-4.8.0.0 |
Applicative Down | Since: base-4.11.0.0 |
Applicative ReadPrec | Since: base-4.6.0.0 |
Applicative ReadP | Since: base-4.6.0.0 |
Applicative Put | |
Applicative Tree | |
Applicative Seq | Since: containers-0.5.4 |
Applicative P | Since: base-4.5.0.0 |
Applicative Vector | |
Applicative Box | |
Applicative Id | |
Applicative Array | |
Applicative SmallArray | |
Defined in Data.Primitive.SmallArray | |
Applicative T1 | |
Applicative Quaternion | |
Defined in Linear.Quaternion | |
Applicative V0 | |
Applicative V1 | |
Applicative V2 | |
Applicative V3 | |
Applicative V4 | |
Applicative Plucker | |
Applicative IResult | |
Applicative Parser | |
Applicative Result | |
Applicative DNonEmpty | |
Defined in Data.DList.DNonEmpty.Internal | |
Applicative DList | |
Applicative Eval | |
Applicative ClientM | |
Applicative ParseResult | |
Defined in Language.Haskell.Exts.ParseMonad | |
Applicative P | |
Applicative CryptoFailable | |
Defined in Crypto.Error.Types Methods pure :: a -> CryptoFailable a # (<*>) :: CryptoFailable (a -> b) -> CryptoFailable a -> CryptoFailable b # liftA2 :: (a -> b -> c) -> CryptoFailable a -> CryptoFailable b -> CryptoFailable c # (*>) :: CryptoFailable a -> CryptoFailable b -> CryptoFailable b # (<*) :: CryptoFailable a -> CryptoFailable b -> CryptoFailable a # | |
Applicative I | |
Applicative Stream | |
Applicative NESeq | |
Applicative Join | |
Applicative Meet | |
Applicative PandocPure | |
Defined in Text.Pandoc.Class.PandocPure | |
Applicative Parser | |
Applicative Root | |
Applicative EP | |
Applicative (Either e) | Since: base-3.0 |
Applicative (U1 :: Type -> Type) | Since: base-4.9.0.0 |
Monoid a => Applicative ((,) a) | For tuples, the ("hello ", (+15)) <*> ("world!", 2002) ("hello world!",2017) Since: base-2.1 |
Applicative (ST s) | Since: base-4.4.0.0 |
Applicative (Proxy :: Type -> Type) | Since: base-4.7.0.0 |
Applicative (ST s) | Since: base-2.1 |
Monad m => Applicative (WrappedMonad m) | Since: base-2.1 |
Defined in Control.Applicative Methods pure :: a -> WrappedMonad m a # (<*>) :: WrappedMonad m (a -> b) -> WrappedMonad m a -> WrappedMonad m b # liftA2 :: (a -> b -> c) -> WrappedMonad m a -> WrappedMonad m b -> WrappedMonad m c # (*>) :: WrappedMonad m a -> WrappedMonad m b -> WrappedMonad m b # (<*) :: WrappedMonad m a -> WrappedMonad m b -> WrappedMonad m a # | |
Arrow a => Applicative (ArrowMonad a) | Since: base-4.6.0.0 |
Defined in Control.Arrow Methods pure :: a0 -> ArrowMonad a a0 # (<*>) :: ArrowMonad a (a0 -> b) -> ArrowMonad a a0 -> ArrowMonad a b # liftA2 :: (a0 -> b -> c) -> ArrowMonad a a0 -> ArrowMonad a b -> ArrowMonad a c # (*>) :: ArrowMonad a a0 -> ArrowMonad a b -> ArrowMonad a b # (<*) :: ArrowMonad a a0 -> ArrowMonad a b -> ArrowMonad a a0 # | |
(Functor m, Monad m) => Applicative (MaybeT m) | |
Applicative m => Applicative (ListT m) | |
Monad m => Applicative (ZipSource m) | |
Defined in Data.Conduino | |
Representable f => Applicative (Co f) | |
Alternative f => Applicative (Cofree f) | |
Applicative (ReifiedFold s) | |
Defined in Control.Lens.Reified Methods pure :: a -> ReifiedFold s a # (<*>) :: ReifiedFold s (a -> b) -> ReifiedFold s a -> ReifiedFold s b # liftA2 :: (a -> b -> c) -> ReifiedFold s a -> ReifiedFold s b -> ReifiedFold s c # (*>) :: ReifiedFold s a -> ReifiedFold s b -> ReifiedFold s b # (<*) :: ReifiedFold s a -> ReifiedFold s b -> ReifiedFold s a # | |
Applicative (ReifiedGetter s) | |
Defined in Control.Lens.Reified Methods pure :: a -> ReifiedGetter s a # (<*>) :: ReifiedGetter s (a -> b) -> ReifiedGetter s a -> ReifiedGetter s b # liftA2 :: (a -> b -> c) -> ReifiedGetter s a -> ReifiedGetter s b -> ReifiedGetter s c # (*>) :: ReifiedGetter s a -> ReifiedGetter s b -> ReifiedGetter s b # (<*) :: ReifiedGetter s a -> ReifiedGetter s b -> ReifiedGetter s a # | |
Semigroup a => Applicative (These a) | |
Monoid a => Applicative (T2 a) | |
Applicative (Covector r) | |
Defined in Linear.Covector | |
Apply f => Applicative (MaybeApply f) | |
Defined in Data.Functor.Bind.Class | |
Applicative (Parser i) | |
Functor f => Applicative (Free f) | |
Applicative f => Applicative (Yoneda f) | |
Applicative f => Applicative (Indexing f) | |
Defined in Control.Lens.Internal.Indexed | |
Applicative f => Applicative (Indexing64 f) | |
Defined in Control.Lens.Internal.Indexed | |
Applicative f => Applicative (WrappedApplicative f) | |
Defined in Data.Functor.Bind.Class Methods pure :: a -> WrappedApplicative f a # (<*>) :: WrappedApplicative f (a -> b) -> WrappedApplicative f a -> WrappedApplicative f b # liftA2 :: (a -> b -> c) -> WrappedApplicative f a -> WrappedApplicative f b -> WrappedApplicative f c # (*>) :: WrappedApplicative f a -> WrappedApplicative f b -> WrappedApplicative f b # (<*) :: WrappedApplicative f a -> WrappedApplicative f b -> WrappedApplicative f a # | |
Semigroup a => Applicative (These a) | |
Applicative m => Applicative (ResourceT m) | |
Defined in Control.Monad.Trans.Resource.Internal | |
Monad m => Applicative (ZipSource m) | |
Defined in Data.Conduit.Internal.Conduit | |
Applicative (Fold a) | |
Applicative (F f) | |
Applicative (SetM s) | |
Applicative (Lex r) | |
Semigroup a => Applicative (These a) | |
ApplicativeB b => Applicative (Container b) | |
Defined in Barbies.Internal.Containers | |
SNatI n => Applicative (Vec n) | |
Applicative (Vec n) | |
Applicative (LuaE e) | |
Applicative f => Applicative (WrappedPoly f) | |
Defined in Data.MonoTraversable Methods pure :: a -> WrappedPoly f a # (<*>) :: WrappedPoly f (a -> b) -> WrappedPoly f a -> WrappedPoly f b # liftA2 :: (a -> b -> c) -> WrappedPoly f a -> WrappedPoly f b -> WrappedPoly f c # (*>) :: WrappedPoly f a -> WrappedPoly f b -> WrappedPoly f b # (<*) :: WrappedPoly f a -> WrappedPoly f b -> WrappedPoly f a # | |
Applicative m => Applicative (InputT m) | |
Applicative (DocM s) | |
Applicative f => Applicative (Rec1 f) | Since: base-4.9.0.0 |
(Monoid a, Monoid b) => Applicative ((,,) a b) | Since: base-4.14.0.0 |
Monoid m => Applicative (Const m :: Type -> Type) | Since: base-2.0.1 |
Arrow a => Applicative (WrappedArrow a b) | Since: base-2.1 |
Defined in Control.Applicative Methods pure :: a0 -> WrappedArrow a b a0 # (<*>) :: WrappedArrow a b (a0 -> b0) -> WrappedArrow a b a0 -> WrappedArrow a b b0 # liftA2 :: (a0 -> b0 -> c) -> WrappedArrow a b a0 -> WrappedArrow a b b0 -> WrappedArrow a b c # (*>) :: WrappedArrow a b a0 -> WrappedArrow a b b0 -> WrappedArrow a b b0 # (<*) :: WrappedArrow a b a0 -> WrappedArrow a b b0 -> WrappedArrow a b a0 # | |
Applicative m => Applicative (Kleisli m a) | Since: base-4.14.0.0 |
Defined in Control.Arrow | |
Applicative f => Applicative (Ap f) | Since: base-4.12.0.0 |
Applicative f => Applicative (Alt f) | Since: base-4.8.0.0 |
(Applicative f, Monad f) => Applicative (WhenMissing f x) | Equivalent to Since: containers-0.5.9 |
Defined in Data.IntMap.Internal Methods pure :: a -> WhenMissing f x a # (<*>) :: WhenMissing f x (a -> b) -> WhenMissing f x a -> WhenMissing f x b # liftA2 :: (a -> b -> c) -> WhenMissing f x a -> WhenMissing f x b -> WhenMissing f x c # (*>) :: WhenMissing f x a -> WhenMissing f x b -> WhenMissing f x b # (<*) :: WhenMissing f x a -> WhenMissing f x b -> WhenMissing f x a # | |
(Functor m, Monad m) => Applicative (ExceptT e m) | |
Defined in Control.Monad.Trans.Except | |
Applicative m => Applicative (IdentityT m) | |
Defined in Control.Monad.Trans.Identity | |
(Functor m, Monad m) => Applicative (ErrorT e m) | |
Defined in Control.Monad.Trans.Error | |
Applicative m => Applicative (ReaderT r m) | |
Defined in Control.Monad.Trans.Reader | |
(Functor m, Monad m) => Applicative (StateT s m) | |
Defined in Control.Monad.Trans.State.Lazy | |
(Functor m, Monad m) => Applicative (StateT s m) | |
Defined in Control.Monad.Trans.State.Strict | |
(Monoid w, Applicative m) => Applicative (WriterT w m) | |
Defined in Control.Monad.Trans.Writer.Lazy | |
(Monoid w, Applicative m) => Applicative (WriterT w m) | |
Defined in Control.Monad.Trans.Writer.Strict | |
(Monoid w, Functor m, Monad m) => Applicative (AccumT w m) | |
Defined in Control.Monad.Trans.Accum | |
(Functor m, Monad m) => Applicative (WriterT w m) | |
Defined in Control.Monad.Trans.Writer.CPS | |
(Functor m, Monad m) => Applicative (SelectT r m) | |
Defined in Control.Monad.Trans.Select | |
Applicative f => Applicative (Backwards f) | Apply |
Defined in Control.Applicative.Backwards | |
(Functor f, Monad m) => Applicative (FreeT f m) | |
Defined in Control.Monad.Trans.Free | |
Applicative (FT f m) | |
Biapplicative p => Applicative (Join p) | |
Applicative (Tagged s) | |
Applicative (Mag a b) | |
Applicative (Indexed i a) | |
Defined in Control.Lens.Internal.Indexed | |
(Monoid a, Monoid b) => Applicative (T3 a b) | |
Biapplicative p => Applicative (Fix p) | |
(Alternative f, Applicative w) => Applicative (CofreeT f w) | |
Defined in Control.Comonad.Trans.Cofree | |
(Applicative f, Applicative g) => Applicative (Day f g) | |
(Applicative (Rep p), Representable p) => Applicative (Prep p) | |
Dim n => Applicative (V n) | |
Applicative (Mafic a b) | |
Defined in Control.Lens.Internal.Magma | |
(Profunctor p, Arrow p) => Applicative (Tambara p a) | |
Defined in Data.Profunctor.Strong | |
(Profunctor p, Arrow p) => Applicative (Closure p a) | |
Defined in Data.Profunctor.Closed | |
Monad m => Applicative (ZipSink i m) | |
Defined in Data.Conduit.Internal.Conduit | |
(Applicative w, Monoid s) => Applicative (StoreT s w) | |
Defined in Control.Comonad.Trans.Store | |
Applicative m => Applicative (FoldM m a) | |
(Monoid e, Applicative m) => Applicative (EnvT e m) | |
Applicative f => Applicative (Indexing f) | |
Monoid m => Applicative (Holes t m) | |
(Functor g, g ~ h) => Applicative (Curried g h) | |
Defined in Data.Functor.Day.Curried | |
Applicative (Flows i b) | |
Defined in Control.Lens.Internal.Level | |
Monoid a => Applicative (K a :: Type -> Type) | |
Monad m => Applicative (PT n m) | |
Monoid c => Applicative (K1 i c :: Type -> Type) | Since: base-4.12.0.0 |
(Applicative f, Applicative g) => Applicative (f :*: g) | Since: base-4.9.0.0 |
Applicative ((->) r) | Since: base-2.1 |
(Monoid a, Monoid b, Monoid c) => Applicative ((,,,) a b c) | Since: base-4.14.0.0 |
Defined in GHC.Base | |
(Applicative f, Applicative g) => Applicative (Product f g) | Since: base-4.9.0.0 |
Defined in Data.Functor.Product | |
(Monad f, Applicative f) => Applicative (WhenMatched f x y) | Equivalent to Since: containers-0.5.9 |
Defined in Data.IntMap.Internal Methods pure :: a -> WhenMatched f x y a # (<*>) :: WhenMatched f x y (a -> b) -> WhenMatched f x y a -> WhenMatched f x y b # liftA2 :: (a -> b -> c) -> WhenMatched f x y a -> WhenMatched f x y b -> WhenMatched f x y c # (*>) :: WhenMatched f x y a -> WhenMatched f x y b -> WhenMatched f x y b # (<*) :: WhenMatched f x y a -> WhenMatched f x y b -> WhenMatched f x y a # | |
(Applicative f, Monad f) => Applicative (WhenMissing f k x) | Equivalent to Since: containers-0.5.9 |
Defined in Data.Map.Internal Methods pure :: a -> WhenMissing f k x a # (<*>) :: WhenMissing f k x (a -> b) -> WhenMissing f k x a -> WhenMissing f k x b # liftA2 :: (a -> b -> c) -> WhenMissing f k x a -> WhenMissing f k x b -> WhenMissing f k x c # (*>) :: WhenMissing f k x a -> WhenMissing f k x b -> WhenMissing f k x b # (<*) :: WhenMissing f k x a -> WhenMissing f k x b -> WhenMissing f k x a # | |
Applicative (ContT r m) | |
Defined in Control.Monad.Trans.Cont | |
Monad m => Applicative (ZipSink i u m) | |
Defined in Data.Conduino Methods pure :: a -> ZipSink i u m a # (<*>) :: ZipSink i u m (a -> b) -> ZipSink i u m a -> ZipSink i u m b # liftA2 :: (a -> b -> c) -> ZipSink i u m a -> ZipSink i u m b -> ZipSink i u m c # (*>) :: ZipSink i u m a -> ZipSink i u m b -> ZipSink i u m b # (<*) :: ZipSink i u m a -> ZipSink i u m b -> ZipSink i u m a # | |
Applicative (Bazaar p a b) | |
Defined in Control.Lens.Internal.Bazaar Methods pure :: a0 -> Bazaar p a b a0 # (<*>) :: Bazaar p a b (a0 -> b0) -> Bazaar p a b a0 -> Bazaar p a b b0 # liftA2 :: (a0 -> b0 -> c) -> Bazaar p a b a0 -> Bazaar p a b b0 -> Bazaar p a b c # (*>) :: Bazaar p a b a0 -> Bazaar p a b b0 -> Bazaar p a b b0 # (<*) :: Bazaar p a b a0 -> Bazaar p a b b0 -> Bazaar p a b a0 # | |
(Monoid a, Monoid b, Monoid c) => Applicative (T4 a b c) | |
Defined in Data.Tuple.Strict.T4 | |
Applicative (Cokleisli w a) | |
Defined in Control.Comonad Methods pure :: a0 -> Cokleisli w a a0 # (<*>) :: Cokleisli w a (a0 -> b) -> Cokleisli w a a0 -> Cokleisli w a b # liftA2 :: (a0 -> b -> c) -> Cokleisli w a a0 -> Cokleisli w a b -> Cokleisli w a c # (*>) :: Cokleisli w a a0 -> Cokleisli w a b -> Cokleisli w a b # (<*) :: Cokleisli w a a0 -> Cokleisli w a b -> Cokleisli w a a0 # | |
Applicative (Costar f a) | |
Defined in Data.Profunctor.Types | |
Applicative f => Applicative (Star f a) | |
Applicative (Molten i a b) | |
Defined in Control.Lens.Internal.Magma Methods pure :: a0 -> Molten i a b a0 # (<*>) :: Molten i a b (a0 -> b0) -> Molten i a b a0 -> Molten i a b b0 # liftA2 :: (a0 -> b0 -> c) -> Molten i a b a0 -> Molten i a b b0 -> Molten i a b c # (*>) :: Molten i a b a0 -> Molten i a b b0 -> Molten i a b b0 # (<*) :: Molten i a b a0 -> Molten i a b b0 -> Molten i a b a0 # | |
Applicative (ConduitT i o m) | |
Defined in Data.Conduit.Internal.Conduit Methods pure :: a -> ConduitT i o m a # (<*>) :: ConduitT i o m (a -> b) -> ConduitT i o m a -> ConduitT i o m b # liftA2 :: (a -> b -> c) -> ConduitT i o m a -> ConduitT i o m b -> ConduitT i o m c # (*>) :: ConduitT i o m a -> ConduitT i o m b -> ConduitT i o m b # (<*) :: ConduitT i o m a -> ConduitT i o m b -> ConduitT i o m a # | |
Monad m => Applicative (ZipConduit i o m) | |
Defined in Data.Conduit.Internal.Conduit Methods pure :: a -> ZipConduit i o m a # (<*>) :: ZipConduit i o m (a -> b) -> ZipConduit i o m a -> ZipConduit i o m b # liftA2 :: (a -> b -> c) -> ZipConduit i o m a -> ZipConduit i o m b -> ZipConduit i o m c # (*>) :: ZipConduit i o m a -> ZipConduit i o m b -> ZipConduit i o m b # (<*) :: ZipConduit i o m a -> ZipConduit i o m b -> ZipConduit i o m a # | |
Stream s => Applicative (ParsecT e s m) | |
Defined in Text.Megaparsec.Internal Methods pure :: a -> ParsecT e s m a # (<*>) :: ParsecT e s m (a -> b) -> ParsecT e s m a -> ParsecT e s m b # liftA2 :: (a -> b -> c) -> ParsecT e s m a -> ParsecT e s m b -> ParsecT e s m c # (*>) :: ParsecT e s m a -> ParsecT e s m b -> ParsecT e s m b # (<*) :: ParsecT e s m a -> ParsecT e s m b -> ParsecT e s m a # | |
Applicative f => Applicative (M1 i c f) | Since: base-4.9.0.0 |
(Applicative f, Applicative g) => Applicative (f :.: g) | Since: base-4.9.0.0 |
(Applicative f, Applicative g) => Applicative (Compose f g) | Since: base-4.9.0.0 |
Defined in Data.Functor.Compose | |
(Monad f, Applicative f) => Applicative (WhenMatched f k x y) | Equivalent to Since: containers-0.5.9 |
Defined in Data.Map.Internal Methods pure :: a -> WhenMatched f k x y a # (<*>) :: WhenMatched f k x y (a -> b) -> WhenMatched f k x y a -> WhenMatched f k x y b # liftA2 :: (a -> b -> c) -> WhenMatched f k x y a -> WhenMatched f k x y b -> WhenMatched f k x y c # (*>) :: WhenMatched f k x y a -> WhenMatched f k x y b -> WhenMatched f k x y b # (<*) :: WhenMatched f k x y a -> WhenMatched f k x y b -> WhenMatched f k x y a # | |
(Monoid w, Functor m, Monad m) => Applicative (RWST r w s m) | |
Defined in Control.Monad.Trans.RWS.Strict | |
(Monoid w, Functor m, Monad m) => Applicative (RWST r w s m) | |
Defined in Control.Monad.Trans.RWS.Lazy | |
(Functor m, Monad m) => Applicative (RWST r w s m) | |
Defined in Control.Monad.Trans.RWS.CPS | |
Applicative (Pipe i o u m) | |
Defined in Data.Conduino.Internal | |
(Monoid a, Monoid b, Monoid c, Monoid d) => Applicative (T5 a b c d) | |
Defined in Data.Tuple.Strict.T5 | |
Reifies s (ReifiedApplicative f) => Applicative (ReflectedApplicative f s) | |
Defined in Data.Reflection Methods pure :: a -> ReflectedApplicative f s a # (<*>) :: ReflectedApplicative f s (a -> b) -> ReflectedApplicative f s a -> ReflectedApplicative f s b # liftA2 :: (a -> b -> c) -> ReflectedApplicative f s a -> ReflectedApplicative f s b -> ReflectedApplicative f s c # (*>) :: ReflectedApplicative f s a -> ReflectedApplicative f s b -> ReflectedApplicative f s b # (<*) :: ReflectedApplicative f s a -> ReflectedApplicative f s b -> ReflectedApplicative f s a # | |
Applicative (TakingWhile p f a b) | |
Defined in Control.Lens.Internal.Magma Methods pure :: a0 -> TakingWhile p f a b a0 # (<*>) :: TakingWhile p f a b (a0 -> b0) -> TakingWhile p f a b a0 -> TakingWhile p f a b b0 # liftA2 :: (a0 -> b0 -> c) -> TakingWhile p f a b a0 -> TakingWhile p f a b b0 -> TakingWhile p f a b c # (*>) :: TakingWhile p f a b a0 -> TakingWhile p f a b b0 -> TakingWhile p f a b b0 # (<*) :: TakingWhile p f a b a0 -> TakingWhile p f a b b0 -> TakingWhile p f a b a0 # | |
Applicative (BazaarT p g a b) | |
Defined in Control.Lens.Internal.Bazaar Methods pure :: a0 -> BazaarT p g a b a0 # (<*>) :: BazaarT p g a b (a0 -> b0) -> BazaarT p g a b a0 -> BazaarT p g a b b0 # liftA2 :: (a0 -> b0 -> c) -> BazaarT p g a b a0 -> BazaarT p g a b b0 -> BazaarT p g a b c # (*>) :: BazaarT p g a b a0 -> BazaarT p g a b b0 -> BazaarT p g a b b0 # (<*) :: BazaarT p g a b a0 -> BazaarT p g a b b0 -> BazaarT p g a b a0 # | |
(Applicative f, Applicative g) => Applicative (f :.: g) | |
(Monoid a, Monoid b, Monoid c, Monoid d, Monoid e) => Applicative (T6 a b c d e) | |
Defined in Data.Tuple.Strict.T6 Methods pure :: a0 -> T6 a b c d e a0 # (<*>) :: T6 a b c d e (a0 -> b0) -> T6 a b c d e a0 -> T6 a b c d e b0 # liftA2 :: (a0 -> b0 -> c0) -> T6 a b c d e a0 -> T6 a b c d e b0 -> T6 a b c d e c0 # (*>) :: T6 a b c d e a0 -> T6 a b c d e b0 -> T6 a b c d e b0 # (<*) :: T6 a b c d e a0 -> T6 a b c d e b0 -> T6 a b c d e a0 # | |
Monad m => Applicative (Pipe l i o u m) | |
Defined in Data.Conduit.Internal.Pipe Methods pure :: a -> Pipe l i o u m a # (<*>) :: Pipe l i o u m (a -> b) -> Pipe l i o u m a -> Pipe l i o u m b # liftA2 :: (a -> b -> c) -> Pipe l i o u m a -> Pipe l i o u m b -> Pipe l i o u m c # (*>) :: Pipe l i o u m a -> Pipe l i o u m b -> Pipe l i o u m b # (<*) :: Pipe l i o u m a -> Pipe l i o u m b -> Pipe l i o u m a # | |
Monad state => Applicative (Builder collection mutCollection step state err) | |
Defined in Basement.MutableBuilder Methods pure :: a -> Builder collection mutCollection step state err a # (<*>) :: Builder collection mutCollection step state err (a -> b) -> Builder collection mutCollection step state err a -> Builder collection mutCollection step state err b # liftA2 :: (a -> b -> c) -> Builder collection mutCollection step state err a -> Builder collection mutCollection step state err b -> Builder collection mutCollection step state err c # (*>) :: Builder collection mutCollection step state err a -> Builder collection mutCollection step state err b -> Builder collection mutCollection step state err b # (<*) :: Builder collection mutCollection step state err a -> Builder collection mutCollection step state err b -> Builder collection mutCollection step state err a # | |
(Monoid a, Monoid b, Monoid c, Monoid d, Monoid e, Monoid f) => Applicative (T7 a b c d e f) | |
Defined in Data.Tuple.Strict.T7 Methods pure :: a0 -> T7 a b c d e f a0 # (<*>) :: T7 a b c d e f (a0 -> b0) -> T7 a b c d e f a0 -> T7 a b c d e f b0 # liftA2 :: (a0 -> b0 -> c0) -> T7 a b c d e f a0 -> T7 a b c d e f b0 -> T7 a b c d e f c0 # (*>) :: T7 a b c d e f a0 -> T7 a b c d e f b0 -> T7 a b c d e f b0 # (<*) :: T7 a b c d e f a0 -> T7 a b c d e f b0 -> T7 a b c d e f a0 # | |
(Monoid a, Monoid b, Monoid c, Monoid d, Monoid e, Monoid f, Monoid g) => Applicative (T8 a b c d e f g) | |
Defined in Data.Tuple.Strict.T8 Methods pure :: a0 -> T8 a b c d e f g a0 # (<*>) :: T8 a b c d e f g (a0 -> b0) -> T8 a b c d e f g a0 -> T8 a b c d e f g b0 # liftA2 :: (a0 -> b0 -> c0) -> T8 a b c d e f g a0 -> T8 a b c d e f g b0 -> T8 a b c d e f g c0 # (*>) :: T8 a b c d e f g a0 -> T8 a b c d e f g b0 -> T8 a b c d e f g b0 # (<*) :: T8 a b c d e f g a0 -> T8 a b c d e f g b0 -> T8 a b c d e f g a0 # | |
(Monoid a, Monoid b, Monoid c, Monoid d, Monoid e, Monoid f, Monoid g, Monoid h) => Applicative (T9 a b c d e f g h) | |
Defined in Data.Tuple.Strict.T9 Methods pure :: a0 -> T9 a b c d e f g h a0 # (<*>) :: T9 a b c d e f g h (a0 -> b0) -> T9 a b c d e f g h a0 -> T9 a b c d e f g h b0 # liftA2 :: (a0 -> b0 -> c0) -> T9 a b c d e f g h a0 -> T9 a b c d e f g h b0 -> T9 a b c d e f g h c0 # (*>) :: T9 a b c d e f g h a0 -> T9 a b c d e f g h b0 -> T9 a b c d e f g h b0 # (<*) :: T9 a b c d e f g h a0 -> T9 a b c d e f g h b0 -> T9 a b c d e f g h a0 # | |
(Monoid a, Monoid b, Monoid c, Monoid d, Monoid e, Monoid f, Monoid g, Monoid h, Monoid i) => Applicative (T10 a b c d e f g h i) | |
Defined in Data.Tuple.Strict.T10 Methods pure :: a0 -> T10 a b c d e f g h i a0 # (<*>) :: T10 a b c d e f g h i (a0 -> b0) -> T10 a b c d e f g h i a0 -> T10 a b c d e f g h i b0 # liftA2 :: (a0 -> b0 -> c0) -> T10 a b c d e f g h i a0 -> T10 a b c d e f g h i b0 -> T10 a b c d e f g h i c0 # (*>) :: T10 a b c d e f g h i a0 -> T10 a b c d e f g h i b0 -> T10 a b c d e f g h i b0 # (<*) :: T10 a b c d e f g h i a0 -> T10 a b c d e f g h i b0 -> T10 a b c d e f g h i a0 # | |
(Monoid a, Monoid b, Monoid c, Monoid d, Monoid e, Monoid f, Monoid g, Monoid h, Monoid i, Monoid j) => Applicative (T11 a b c d e f g h i j) | |
Defined in Data.Tuple.Strict.T11 Methods pure :: a0 -> T11 a b c d e f g h i j a0 # (<*>) :: T11 a b c d e f g h i j (a0 -> b0) -> T11 a b c d e f g h i j a0 -> T11 a b c d e f g h i j b0 # liftA2 :: (a0 -> b0 -> c0) -> T11 a b c d e f g h i j a0 -> T11 a b c d e f g h i j b0 -> T11 a b c d e f g h i j c0 # (*>) :: T11 a b c d e f g h i j a0 -> T11 a b c d e f g h i j b0 -> T11 a b c d e f g h i j b0 # (<*) :: T11 a b c d e f g h i j a0 -> T11 a b c d e f g h i j b0 -> T11 a b c d e f g h i j a0 # | |
(Monoid a, Monoid b, Monoid c, Monoid d, Monoid e, Monoid f, Monoid g, Monoid h, Monoid i, Monoid j, Monoid k) => Applicative (T12 a b c d e f g h i j k) | |
Defined in Data.Tuple.Strict.T12 Methods pure :: a0 -> T12 a b c d e f g h i j k a0 # (<*>) :: T12 a b c d e f g h i j k (a0 -> b0) -> T12 a b c d e f g h i j k a0 -> T12 a b c d e f g h i j k b0 # liftA2 :: (a0 -> b0 -> c0) -> T12 a b c d e f g h i j k a0 -> T12 a b c d e f g h i j k b0 -> T12 a b c d e f g h i j k c0 # (*>) :: T12 a b c d e f g h i j k a0 -> T12 a b c d e f g h i j k b0 -> T12 a b c d e f g h i j k b0 # (<*) :: T12 a b c d e f g h i j k a0 -> T12 a b c d e f g h i j k b0 -> T12 a b c d e f g h i j k a0 # | |
(Monoid a, Monoid b, Monoid c, Monoid d, Monoid e, Monoid f, Monoid g, Monoid h, Monoid i, Monoid j, Monoid k, Monoid l) => Applicative (T13 a b c d e f g h i j k l) | |
Defined in Data.Tuple.Strict.T13 Methods pure :: a0 -> T13 a b c d e f g h i j k l a0 # (<*>) :: T13 a b c d e f g h i j k l (a0 -> b0) -> T13 a b c d e f g h i j k l a0 -> T13 a b c d e f g h i j k l b0 # liftA2 :: (a0 -> b0 -> c0) -> T13 a b c d e f g h i j k l a0 -> T13 a b c d e f g h i j k l b0 -> T13 a b c d e f g h i j k l c0 # (*>) :: T13 a b c d e f g h i j k l a0 -> T13 a b c d e f g h i j k l b0 -> T13 a b c d e f g h i j k l b0 # (<*) :: T13 a b c d e f g h i j k l a0 -> T13 a b c d e f g h i j k l b0 -> T13 a b c d e f g h i j k l a0 # | |
(Monoid a, Monoid b, Monoid c, Monoid d, Monoid e, Monoid f, Monoid g, Monoid h, Monoid i, Monoid j, Monoid k, Monoid l, Monoid m) => Applicative (T14 a b c d e f g h i j k l m) | |
Defined in Data.Tuple.Strict.T14 Methods pure :: a0 -> T14 a b c d e f g h i j k l m a0 # (<*>) :: T14 a b c d e f g h i j k l m (a0 -> b0) -> T14 a b c d e f g h i j k l m a0 -> T14 a b c d e f g h i j k l m b0 # liftA2 :: (a0 -> b0 -> c0) -> T14 a b c d e f g h i j k l m a0 -> T14 a b c d e f g h i j k l m b0 -> T14 a b c d e f g h i j k l m c0 # (*>) :: T14 a b c d e f g h i j k l m a0 -> T14 a b c d e f g h i j k l m b0 -> T14 a b c d e f g h i j k l m b0 # (<*) :: T14 a b c d e f g h i j k l m a0 -> T14 a b c d e f g h i j k l m b0 -> T14 a b c d e f g h i j k l m a0 # | |
(Monoid a, Monoid b, Monoid c, Monoid d, Monoid e, Monoid f, Monoid g, Monoid h, Monoid i, Monoid j, Monoid k, Monoid l, Monoid m, Monoid n) => Applicative (T15 a b c d e f g h i j k l m n) | |
Defined in Data.Tuple.Strict.T15 Methods pure :: a0 -> T15 a b c d e f g h i j k l m n a0 # (<*>) :: T15 a b c d e f g h i j k l m n (a0 -> b0) -> T15 a b c d e f g h i j k l m n a0 -> T15 a b c d e f g h i j k l m n b0 # liftA2 :: (a0 -> b0 -> c0) -> T15 a b c d e f g h i j k l m n a0 -> T15 a b c d e f g h i j k l m n b0 -> T15 a b c d e f g h i j k l m n c0 # (*>) :: T15 a b c d e f g h i j k l m n a0 -> T15 a b c d e f g h i j k l m n b0 -> T15 a b c d e f g h i j k l m n b0 # (<*) :: T15 a b c d e f g h i j k l m n a0 -> T15 a b c d e f g h i j k l m n b0 -> T15 a b c d e f g h i j k l m n a0 # | |
(Monoid a, Monoid b, Monoid c, Monoid d, Monoid e, Monoid f, Monoid g, Monoid h, Monoid i, Monoid j, Monoid k, Monoid l, Monoid m, Monoid n, Monoid o) => Applicative (T16 a b c d e f g h i j k l m n o) | |
Defined in Data.Tuple.Strict.T16 Methods pure :: a0 -> T16 a b c d e f g h i j k l m n o a0 # (<*>) :: T16 a b c d e f g h i j k l m n o (a0 -> b0) -> T16 a b c d e f g h i j k l m n o a0 -> T16 a b c d e f g h i j k l m n o b0 # liftA2 :: (a0 -> b0 -> c0) -> T16 a b c d e f g h i j k l m n o a0 -> T16 a b c d e f g h i j k l m n o b0 -> T16 a b c d e f g h i j k l m n o c0 # (*>) :: T16 a b c d e f g h i j k l m n o a0 -> T16 a b c d e f g h i j k l m n o b0 -> T16 a b c d e f g h i j k l m n o b0 # (<*) :: T16 a b c d e f g h i j k l m n o a0 -> T16 a b c d e f g h i j k l m n o b0 -> T16 a b c d e f g h i j k l m n o a0 # | |
(Monoid a, Monoid b, Monoid c, Monoid d, Monoid e, Monoid f, Monoid g, Monoid h, Monoid i, Monoid j, Monoid k, Monoid l, Monoid m, Monoid n, Monoid o, Monoid p) => Applicative (T17 a b c d e f g h i j k l m n o p) | |
Defined in Data.Tuple.Strict.T17 Methods pure :: a0 -> T17 a b c d e f g h i j k l m n o p a0 # (<*>) :: T17 a b c d e f g h i j k l m n o p (a0 -> b0) -> T17 a b c d e f g h i j k l m n o p a0 -> T17 a b c d e f g h i j k l m n o p b0 # liftA2 :: (a0 -> b0 -> c0) -> T17 a b c d e f g h i j k l m n o p a0 -> T17 a b c d e f g h i j k l m n o p b0 -> T17 a b c d e f g h i j k l m n o p c0 # (*>) :: T17 a b c d e f g h i j k l m n o p a0 -> T17 a b c d e f g h i j k l m n o p b0 -> T17 a b c d e f g h i j k l m n o p b0 # (<*) :: T17 a b c d e f g h i j k l m n o p a0 -> T17 a b c d e f g h i j k l m n o p b0 -> T17 a b c d e f g h i j k l m n o p a0 # | |
(Monoid a, Monoid b, Monoid c, Monoid d, Monoid e, Monoid f, Monoid g, Monoid h, Monoid i, Monoid j, Monoid k, Monoid l, Monoid m, Monoid n, Monoid o, Monoid p, Monoid q) => Applicative (T18 a b c d e f g h i j k l m n o p q) | |
Defined in Data.Tuple.Strict.T18 Methods pure :: a0 -> T18 a b c d e f g h i j k l m n o p q a0 # (<*>) :: T18 a b c d e f g h i j k l m n o p q (a0 -> b0) -> T18 a b c d e f g h i j k l m n o p q a0 -> T18 a b c d e f g h i j k l m n o p q b0 # liftA2 :: (a0 -> b0 -> c0) -> T18 a b c d e f g h i j k l m n o p q a0 -> T18 a b c d e f g h i j k l m n o p q b0 -> T18 a b c d e f g h i j k l m n o p q c0 # (*>) :: T18 a b c d e f g h i j k l m n o p q a0 -> T18 a b c d e f g h i j k l m n o p q b0 -> T18 a b c d e f g h i j k l m n o p q b0 # (<*) :: T18 a b c d e f g h i j k l m n o p q a0 -> T18 a b c d e f g h i j k l m n o p q b0 -> T18 a b c d e f g h i j k l m n o p q a0 # | |
(Monoid a, Monoid b, Monoid c, Monoid d, Monoid e, Monoid f, Monoid g, Monoid h, Monoid i, Monoid j, Monoid k, Monoid l, Monoid m, Monoid n, Monoid o, Monoid p, Monoid q, Monoid r) => Applicative (T19 a b c d e f g h i j k l m n o p q r) | |
Defined in Data.Tuple.Strict.T19 Methods pure :: a0 -> T19 a b c d e f g h i j k l m n o p q r a0 # (<*>) :: T19 a b c d e f g h i j k l m n o p q r (a0 -> b0) -> T19 a b c d e f g h i j k l m n o p q r a0 -> T19 a b c d e f g h i j k l m n o p q r b0 # liftA2 :: (a0 -> b0 -> c0) -> T19 a b c d e f g h i j k l m n o p q r a0 -> T19 a b c d e f g h i j k l m n o p q r b0 -> T19 a b c d e f g h i j k l m n o p q r c0 # (*>) :: T19 a b c d e f g h i j k l m n o p q r a0 -> T19 a b c d e f g h i j k l m n o p q r b0 -> T19 a b c d e f g h i j k l m n o p q r b0 # (<*) :: T19 a b c d e f g h i j k l m n o p q r a0 -> T19 a b c d e f g h i j k l m n o p q r b0 -> T19 a b c d e f g h i j k l m n o p q r a0 # |
class Foldable (t :: Type -> Type) where #
The Foldable class represents data structures that can be reduced to a summary value one element at a time. Strict left-associative folds are a good fit for space-efficient reduction, while lazy right-associative folds are a good fit for corecursive iteration, or for folds that short-circuit after processing an initial subsequence of the structure's elements.
Instances can be derived automatically by enabling the DeriveFoldable
extension. For example, a derived instance for a binary tree might be:
{-# LANGUAGE DeriveFoldable #-} data Tree a = Empty | Leaf a | Node (Tree a) a (Tree a) deriving Foldable
A more detailed description can be found in the overview section of Data.Foldable.
Methods
fold :: Monoid m => t m -> m #
Given a structure with elements whose type is a Monoid
, combine them
via the monoid's (
operator. This fold is right-associative and
lazy in the accumulator. When you need a strict left-associative fold,
use <>
)foldMap
` instead, with id
as the map.
Examples
Basic usage:
>>>
fold [[1, 2, 3], [4, 5], [6], []]
[1,2,3,4,5,6]
>>>
fold $ Node (Leaf (Sum 1)) (Sum 3) (Leaf (Sum 5))
Sum {getSum = 9}
Folds of unbounded structures do not terminate when the monoid's
(
operator is strict:<>
)
>>>
fold (repeat Nothing)
* Hangs forever *
Lazy corecursive folds of unbounded structures are fine:
>>>
take 12 $ fold $ map (\i -> [i..i+2]) [0..]
[0,1,2,1,2,3,2,3,4,3,4,5]>>>
sum $ take 4000000 $ fold $ map (\i -> [i..i+2]) [0..]
2666668666666
foldMap :: Monoid m => (a -> m) -> t a -> m #
Map each element of the structure into a monoid, and combine the
results with (
. This fold is right-associative and lazy in the
accumulator. For strict left-associative folds consider <>
)foldMap
`
instead.
Examples
Basic usage:
>>>
foldMap Sum [1, 3, 5]
Sum {getSum = 9}
>>>
foldMap Product [1, 3, 5]
Product {getProduct = 15}
>>>
foldMap (replicate 3) [1, 2, 3]
[1,1,1,2,2,2,3,3,3]
When a Monoid's (
is lazy in its second argument, <>
)foldMap
can
return a result even from an unbounded structure. For example, lazy
accumulation enables Data.ByteString.Builder to efficiently serialise
large data structures and produce the output incrementally:
>>>
import qualified Data.ByteString.Lazy as L
>>>
import qualified Data.ByteString.Builder as B
>>>
let bld :: Int -> B.Builder; bld i = B.intDec i <> B.word8 0x20
>>>
let lbs = B.toLazyByteString $ foldMap bld [0..]
>>>
L.take 64 lbs
"0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24"
foldMap' :: Monoid m => (a -> m) -> t a -> m #
A left-associative variant of foldMap
that is strict in the
accumulator. Use this method for strict reduction when partial
results are merged via (
.<>
)
Examples
Define a Monoid
over finite bit strings under xor
. Use it to
strictly compute the xor
of a list of Int
values.
>>>
:set -XGeneralizedNewtypeDeriving
>>>
import Data.Bits (Bits, FiniteBits, xor, zeroBits)
>>>
import Data.Foldable (foldMap')
>>>
import Numeric (showHex)
>>>
>>>
newtype X a = X a deriving (Eq, Bounded, Enum, Bits, FiniteBits)
>>>
instance Bits a => Semigroup (X a) where X a <> X b = X (a `xor` b)
>>>
instance Bits a => Monoid (X a) where mempty = X zeroBits
>>>
>>>
let bits :: [Int]; bits = [0xcafe, 0xfeed, 0xdeaf, 0xbeef, 0x5411]
>>>
(\ (X a) -> showString "0x" . showHex a $ "") $ foldMap' X bits
"0x42"
Since: base-4.13.0.0
foldr :: (a -> b -> b) -> b -> t a -> b #
Right-associative fold of a structure, lazy in the accumulator.
In the case of lists, foldr
, when applied to a binary operator, a
starting value (typically the right-identity of the operator), and a
list, reduces the list using the binary operator, from right to left:
foldr f z [x1, x2, ..., xn] == x1 `f` (x2 `f` ... (xn `f` z)...)
Note that since the head of the resulting expression is produced by an
application of the operator to the first element of the list, given an
operator lazy in its right argument, foldr
can produce a terminating
expression from an unbounded list.
For a general Foldable
structure this should be semantically identical
to,
foldr f z =foldr
f z .toList
Examples
Basic usage:
>>>
foldr (||) False [False, True, False]
True
>>>
foldr (||) False []
False
>>>
foldr (\c acc -> acc ++ [c]) "foo" ['a', 'b', 'c', 'd']
"foodcba"
Infinite structures
⚠️ Applying foldr
to infinite structures usually doesn't terminate.
It may still terminate under one of the following conditions:
- the folding function is short-circuiting
- the folding function is lazy on its second argument
Short-circuiting
(
short-circuits on ||
)True
values, so the following terminates
because there is a True
value finitely far from the left side:
>>>
foldr (||) False (True : repeat False)
True
But the following doesn't terminate:
>>>
foldr (||) False (repeat False ++ [True])
* Hangs forever *
Laziness in the second argument
Applying foldr
to infinite structures terminates when the operator is
lazy in its second argument (the initial accumulator is never used in
this case, and so could be left undefined
, but []
is more clear):
>>>
take 5 $ foldr (\i acc -> i : fmap (+3) acc) [] (repeat 1)
[1,4,7,10,13]
foldr' :: (a -> b -> b) -> b -> t a -> b #
Right-associative fold of a structure, strict in the accumulator. This is rarely what you want.
Since: base-4.6.0.0
foldl :: (b -> a -> b) -> b -> t a -> b #
Left-associative fold of a structure, lazy in the accumulator. This is rarely what you want, but can work well for structures with efficient right-to-left sequencing and an operator that is lazy in its left argument.
In the case of lists, foldl
, when applied to a binary operator, a
starting value (typically the left-identity of the operator), and a
list, reduces the list using the binary operator, from left to right:
foldl f z [x1, x2, ..., xn] == (...((z `f` x1) `f` x2) `f`...) `f` xn
Note that to produce the outermost application of the operator the
entire input list must be traversed. Like all left-associative folds,
foldl
will diverge if given an infinite list.
If you want an efficient strict left-fold, you probably want to use
foldl
` instead of foldl
. The reason for this is that the latter
does not force the inner results (e.g. z `f` x1
in the above
example) before applying them to the operator (e.g. to (`f` x2)
).
This results in a thunk chain \(\mathcal{O}(n)\) elements long, which
then must be evaluated from the outside-in.
For a general Foldable
structure this should be semantically identical
to:
foldl f z =foldl
f z .toList
Examples
The first example is a strict fold, which in practice is best performed
with foldl
`.
>>>
foldl (+) 42 [1,2,3,4]
52
Though the result below is lazy, the input is reversed before prepending it to the initial accumulator, so corecursion begins only after traversing the entire input string.
>>>
foldl (\acc c -> c : acc) "abcd" "efgh"
"hgfeabcd"
A left fold of a structure that is infinite on the right cannot terminate, even when for any finite input the fold just returns the initial accumulator:
>>>
foldl (\a _ -> a) 0 $ repeat 1
* Hangs forever *
foldl' :: (b -> a -> b) -> b -> t a -> b #
Left-associative fold of a structure but with strict application of the operator.
This ensures that each step of the fold is forced to Weak Head Normal
Form before being applied, avoiding the collection of thunks that would
otherwise occur. This is often what you want to strictly reduce a
finite structure to a single strict result (e.g. sum
).
For a general Foldable
structure this should be semantically identical
to,
foldl' f z =foldl'
f z .toList
Since: base-4.6.0.0
foldr1 :: (a -> a -> a) -> t a -> a #
A variant of foldr
that has no base case,
and thus may only be applied to non-empty structures.
This function is non-total and will raise a runtime exception if the structure happens to be empty.
Examples
Basic usage:
>>>
foldr1 (+) [1..4]
10
>>>
foldr1 (+) []
Exception: Prelude.foldr1: empty list
>>>
foldr1 (+) Nothing
*** Exception: foldr1: empty structure
>>>
foldr1 (-) [1..4]
-2
>>>
foldr1 (&&) [True, False, True, True]
False
>>>
foldr1 (||) [False, False, True, True]
True
>>>
foldr1 (+) [1..]
* Hangs forever *
foldl1 :: (a -> a -> a) -> t a -> a #
A variant of foldl
that has no base case,
and thus may only be applied to non-empty structures.
This function is non-total and will raise a runtime exception if the structure happens to be empty.
foldl1
f =foldl1
f .toList
Examples
Basic usage:
>>>
foldl1 (+) [1..4]
10
>>>
foldl1 (+) []
*** Exception: Prelude.foldl1: empty list
>>>
foldl1 (+) Nothing
*** Exception: foldl1: empty structure
>>>
foldl1 (-) [1..4]
-8
>>>
foldl1 (&&) [True, False, True, True]
False
>>>
foldl1 (||) [False, False, True, True]
True
>>>
foldl1 (+) [1..]
* Hangs forever *
List of elements of a structure, from left to right. If the entire list is intended to be reduced via a fold, just fold the structure directly bypassing the list.
Examples
Basic usage:
>>>
toList Nothing
[]
>>>
toList (Just 42)
[42]
>>>
toList (Left "foo")
[]
>>>
toList (Node (Leaf 5) 17 (Node Empty 12 (Leaf 8)))
[5,17,12,8]
For lists, toList
is the identity:
>>>
toList [1, 2, 3]
[1,2,3]
Since: base-4.8.0.0
Test whether the structure is empty. The default implementation is Left-associative and lazy in both the initial element and the accumulator. Thus optimised for structures where the first element can be accessed in constant time. Structures where this is not the case should have a non-default implementation.
Examples
Basic usage:
>>>
null []
True
>>>
null [1]
False
null
is expected to terminate even for infinite structures.
The default implementation terminates provided the structure
is bounded on the left (there is a left-most element).
>>>
null [1..]
False
Since: base-4.8.0.0
Returns the size/length of a finite structure as an Int
. The
default implementation just counts elements starting with the left-most.
Instances for structures that can compute the element count faster
than via element-by-element counting, should provide a specialised
implementation.
Examples
Basic usage:
>>>
length []
0
>>>
length ['a', 'b', 'c']
3>>>
length [1..]
* Hangs forever *
Since: base-4.8.0.0
elem :: Eq a => a -> t a -> Bool infix 4 #
Does the element occur in the structure?
Note: elem
is often used in infix form.
Examples
Basic usage:
>>>
3 `elem` []
False
>>>
3 `elem` [1,2]
False
>>>
3 `elem` [1,2,3,4,5]
True
For infinite structures, the default implementation of elem
terminates if the sought-after value exists at a finite distance
from the left side of the structure:
>>>
3 `elem` [1..]
True
>>>
3 `elem` ([4..] ++ [3])
* Hangs forever *
Since: base-4.8.0.0
maximum :: Ord a => t a -> a #
The largest element of a non-empty structure.
This function is non-total and will raise a runtime exception if the structure happens to be empty. A structure that supports random access and maintains its elements in order should provide a specialised implementation to return the maximum in faster than linear time.
Examples
Basic usage:
>>>
maximum [1..10]
10
>>>
maximum []
*** Exception: Prelude.maximum: empty list
>>>
maximum Nothing
*** Exception: maximum: empty structure
Since: base-4.8.0.0
minimum :: Ord a => t a -> a #
The least element of a non-empty structure.
This function is non-total and will raise a runtime exception if the structure happens to be empty A structure that supports random access and maintains its elements in order should provide a specialised implementation to return the minimum in faster than linear time.
Examples
Basic usage:
>>>
minimum [1..10]
1
>>>
minimum []
*** Exception: Prelude.minimum: empty list
>>>
minimum Nothing
*** Exception: minimum: empty structure
Since: base-4.8.0.0
The sum
function computes the sum of the numbers of a structure.
Examples
Basic usage:
>>>
sum []
0
>>>
sum [42]
42
>>>
sum [1..10]
55
>>>
sum [4.1, 2.0, 1.7]
7.8
>>>
sum [1..]
* Hangs forever *
Since: base-4.8.0.0
product :: Num a => t a -> a #
The product
function computes the product of the numbers of a
structure.
Examples
Basic usage:
>>>
product []
1
>>>
product [42]
42
>>>
product [1..10]
3628800
>>>
product [4.1, 2.0, 1.7]
13.939999999999998
>>>
product [1..]
* Hangs forever *
Since: base-4.8.0.0
Instances
Foldable [] | Since: base-2.1 |
Defined in Data.Foldable Methods fold :: Monoid m => [m] -> m # foldMap :: Monoid m => (a -> m) -> [a] -> m # foldMap' :: Monoid m => (a -> m) -> [a] -> m # foldr :: (a -> b -> b) -> b -> [a] -> b # foldr' :: (a -> b -> b) -> b -> [a] -> b # foldl :: (b -> a -> b) -> b -> [a] -> b # foldl' :: (b -> a -> b) -> b -> [a] -> b # foldr1 :: (a -> a -> a) -> [a] -> a # foldl1 :: (a -> a -> a) -> [a] -> a # elem :: Eq a => a -> [a] -> Bool # maximum :: Ord a => [a] -> a # | |
Foldable Maybe | Since: base-2.1 |
Defined in Data.Foldable Methods fold :: Monoid m => Maybe m -> m # foldMap :: Monoid m => (a -> m) -> Maybe a -> m # foldMap' :: Monoid m => (a -> m) -> Maybe a -> m # foldr :: (a -> b -> b) -> b -> Maybe a -> b # foldr' :: (a -> b -> b) -> b -> Maybe a -> b # foldl :: (b -> a -> b) -> b -> Maybe a -> b # foldl' :: (b -> a -> b) -> b -> Maybe a -> b # foldr1 :: (a -> a -> a) -> Maybe a -> a # foldl1 :: (a -> a -> a) -> Maybe a -> a # elem :: Eq a => a -> Maybe a -> Bool # maximum :: Ord a => Maybe a -> a # minimum :: Ord a => Maybe a -> a # | |
Foldable Par1 | Since: base-4.9.0.0 |
Defined in Data.Foldable Methods fold :: Monoid m => Par1 m -> m # foldMap :: Monoid m => (a -> m) -> Par1 a -> m # foldMap' :: Monoid m => (a -> m) -> Par1 a -> m # foldr :: (a -> b -> b) -> b -> Par1 a -> b # foldr' :: (a -> b -> b) -> b -> Par1 a -> b # foldl :: (b -> a -> b) -> b -> Par1 a -> b # foldl' :: (b -> a -> b) -> b -> Par1 a -> b # foldr1 :: (a -> a -> a) -> Par1 a -> a # foldl1 :: (a -> a -> a) -> Par1 a -> a # elem :: Eq a => a -> Par1 a -> Bool # maximum :: Ord a => Par1 a -> a # | |
Foldable Solo | Since: base-4.15 |
Defined in Data.Foldable Methods fold :: Monoid m => Solo m -> m # foldMap :: Monoid m => (a -> m) -> Solo a -> m # foldMap' :: Monoid m => (a -> m) -> Solo a -> m # foldr :: (a -> b -> b) -> b -> Solo a -> b # foldr' :: (a -> b -> b) -> b -> Solo a -> b # foldl :: (b -> a -> b) -> b -> Solo a -> b # foldl' :: (b -> a -> b) -> b -> Solo a -> b # foldr1 :: (a -> a -> a) -> Solo a -> a # foldl1 :: (a -> a -> a) -> Solo a -> a # elem :: Eq a => a -> Solo a -> Bool # maximum :: Ord a => Solo a -> a # | |
Foldable First | Since: base-4.9.0.0 |
Defined in Data.Semigroup Methods fold :: Monoid m => First m -> m # foldMap :: Monoid m => (a -> m) -> First a -> m # foldMap' :: Monoid m => (a -> m) -> First a -> m # foldr :: (a -> b -> b) -> b -> First a -> b # foldr' :: (a -> b -> b) -> b -> First a -> b # foldl :: (b -> a -> b) -> b -> First a -> b # foldl' :: (b -> a -> b) -> b -> First a -> b # foldr1 :: (a -> a -> a) -> First a -> a # foldl1 :: (a -> a -> a) -> First a -> a # elem :: Eq a => a -> First a -> Bool # maximum :: Ord a => First a -> a # minimum :: Ord a => First a -> a # | |
Foldable Last | Since: base-4.9.0.0 |
Defined in Data.Semigroup Methods fold :: Monoid m => Last m -> m # foldMap :: Monoid m => (a -> m) -> Last a -> m # foldMap' :: Monoid m => (a -> m) -> Last a -> m # foldr :: (a -> b -> b) -> b -> Last a -> b # foldr' :: (a -> b -> b) -> b -> Last a -> b # foldl :: (b -> a -> b) -> b -> Last a -> b # foldl' :: (b -> a -> b) -> b -> Last a -> b # foldr1 :: (a -> a -> a) -> Last a -> a # foldl1 :: (a -> a -> a) -> Last a -> a # elem :: Eq a => a -> Last a -> Bool # maximum :: Ord a => Last a -> a # | |
Foldable VersionRangeF | |
Defined in Distribution.Types.VersionRange.Internal Methods fold :: Monoid m => VersionRangeF m -> m # foldMap :: Monoid m => (a -> m) -> VersionRangeF a -> m # foldMap' :: Monoid m => (a -> m) -> VersionRangeF a -> m # foldr :: (a -> b -> b) -> b -> VersionRangeF a -> b # foldr' :: (a -> b -> b) -> b -> VersionRangeF a -> b # foldl :: (b -> a -> b) -> b -> VersionRangeF a -> b # foldl' :: (b -> a -> b) -> b -> VersionRangeF a -> b # foldr1 :: (a -> a -> a) -> VersionRangeF a -> a # foldl1 :: (a -> a -> a) -> VersionRangeF a -> a # toList :: VersionRangeF a -> [a] # null :: VersionRangeF a -> Bool # length :: VersionRangeF a -> Int # elem :: Eq a => a -> VersionRangeF a -> Bool # maximum :: Ord a => VersionRangeF a -> a # minimum :: Ord a => VersionRangeF a -> a # sum :: Num a => VersionRangeF a -> a # product :: Num a => VersionRangeF a -> a # | |
Foldable NonEmptySet | |
Defined in Distribution.Compat.NonEmptySet Methods fold :: Monoid m => NonEmptySet m -> m # foldMap :: Monoid m => (a -> m) -> NonEmptySet a -> m # foldMap' :: Monoid m => (a -> m) -> NonEmptySet a -> m # foldr :: (a -> b -> b) -> b -> NonEmptySet a -> b # foldr' :: (a -> b -> b) -> b -> NonEmptySet a -> b # foldl :: (b -> a -> b) -> b -> NonEmptySet a -> b # foldl' :: (b -> a -> b) -> b -> NonEmptySet a -> b # foldr1 :: (a -> a -> a) -> NonEmptySet a -> a # foldl1 :: (a -> a -> a) -> NonEmptySet a -> a # toList :: NonEmptySet a -> [a] # null :: NonEmptySet a -> Bool # length :: NonEmptySet a -> Int # elem :: Eq a => a -> NonEmptySet a -> Bool # maximum :: Ord a => NonEmptySet a -> a # minimum :: Ord a => NonEmptySet a -> a # sum :: Num a => NonEmptySet a -> a # product :: Num a => NonEmptySet a -> a # | |
Foldable Set | Folds in order of increasing key. |
Defined in Data.Set.Internal Methods fold :: Monoid m => Set m -> m # foldMap :: Monoid m => (a -> m) -> Set a -> m # foldMap' :: Monoid m => (a -> m) -> Set a -> m # foldr :: (a -> b -> b) -> b -> Set a -> b # foldr' :: (a -> b -> b) -> b -> Set a -> b # foldl :: (b -> a -> b) -> b -> Set a -> b # foldl' :: (b -> a -> b) -> b -> Set a -> b # foldr1 :: (a -> a -> a) -> Set a -> a # foldl1 :: (a -> a -> a) -> Set a -> a # elem :: Eq a => a -> Set a -> Bool # maximum :: Ord a => Set a -> a # | |
Foldable SCC | Since: containers-0.5.9 |
Defined in Data.Graph Methods fold :: Monoid m => SCC m -> m # foldMap :: Monoid m => (a -> m) -> SCC a -> m # foldMap' :: Monoid m => (a -> m) -> SCC a -> m # foldr :: (a -> b -> b) -> b -> SCC a -> b # foldr' :: (a -> b -> b) -> b -> SCC a -> b # foldl :: (b -> a -> b) -> b -> SCC a -> b # foldl' :: (b -> a -> b) -> b -> SCC a -> b # foldr1 :: (a -> a -> a) -> SCC a -> a # foldl1 :: (a -> a -> a) -> SCC a -> a # elem :: Eq a => a -> SCC a -> Bool # maximum :: Ord a => SCC a -> a # | |
Foldable NonEmpty | Since: base-4.9.0.0 |
Defined in Data.Foldable Methods fold :: Monoid m => NonEmpty m -> m # foldMap :: Monoid m => (a -> m) -> NonEmpty a -> m # foldMap' :: Monoid m => (a -> m) -> NonEmpty a -> m # foldr :: (a -> b -> b) -> b -> NonEmpty a -> b # foldr' :: (a -> b -> b) -> b -> NonEmpty a -> b # foldl :: (b -> a -> b) -> b -> NonEmpty a -> b # foldl' :: (b -> a -> b) -> b -> NonEmpty a -> b # foldr1 :: (a -> a -> a) -> NonEmpty a -> a # foldl1 :: (a -> a -> a) -> NonEmpty a -> a # elem :: Eq a => a -> NonEmpty a -> Bool # maximum :: Ord a => NonEmpty a -> a # minimum :: Ord a => NonEmpty a -> a # | |
Foldable Identity | Since: base-4.8.0.0 |
Defined in Data.Functor.Identity Methods fold :: Monoid m => Identity m -> m # foldMap :: Monoid m => (a -> m) -> Identity a -> m # foldMap' :: Monoid m => (a -> m) -> Identity a -> m # foldr :: (a -> b -> b) -> b -> Identity a -> b # foldr' :: (a -> b -> b) -> b -> Identity a -> b # foldl :: (b -> a -> b) -> b -> Identity a -> b # foldl' :: (b -> a -> b) -> b -> Identity a -> b # foldr1 :: (a -> a -> a) -> Identity a -> a # foldl1 :: (a -> a -> a) -> Identity a -> a # elem :: Eq a => a -> Identity a -> Bool # maximum :: Ord a => Identity a -> a # minimum :: Ord a => Identity a -> a # | |
Foldable Complex | Since: base-4.9.0.0 |
Defined in Data.Complex Methods fold :: Monoid m => Complex m -> m # foldMap :: Monoid m => (a -> m) -> Complex a -> m # foldMap' :: Monoid m => (a -> m) -> Complex a -> m # foldr :: (a -> b -> b) -> b -> Complex a -> b # foldr' :: (a -> b -> b) -> b -> Complex a -> b # foldl :: (b -> a -> b) -> b -> Complex a -> b # foldl' :: (b -> a -> b) -> b -> Complex a -> b # foldr1 :: (a -> a -> a) -> Complex a -> a # foldl1 :: (a -> a -> a) -> Complex a -> a # elem :: Eq a => a -> Complex a -> Bool # maximum :: Ord a => Complex a -> a # minimum :: Ord a => Complex a -> a # | |
Foldable Min | Since: base-4.9.0.0 |
Defined in Data.Semigroup Methods fold :: Monoid m => Min m -> m # foldMap :: Monoid m => (a -> m) -> Min a -> m # foldMap' :: Monoid m => (a -> m) -> Min a -> m # foldr :: (a -> b -> b) -> b -> Min a -> b # foldr' :: (a -> b -> b) -> b -> Min a -> b # foldl :: (b -> a -> b) -> b -> Min a -> b # foldl' :: (b -> a -> b) -> b -> Min a -> b # foldr1 :: (a -> a -> a) -> Min a -> a # foldl1 :: (a -> a -> a) -> Min a -> a # elem :: Eq a => a -> Min a -> Bool # maximum :: Ord a => Min a -> a # | |
Foldable Max | Since: base-4.9.0.0 |
Defined in Data.Semigroup Methods fold :: Monoid m => Max m -> m # foldMap :: Monoid m => (a -> m) -> Max a -> m # foldMap' :: Monoid m => (a -> m) -> Max a -> m # foldr :: (a -> b -> b) -> b -> Max a -> b # foldr' :: (a -> b -> b) -> b -> Max a -> b # foldl :: (b -> a -> b) -> b -> Max a -> b # foldl' :: (b -> a -> b) -> b -> Max a -> b # foldr1 :: (a -> a -> a) -> Max a -> a # foldl1 :: (a -> a -> a) -> Max a -> a # elem :: Eq a => a -> Max a -> Bool # maximum :: Ord a => Max a -> a # | |
Foldable Option | Since: base-4.9.0.0 |
Defined in Data.Semigroup Methods fold :: Monoid m => Option m -> m # foldMap :: Monoid m => (a -> m) -> Option a -> m # foldMap' :: Monoid m => (a -> m) -> Option a -> m # foldr :: (a -> b -> b) -> b -> Option a -> b # foldr' :: (a -> b -> b) -> b -> Option a -> b # foldl :: (b -> a -> b) -> b -> Option a -> b # foldl' :: (b -> a -> b) -> b -> Option a -> b # foldr1 :: (a -> a -> a) -> Option a -> a # foldl1 :: (a -> a -> a) -> Option a -> a # elem :: Eq a => a -> Option a -> Bool # maximum :: Ord a => Option a -> a # minimum :: Ord a => Option a -> a # | |
Foldable ZipList | Since: base-4.9.0.0 |
Defined in Control.Applicative Methods fold :: Monoid m => ZipList m -> m # foldMap :: Monoid m => (a -> m) -> ZipList a -> m # foldMap' :: Monoid m => (a -> m) -> ZipList a -> m # foldr :: (a -> b -> b) -> b -> ZipList a -> b # foldr' :: (a -> b -> b) -> b -> ZipList a -> b # foldl :: (b -> a -> b) -> b -> ZipList a -> b # foldl' :: (b -> a -> b) -> b -> ZipList a -> b # foldr1 :: (a -> a -> a) -> ZipList a -> a # foldl1 :: (a -> a -> a) -> ZipList a -> a # elem :: Eq a => a -> ZipList a -> Bool # maximum :: Ord a => ZipList a -> a # minimum :: Ord a => ZipList a -> a # | |
Foldable First | Since: base-4.8.0.0 |
Defined in Data.Foldable Methods fold :: Monoid m => First m -> m # foldMap :: Monoid m => (a -> m) -> First a -> m # foldMap' :: Monoid m => (a -> m) -> First a -> m # foldr :: (a -> b -> b) -> b -> First a -> b # foldr' :: (a -> b -> b) -> b -> First a -> b # foldl :: (b -> a -> b) -> b -> First a -> b # foldl' :: (b -> a -> b) -> b -> First a -> b # foldr1 :: (a -> a -> a) -> First a -> a # foldl1 :: (a -> a -> a) -> First a -> a # elem :: Eq a => a -> First a -> Bool # maximum :: Ord a => First a -> a # minimum :: Ord a => First a -> a # | |
Foldable Last | Since: base-4.8.0.0 |
Defined in Data.Foldable Methods fold :: Monoid m => Last m -> m # foldMap :: Monoid m => (a -> m) -> Last a -> m # foldMap' :: Monoid m => (a -> m) -> Last a -> m # foldr :: (a -> b -> b) -> b -> Last a -> b # foldr' :: (a -> b -> b) -> b -> Last a -> b # foldl :: (b -> a -> b) -> b -> Last a -> b # foldl' :: (b -> a -> b) -> b -> Last a -> b # foldr1 :: (a -> a -> a) -> Last a -> a # foldl1 :: (a -> a -> a) -> Last a -> a # elem :: Eq a => a -> Last a -> Bool # maximum :: Ord a => Last a -> a # | |
Foldable Dual | Since: base-4.8.0.0 |
Defined in Data.Foldable Methods fold :: Monoid m => Dual m -> m # foldMap :: Monoid m => (a -> m) -> Dual a -> m # foldMap' :: Monoid m => (a -> m) -> Dual a -> m # foldr :: (a -> b -> b) -> b -> Dual a -> b # foldr' :: (a -> b -> b) -> b -> Dual a -> b # foldl :: (b -> a -> b) -> b -> Dual a -> b # foldl' :: (b -> a -> b) -> b -> Dual a -> b # foldr1 :: (a -> a -> a) -> Dual a -> a # foldl1 :: (a -> a -> a) -> Dual a -> a # elem :: Eq a => a -> Dual a -> Bool # maximum :: Ord a => Dual a -> a # | |
Foldable Sum | Since: base-4.8.0.0 |
Defined in Data.Foldable Methods fold :: Monoid m => Sum m -> m # foldMap :: Monoid m => (a -> m) -> Sum a -> m # foldMap' :: Monoid m => (a -> m) -> Sum a -> m # foldr :: (a -> b -> b) -> b -> Sum a -> b # foldr' :: (a -> b -> b) -> b -> Sum a -> b # foldl :: (b -> a -> b) -> b -> Sum a -> b # foldl' :: (b -> a -> b) -> b -> Sum a -> b # foldr1 :: (a -> a -> a) -> Sum a -> a # foldl1 :: (a -> a -> a) -> Sum a -> a # elem :: Eq a => a -> Sum a -> Bool # maximum :: Ord a => Sum a -> a # | |
Foldable Product | Since: base-4.8.0.0 |
Defined in Data.Foldable Methods fold :: Monoid m => Product m -> m # foldMap :: Monoid m => (a -> m) -> Product a -> m # foldMap' :: Monoid m => (a -> m) -> Product a -> m # foldr :: (a -> b -> b) -> b -> Product a -> b # foldr' :: (a -> b -> b) -> b -> Product a -> b # foldl :: (b -> a -> b) -> b -> Product a -> b # foldl' :: (b -> a -> b) -> b -> Product a -> b # foldr1 :: (a -> a -> a) -> Product a -> a # foldl1 :: (a -> a -> a) -> Product a -> a # elem :: Eq a => a -> Product a -> Bool # maximum :: Ord a => Product a -> a # minimum :: Ord a => Product a -> a # | |
Foldable Down | Since: base-4.12.0.0 |
Defined in Data.Foldable Methods fold :: Monoid m => Down m -> m # foldMap :: Monoid m => (a -> m) -> Down a -> m # foldMap' :: Monoid m => (a -> m) -> Down a -> m # foldr :: (a -> b -> b) -> b -> Down a -> b # foldr' :: (a -> b -> b) -> b -> Down a -> b # foldl :: (b -> a -> b) -> b -> Down a -> b # foldl' :: (b -> a -> b) -> b -> Down a -> b # foldr1 :: (a -> a -> a) -> Down a -> a # foldl1 :: (a -> a -> a) -> Down a -> a # elem :: Eq a => a -> Down a -> Bool # maximum :: Ord a => Down a -> a # | |
Foldable IntMap | Folds in order of increasing key. |
Defined in Data.IntMap.Internal Methods fold :: Monoid m => IntMap m -> m # foldMap :: Monoid m => (a -> m) -> IntMap a -> m # foldMap' :: Monoid m => (a -> m) -> IntMap a -> m # foldr :: (a -> b -> b) -> b -> IntMap a -> b # foldr' :: (a -> b -> b) -> b -> IntMap a -> b # foldl :: (b -> a -> b) -> b -> IntMap a -> b # foldl' :: (b -> a -> b) -> b -> IntMap a -> b # foldr1 :: (a -> a -> a) -> IntMap a -> a # foldl1 :: (a -> a -> a) -> IntMap a -> a # elem :: Eq a => a -> IntMap a -> Bool # maximum :: Ord a => IntMap a -> a # minimum :: Ord a => IntMap a -> a # | |
Foldable Tree | |
Defined in Data.Tree Methods fold :: Monoid m => Tree m -> m # foldMap :: Monoid m => (a -> m) -> Tree a -> m # foldMap' :: Monoid m => (a -> m) -> Tree a -> m # foldr :: (a -> b -> b) -> b -> Tree a -> b # foldr' :: (a -> b -> b) -> b -> Tree a -> b # foldl :: (b -> a -> b) -> b -> Tree a -> b # foldl' :: (b -> a -> b) -> b -> Tree a -> b # foldr1 :: (a -> a -> a) -> Tree a -> a # foldl1 :: (a -> a -> a) -> Tree a -> a # elem :: Eq a => a -> Tree a -> Bool # maximum :: Ord a => Tree a -> a # | |
Foldable Seq | |
Defined in Data.Sequence.Internal Methods fold :: Monoid m => Seq m -> m # foldMap :: Monoid m => (a -> m) -> Seq a -> m # foldMap' :: Monoid m => (a -> m) -> Seq a -> m # foldr :: (a -> b -> b) -> b -> Seq a -> b # foldr' :: (a -> b -> b) -> b -> Seq a -> b # foldl :: (b -> a -> b) -> b -> Seq a -> b # foldl' :: (b -> a -> b) -> b -> Seq a -> b # foldr1 :: (a -> a -> a) -> Seq a -> a # foldl1 :: (a -> a -> a) -> Seq a -> a # elem :: Eq a => a -> Seq a -> Bool # maximum :: Ord a => Seq a -> a # | |
Foldable FingerTree | |
Defined in Data.Sequence.Internal Methods fold :: Monoid m => FingerTree m -> m # foldMap :: Monoid m => (a -> m) -> FingerTree a -> m # foldMap' :: Monoid m => (a -> m) -> FingerTree a -> m # foldr :: (a -> b -> b) -> b -> FingerTree a -> b # foldr' :: (a -> b -> b) -> b -> FingerTree a -> b # foldl :: (b -> a -> b) -> b -> FingerTree a -> b # foldl' :: (b -> a -> b) -> b -> FingerTree a -> b # foldr1 :: (a -> a -> a) -> FingerTree a -> a # foldl1 :: (a -> a -> a) -> FingerTree a -> a # toList :: FingerTree a -> [a] # null :: FingerTree a -> Bool # length :: FingerTree a -> Int # elem :: Eq a => a -> FingerTree a -> Bool # maximum :: Ord a => FingerTree a -> a # minimum :: Ord a => FingerTree a -> a # sum :: Num a => FingerTree a -> a # product :: Num a => FingerTree a -> a # | |
Foldable Digit | |
Defined in Data.Sequence.Internal Methods fold :: Monoid m => Digit m -> m # foldMap :: Monoid m => (a -> m) -> Digit a -> m # foldMap' :: Monoid m => (a -> m) -> Digit a -> m # foldr :: (a -> b -> b) -> b -> Digit a -> b # foldr' :: (a -> b -> b) -> b -> Digit a -> b # foldl :: (b -> a -> b) -> b -> Digit a -> b # foldl' :: (b -> a -> b) -> b -> Digit a -> b # foldr1 :: (a -> a -> a) -> Digit a -> a # foldl1 :: (a -> a -> a) -> Digit a -> a # elem :: Eq a => a -> Digit a -> Bool # maximum :: Ord a => Digit a -> a # minimum :: Ord a => Digit a -> a # | |
Foldable Node | |
Defined in Data.Sequence.Internal Methods fold :: Monoid m => Node m -> m # foldMap :: Monoid m => (a -> m) -> Node a -> m # foldMap' :: Monoid m => (a -> m) -> Node a -> m # foldr :: (a -> b -> b) -> b -> Node a -> b # foldr' :: (a -> b -> b) -> b -> Node a -> b # foldl :: (b -> a -> b) -> b -> Node a -> b # foldl' :: (b -> a -> b) -> b -> Node a -> b # foldr1 :: (a -> a -> a) -> Node a -> a # foldl1 :: (a -> a -> a) -> Node a -> a # elem :: Eq a => a -> Node a -> Bool # maximum :: Ord a => Node a -> a # | |
Foldable Elem | |
Defined in Data.Sequence.Internal Methods fold :: Monoid m => Elem m -> m # foldMap :: Monoid m => (a -> m) -> Elem a -> m # foldMap' :: Monoid m => (a -> m) -> Elem a -> m # foldr :: (a -> b -> b) -> b -> Elem a -> b # foldr' :: (a -> b -> b) -> b -> Elem a -> b # foldl :: (b -> a -> b) -> b -> Elem a -> b # foldl' :: (b -> a -> b) -> b -> Elem a -> b # foldr1 :: (a -> a -> a) -> Elem a -> a # foldl1 :: (a -> a -> a) -> Elem a -> a # elem :: Eq a => a -> Elem a -> Bool # maximum :: Ord a => Elem a -> a # | |
Foldable ViewL | |
Defined in Data.Sequence.Internal Methods fold :: Monoid m => ViewL m -> m # foldMap :: Monoid m => (a -> m) -> ViewL a -> m # foldMap' :: Monoid m => (a -> m) -> ViewL a -> m # foldr :: (a -> b -> b) -> b -> ViewL a -> b # foldr' :: (a -> b -> b) -> b -> ViewL a -> b # foldl :: (b -> a -> b) -> b -> ViewL a -> b # foldl' :: (b -> a -> b) -> b -> ViewL a -> b # foldr1 :: (a -> a -> a) -> ViewL a -> a # foldl1 :: (a -> a -> a) -> ViewL a -> a # elem :: Eq a => a -> ViewL a -> Bool # maximum :: Ord a => ViewL a -> a # minimum :: Ord a => ViewL a -> a # | |
Foldable ViewR | |
Defined in Data.Sequence.Internal Methods fold :: Monoid m => ViewR m -> m # foldMap :: Monoid m => (a -> m) -> ViewR a -> m # foldMap' :: Monoid m => (a -> m) -> ViewR a -> m # foldr :: (a -> b -> b) -> b -> ViewR a -> b # foldr' :: (a -> b -> b) -> b -> ViewR a -> b # foldl :: (b -> a -> b) -> b -> ViewR a -> b # foldl' :: (b -> a -> b) -> b -> ViewR a -> b # foldr1 :: (a -> a -> a) -> ViewR a -> a # foldl1 :: (a -> a -> a) -> ViewR a -> a # elem :: Eq a => a -> ViewR a -> Bool # maximum :: Ord a => ViewR a -> a # minimum :: Ord a => ViewR a -> a # | |
Foldable Hashed | |
Defined in Data.Hashable.Class Methods fold :: Monoid m => Hashed m -> m # foldMap :: Monoid m => (a -> m) -> Hashed a -> m # foldMap' :: Monoid m => (a -> m) -> Hashed a -> m # foldr :: (a -> b -> b) -> b -> Hashed a -> b # foldr' :: (a -> b -> b) -> b -> Hashed a -> b # foldl :: (b -> a -> b) -> b -> Hashed a -> b # foldl' :: (b -> a -> b) -> b -> Hashed a -> b # foldr1 :: (a -> a -> a) -> Hashed a -> a # foldl1 :: (a -> a -> a) -> Hashed a -> a # elem :: Eq a => a -> Hashed a -> Bool # maximum :: Ord a => Hashed a -> a # minimum :: Ord a => Hashed a -> a # | |
Foldable HashSet | |
Defined in Data.HashSet.Internal Methods fold :: Monoid m => HashSet m -> m # foldMap :: Monoid m => (a -> m) -> HashSet a -> m # foldMap' :: Monoid m => (a -> m) -> HashSet a -> m # foldr :: (a -> b -> b) -> b -> HashSet a -> b # foldr' :: (a -> b -> b) -> b -> HashSet a -> b # foldl :: (b -> a -> b) -> b -> HashSet a -> b # foldl' :: (b -> a -> b) -> b -> HashSet a -> b # foldr1 :: (a -> a -> a) -> HashSet a -> a # foldl1 :: (a -> a -> a) -> HashSet a -> a # elem :: Eq a => a -> HashSet a -> Bool # maximum :: Ord a => HashSet a -> a # minimum :: Ord a => HashSet a -> a # | |
Foldable Vector | |
Defined in Data.Vector Methods fold :: Monoid m => Vector m -> m # foldMap :: Monoid m => (a -> m) -> Vector a -> m # foldMap' :: Monoid m => (a -> m) -> Vector a -> m # foldr :: (a -> b -> b) -> b -> Vector a -> b # foldr' :: (a -> b -> b) -> b -> Vector a -> b # foldl :: (b -> a -> b) -> b -> Vector a -> b # foldl' :: (b -> a -> b) -> b -> Vector a -> b # foldr1 :: (a -> a -> a) -> Vector a -> a # foldl1 :: (a -> a -> a) -> Vector a -> a # elem :: Eq a => a -> Vector a -> Bool # maximum :: Ord a => Vector a -> a # minimum :: Ord a => Vector a -> a # | |
Foldable Array | |
Defined in Data.Primitive.Array Methods fold :: Monoid m => Array m -> m # foldMap :: Monoid m => (a -> m) -> Array a -> m # foldMap' :: Monoid m => (a -> m) -> Array a -> m # foldr :: (a -> b -> b) -> b -> Array a -> b # foldr' :: (a -> b -> b) -> b -> Array a -> b # foldl :: (b -> a -> b) -> b -> Array a -> b # foldl' :: (b -> a -> b) -> b -> Array a -> b # foldr1 :: (a -> a -> a) -> Array a -> a # foldl1 :: (a -> a -> a) -> Array a -> a # elem :: Eq a => a -> Array a -> Bool # maximum :: Ord a => Array a -> a # minimum :: Ord a => Array a -> a # | |
Foldable SmallArray | |
Defined in Data.Primitive.SmallArray Methods fold :: Monoid m => SmallArray m -> m # foldMap :: Monoid m => (a -> m) -> SmallArray a -> m # foldMap' :: Monoid m => (a -> m) -> SmallArray a -> m # foldr :: (a -> b -> b) -> b -> SmallArray a -> b # foldr' :: (a -> b -> b) -> b -> SmallArray a -> b # foldl :: (b -> a -> b) -> b -> SmallArray a -> b # foldl' :: (b -> a -> b) -> b -> SmallArray a -> b # foldr1 :: (a -> a -> a) -> SmallArray a -> a # foldl1 :: (a -> a -> a) -> SmallArray a -> a # toList :: SmallArray a -> [a] # null :: SmallArray a -> Bool # length :: SmallArray a -> Int # elem :: Eq a => a -> SmallArray a -> Bool # maximum :: Ord a => SmallArray a -> a # minimum :: Ord a => SmallArray a -> a # | |
Foldable NESet | |
Defined in Data.Set.NonEmpty.Internal Methods fold :: Monoid m => NESet m -> m # foldMap :: Monoid m => (a -> m) -> NESet a -> m # foldMap' :: Monoid m => (a -> m) -> NESet a -> m # foldr :: (a -> b -> b) -> b -> NESet a -> b # foldr' :: (a -> b -> b) -> b -> NESet a -> b # foldl :: (b -> a -> b) -> b -> NESet a -> b # foldl' :: (b -> a -> b) -> b -> NESet a -> b # foldr1 :: (a -> a -> a) -> NESet a -> a # foldl1 :: (a -> a -> a) -> NESet a -> a # elem :: Eq a => a -> NESet a -> Bool # maximum :: Ord a => NESet a -> a # minimum :: Ord a => NESet a -> a # | |
Foldable T1 | |
Defined in Data.Tuple.Strict.T1 Methods fold :: Monoid m => T1 m -> m # foldMap :: Monoid m => (a -> m) -> T1 a -> m # foldMap' :: Monoid m => (a -> m) -> T1 a -> m # foldr :: (a -> b -> b) -> b -> T1 a -> b # foldr' :: (a -> b -> b) -> b -> T1 a -> b # foldl :: (b -> a -> b) -> b -> T1 a -> b # foldl' :: (b -> a -> b) -> b -> T1 a -> b # foldr1 :: (a -> a -> a) -> T1 a -> a # foldl1 :: (a -> a -> a) -> T1 a -> a # elem :: Eq a => a -> T1 a -> Bool # maximum :: Ord a => T1 a -> a # | |
Foldable Quaternion | |
Defined in Linear.Quaternion Methods fold :: Monoid m => Quaternion m -> m # foldMap :: Monoid m => (a -> m) -> Quaternion a -> m # foldMap' :: Monoid m => (a -> m) -> Quaternion a -> m # foldr :: (a -> b -> b) -> b -> Quaternion a -> b # foldr' :: (a -> b -> b) -> b -> Quaternion a -> b # foldl :: (b -> a -> b) -> b -> Quaternion a -> b # foldl' :: (b -> a -> b) -> b -> Quaternion a -> b # foldr1 :: (a -> a -> a) -> Quaternion a -> a # foldl1 :: (a -> a -> a) -> Quaternion a -> a # toList :: Quaternion a -> [a] # null :: Quaternion a -> Bool # length :: Quaternion a -> Int # elem :: Eq a => a -> Quaternion a -> Bool # maximum :: Ord a => Quaternion a -> a # minimum :: Ord a => Quaternion a -> a # | |
Foldable V0 | |
Defined in Linear.V0 Methods fold :: Monoid m => V0 m -> m # foldMap :: Monoid m => (a -> m) -> V0 a -> m # foldMap' :: Monoid m => (a -> m) -> V0 a -> m # foldr :: (a -> b -> b) -> b -> V0 a -> b # foldr' :: (a -> b -> b) -> b -> V0 a -> b # foldl :: (b -> a -> b) -> b -> V0 a -> b # foldl' :: (b -> a -> b) -> b -> V0 a -> b # foldr1 :: (a -> a -> a) -> V0 a -> a # foldl1 :: (a -> a -> a) -> V0 a -> a # elem :: Eq a => a -> V0 a -> Bool # maximum :: Ord a => V0 a -> a # | |
Foldable V1 | |
Defined in Linear.V1 Methods fold :: Monoid m => V1 m -> m # foldMap :: Monoid m => (a -> m) -> V1 a -> m # foldMap' :: Monoid m => (a -> m) -> V1 a -> m # foldr :: (a -> b -> b) -> b -> V1 a -> b # foldr' :: (a -> b -> b) -> b -> V1 a -> b # foldl :: (b -> a -> b) -> b -> V1 a -> b # foldl' :: (b -> a -> b) -> b -> V1 a -> b # foldr1 :: (a -> a -> a) -> V1 a -> a # foldl1 :: (a -> a -> a) -> V1 a -> a # elem :: Eq a => a -> V1 a -> Bool # maximum :: Ord a => V1 a -> a # | |
Foldable V2 | |
Defined in Linear.V2 Methods fold :: Monoid m => V2 m -> m # foldMap :: Monoid m => (a -> m) -> V2 a -> m # foldMap' :: Monoid m => (a -> m) -> V2 a -> m # foldr :: (a -> b -> b) -> b -> V2 a -> b # foldr' :: (a -> b -> b) -> b -> V2 a -> b # foldl :: (b -> a -> b) -> b -> V2 a -> b # foldl' :: (b -> a -> b) -> b -> V2 a -> b # foldr1 :: (a -> a -> a) -> V2 a -> a # foldl1 :: (a -> a -> a) -> V2 a -> a # elem :: Eq a => a -> V2 a -> Bool # maximum :: Ord a => V2 a -> a # | |
Foldable V3 | |
Defined in Linear.V3 Methods fold :: Monoid m => V3 m -> m # foldMap :: Monoid m => (a -> m) -> V3 a -> m # foldMap' :: Monoid m => (a -> m) -> V3 a -> m # foldr :: (a -> b -> b) -> b -> V3 a -> b # foldr' :: (a -> b -> b) -> b -> V3 a -> b # foldl :: (b -> a -> b) -> b -> V3 a -> b # foldl' :: (b -> a -> b) -> b -> V3 a -> b # foldr1 :: (a -> a -> a) -> V3 a -> a # foldl1 :: (a -> a -> a) -> V3 a -> a # elem :: Eq a => a -> V3 a -> Bool # maximum :: Ord a => V3 a -> a # | |
Foldable V4 | |
Defined in Linear.V4 Methods fold :: Monoid m => V4 m -> m # foldMap :: Monoid m => (a -> m) -> V4 a -> m # foldMap' :: Monoid m => (a -> m) -> V4 a -> m # foldr :: (a -> b -> b) -> b -> V4 a -> b # foldr' :: (a -> b -> b) -> b -> V4 a -> b # foldl :: (b -> a -> b) -> b -> V4 a -> b # foldl' :: (b -> a -> b) -> b -> V4 a -> b # foldr1 :: (a -> a -> a) -> V4 a -> a # foldl1 :: (a -> a -> a) -> V4 a -> a # elem :: Eq a => a -> V4 a -> Bool # maximum :: Ord a => V4 a -> a # | |
Foldable Maybe | |
Defined in Data.Strict.Maybe Methods fold :: Monoid m => Maybe m -> m # foldMap :: Monoid m => (a -> m) -> Maybe a -> m # foldMap' :: Monoid m => (a -> m) -> Maybe a -> m # foldr :: (a -> b -> b) -> b -> Maybe a -> b # foldr' :: (a -> b -> b) -> b -> Maybe a -> b # foldl :: (b -> a -> b) -> b -> Maybe a -> b # foldl' :: (b -> a -> b) -> b -> Maybe a -> b # foldr1 :: (a -> a -> a) -> Maybe a -> a # foldl1 :: (a -> a -> a) -> Maybe a -> a # elem :: Eq a => a -> Maybe a -> Bool # maximum :: Ord a => Maybe a -> a # minimum :: Ord a => Maybe a -> a # | |
Foldable Plucker | |
Defined in Linear.Plucker Methods fold :: Monoid m => Plucker m -> m # foldMap :: Monoid m => (a -> m) -> Plucker a -> m # foldMap' :: Monoid m => (a -> m) -> Plucker a -> m # foldr :: (a -> b -> b) -> b -> Plucker a -> b # foldr' :: (a -> b -> b) -> b -> Plucker a -> b # foldl :: (b -> a -> b) -> b -> Plucker a -> b # foldl' :: (b -> a -> b) -> b -> Plucker a -> b # foldr1 :: (a -> a -> a) -> Plucker a -> a # foldl1 :: (a -> a -> a) -> Plucker a -> a # elem :: Eq a => a -> Plucker a -> Bool # maximum :: Ord a => Plucker a -> a # minimum :: Ord a => Plucker a -> a # | |
Foldable IResult | |
Defined in Data.Aeson.Types.Internal Methods fold :: Monoid m => IResult m -> m # foldMap :: Monoid m => (a -> m) -> IResult a -> m # foldMap' :: Monoid m => (a -> m) -> IResult a -> m # foldr :: (a -> b -> b) -> b -> IResult a -> b # foldr' :: (a -> b -> b) -> b -> IResult a -> b # foldl :: (b -> a -> b) -> b -> IResult a -> b # foldl' :: (b -> a -> b) -> b -> IResult a -> b # foldr1 :: (a -> a -> a) -> IResult a -> a # foldl1 :: (a -> a -> a) -> IResult a -> a # elem :: Eq a => a -> IResult a -> Bool # maximum :: Ord a => IResult a -> a # minimum :: Ord a => IResult a -> a # | |
Foldable Result | |
Defined in Data.Aeson.Types.Internal Methods fold :: Monoid m => Result m -> m # foldMap :: Monoid m => (a -> m) -> Result a -> m # foldMap' :: Monoid m => (a -> m) -> Result a -> m # foldr :: (a -> b -> b) -> b -> Result a -> b # foldr' :: (a -> b -> b) -> b -> Result a -> b # foldl :: (b -> a -> b) -> b -> Result a -> b # foldl' :: (b -> a -> b) -> b -> Result a -> b # foldr1 :: (a -> a -> a) -> Result a -> a # foldl1 :: (a -> a -> a) -> Result a -> a # elem :: Eq a => a -> Result a -> Bool # maximum :: Ord a => Result a -> a # minimum :: Ord a => Result a -> a # | |
Foldable DNonEmpty | |
Defined in Data.DList.DNonEmpty.Internal Methods fold :: Monoid m => DNonEmpty m -> m # foldMap :: Monoid m => (a -> m) -> DNonEmpty a -> m # foldMap' :: Monoid m => (a -> m) -> DNonEmpty a -> m # foldr :: (a -> b -> b) -> b -> DNonEmpty a -> b # foldr' :: (a -> b -> b) -> b -> DNonEmpty a -> b # foldl :: (b -> a -> b) -> b -> DNonEmpty a -> b # foldl' :: (b -> a -> b) -> b -> DNonEmpty a -> b # foldr1 :: (a -> a -> a) -> DNonEmpty a -> a # foldl1 :: (a -> a -> a) -> DNonEmpty a -> a # toList :: DNonEmpty a -> [a] # length :: DNonEmpty a -> Int # elem :: Eq a => a -> DNonEmpty a -> Bool # maximum :: Ord a => DNonEmpty a -> a # minimum :: Ord a => DNonEmpty a -> a # | |
Foldable DList | |
Defined in Data.DList.Internal Methods fold :: Monoid m => DList m -> m # foldMap :: Monoid m => (a -> m) -> DList a -> m # foldMap' :: Monoid m => (a -> m) -> DList a -> m # foldr :: (a -> b -> b) -> b -> DList a -> b # foldr' :: (a -> b -> b) -> b -> DList a -> b # foldl :: (b -> a -> b) -> b -> DList a -> b # foldl' :: (b -> a -> b) -> b -> DList a -> b # foldr1 :: (a -> a -> a) -> DList a -> a # foldl1 :: (a -> a -> a) -> DList a -> a # elem :: Eq a => a -> DList a -> Bool # maximum :: Ord a => DList a -> a # minimum :: Ord a => DList a -> a # | |
Foldable NEIntMap | |
Defined in Data.IntMap.NonEmpty.Internal Methods fold :: Monoid m => NEIntMap m -> m # foldMap :: Monoid m => (a -> m) -> NEIntMap a -> m # foldMap' :: Monoid m => (a -> m) -> NEIntMap a -> m # foldr :: (a -> b -> b) -> b -> NEIntMap a -> b # foldr' :: (a -> b -> b) -> b -> NEIntMap a -> b # foldl :: (b -> a -> b) -> b -> NEIntMap a -> b # foldl' :: (b -> a -> b) -> b -> NEIntMap a -> b # foldr1 :: (a -> a -> a) -> NEIntMap a -> a # foldl1 :: (a -> a -> a) -> NEIntMap a -> a # elem :: Eq a => a -> NEIntMap a -> Bool # maximum :: Ord a => NEIntMap a -> a # minimum :: Ord a => NEIntMap a -> a # | |
Foldable Activation | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => Activation m -> m # foldMap :: Monoid m => (a -> m) -> Activation a -> m # foldMap' :: Monoid m => (a -> m) -> Activation a -> m # foldr :: (a -> b -> b) -> b -> Activation a -> b # foldr' :: (a -> b -> b) -> b -> Activation a -> b # foldl :: (b -> a -> b) -> b -> Activation a -> b # foldl' :: (b -> a -> b) -> b -> Activation a -> b # foldr1 :: (a -> a -> a) -> Activation a -> a # foldl1 :: (a -> a -> a) -> Activation a -> a # toList :: Activation a -> [a] # null :: Activation a -> Bool # length :: Activation a -> Int # elem :: Eq a => a -> Activation a -> Bool # maximum :: Ord a => Activation a -> a # minimum :: Ord a => Activation a -> a # | |
Foldable Alt | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => Alt m -> m # foldMap :: Monoid m => (a -> m) -> Alt a -> m # foldMap' :: Monoid m => (a -> m) -> Alt a -> m # foldr :: (a -> b -> b) -> b -> Alt a -> b # foldr' :: (a -> b -> b) -> b -> Alt a -> b # foldl :: (b -> a -> b) -> b -> Alt a -> b # foldl' :: (b -> a -> b) -> b -> Alt a -> b # foldr1 :: (a -> a -> a) -> Alt a -> a # foldl1 :: (a -> a -> a) -> Alt a -> a # elem :: Eq a => a -> Alt a -> Bool # maximum :: Ord a => Alt a -> a # | |
Foldable Annotation | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => Annotation m -> m # foldMap :: Monoid m => (a -> m) -> Annotation a -> m # foldMap' :: Monoid m => (a -> m) -> Annotation a -> m # foldr :: (a -> b -> b) -> b -> Annotation a -> b # foldr' :: (a -> b -> b) -> b -> Annotation a -> b # foldl :: (b -> a -> b) -> b -> Annotation a -> b # foldl' :: (b -> a -> b) -> b -> Annotation a -> b # foldr1 :: (a -> a -> a) -> Annotation a -> a # foldl1 :: (a -> a -> a) -> Annotation a -> a # toList :: Annotation a -> [a] # null :: Annotation a -> Bool # length :: Annotation a -> Int # elem :: Eq a => a -> Annotation a -> Bool # maximum :: Ord a => Annotation a -> a # minimum :: Ord a => Annotation a -> a # | |
Foldable Assoc | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => Assoc m -> m # foldMap :: Monoid m => (a -> m) -> Assoc a -> m # foldMap' :: Monoid m => (a -> m) -> Assoc a -> m # foldr :: (a -> b -> b) -> b -> Assoc a -> b # foldr' :: (a -> b -> b) -> b -> Assoc a -> b # foldl :: (b -> a -> b) -> b -> Assoc a -> b # foldl' :: (b -> a -> b) -> b -> Assoc a -> b # foldr1 :: (a -> a -> a) -> Assoc a -> a # foldl1 :: (a -> a -> a) -> Assoc a -> a # elem :: Eq a => a -> Assoc a -> Bool # maximum :: Ord a => Assoc a -> a # minimum :: Ord a => Assoc a -> a # | |
Foldable Asst | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => Asst m -> m # foldMap :: Monoid m => (a -> m) -> Asst a -> m # foldMap' :: Monoid m => (a -> m) -> Asst a -> m # foldr :: (a -> b -> b) -> b -> Asst a -> b # foldr' :: (a -> b -> b) -> b -> Asst a -> b # foldl :: (b -> a -> b) -> b -> Asst a -> b # foldl' :: (b -> a -> b) -> b -> Asst a -> b # foldr1 :: (a -> a -> a) -> Asst a -> a # foldl1 :: (a -> a -> a) -> Asst a -> a # elem :: Eq a => a -> Asst a -> Bool # maximum :: Ord a => Asst a -> a # | |
Foldable BangType | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => BangType m -> m # foldMap :: Monoid m => (a -> m) -> BangType a -> m # foldMap' :: Monoid m => (a -> m) -> BangType a -> m # foldr :: (a -> b -> b) -> b -> BangType a -> b # foldr' :: (a -> b -> b) -> b -> BangType a -> b # foldl :: (b -> a -> b) -> b -> BangType a -> b # foldl' :: (b -> a -> b) -> b -> BangType a -> b # foldr1 :: (a -> a -> a) -> BangType a -> a # foldl1 :: (a -> a -> a) -> BangType a -> a # elem :: Eq a => a -> BangType a -> Bool # maximum :: Ord a => BangType a -> a # minimum :: Ord a => BangType a -> a # | |
Foldable Binds | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => Binds m -> m # foldMap :: Monoid m => (a -> m) -> Binds a -> m # foldMap' :: Monoid m => (a -> m) -> Binds a -> m # foldr :: (a -> b -> b) -> b -> Binds a -> b # foldr' :: (a -> b -> b) -> b -> Binds a -> b # foldl :: (b -> a -> b) -> b -> Binds a -> b # foldl' :: (b -> a -> b) -> b -> Binds a -> b # foldr1 :: (a -> a -> a) -> Binds a -> a # foldl1 :: (a -> a -> a) -> Binds a -> a # elem :: Eq a => a -> Binds a -> Bool # maximum :: Ord a => Binds a -> a # minimum :: Ord a => Binds a -> a # | |
Foldable BooleanFormula | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => BooleanFormula m -> m # foldMap :: Monoid m => (a -> m) -> BooleanFormula a -> m # foldMap' :: Monoid m => (a -> m) -> BooleanFormula a -> m # foldr :: (a -> b -> b) -> b -> BooleanFormula a -> b # foldr' :: (a -> b -> b) -> b -> BooleanFormula a -> b # foldl :: (b -> a -> b) -> b -> BooleanFormula a -> b # foldl' :: (b -> a -> b) -> b -> BooleanFormula a -> b # foldr1 :: (a -> a -> a) -> BooleanFormula a -> a # foldl1 :: (a -> a -> a) -> BooleanFormula a -> a # toList :: BooleanFormula a -> [a] # null :: BooleanFormula a -> Bool # length :: BooleanFormula a -> Int # elem :: Eq a => a -> BooleanFormula a -> Bool # maximum :: Ord a => BooleanFormula a -> a # minimum :: Ord a => BooleanFormula a -> a # | |
Foldable Bracket | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => Bracket m -> m # foldMap :: Monoid m => (a -> m) -> Bracket a -> m # foldMap' :: Monoid m => (a -> m) -> Bracket a -> m # foldr :: (a -> b -> b) -> b -> Bracket a -> b # foldr' :: (a -> b -> b) -> b -> Bracket a -> b # foldl :: (b -> a -> b) -> b -> Bracket a -> b # foldl' :: (b -> a -> b) -> b -> Bracket a -> b # foldr1 :: (a -> a -> a) -> Bracket a -> a # foldl1 :: (a -> a -> a) -> Bracket a -> a # elem :: Eq a => a -> Bracket a -> Bool # maximum :: Ord a => Bracket a -> a # minimum :: Ord a => Bracket a -> a # | |
Foldable CName | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => CName m -> m # foldMap :: Monoid m => (a -> m) -> CName a -> m # foldMap' :: Monoid m => (a -> m) -> CName a -> m # foldr :: (a -> b -> b) -> b -> CName a -> b # foldr' :: (a -> b -> b) -> b -> CName a -> b # foldl :: (b -> a -> b) -> b -> CName a -> b # foldl' :: (b -> a -> b) -> b -> CName a -> b # foldr1 :: (a -> a -> a) -> CName a -> a # foldl1 :: (a -> a -> a) -> CName a -> a # elem :: Eq a => a -> CName a -> Bool # maximum :: Ord a => CName a -> a # minimum :: Ord a => CName a -> a # | |
Foldable CallConv | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => CallConv m -> m # foldMap :: Monoid m => (a -> m) -> CallConv a -> m # foldMap' :: Monoid m => (a -> m) -> CallConv a -> m # foldr :: (a -> b -> b) -> b -> CallConv a -> b # foldr' :: (a -> b -> b) -> b -> CallConv a -> b # foldl :: (b -> a -> b) -> b -> CallConv a -> b # foldl' :: (b -> a -> b) -> b -> CallConv a -> b # foldr1 :: (a -> a -> a) -> CallConv a -> a # foldl1 :: (a -> a -> a) -> CallConv a -> a # elem :: Eq a => a -> CallConv a -> Bool # maximum :: Ord a => CallConv a -> a # minimum :: Ord a => CallConv a -> a # | |
Foldable ClassDecl | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => ClassDecl m -> m # foldMap :: Monoid m => (a -> m) -> ClassDecl a -> m # foldMap' :: Monoid m => (a -> m) -> ClassDecl a -> m # foldr :: (a -> b -> b) -> b -> ClassDecl a -> b # foldr' :: (a -> b -> b) -> b -> ClassDecl a -> b # foldl :: (b -> a -> b) -> b -> ClassDecl a -> b # foldl' :: (b -> a -> b) -> b -> ClassDecl a -> b # foldr1 :: (a -> a -> a) -> ClassDecl a -> a # foldl1 :: (a -> a -> a) -> ClassDecl a -> a # toList :: ClassDecl a -> [a] # length :: ClassDecl a -> Int # elem :: Eq a => a -> ClassDecl a -> Bool # maximum :: Ord a => ClassDecl a -> a # minimum :: Ord a => ClassDecl a -> a # | |
Foldable ConDecl | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => ConDecl m -> m # foldMap :: Monoid m => (a -> m) -> ConDecl a -> m # foldMap' :: Monoid m => (a -> m) -> ConDecl a -> m # foldr :: (a -> b -> b) -> b -> ConDecl a -> b # foldr' :: (a -> b -> b) -> b -> ConDecl a -> b # foldl :: (b -> a -> b) -> b -> ConDecl a -> b # foldl' :: (b -> a -> b) -> b -> ConDecl a -> b # foldr1 :: (a -> a -> a) -> ConDecl a -> a # foldl1 :: (a -> a -> a) -> ConDecl a -> a # elem :: Eq a => a -> ConDecl a -> Bool # maximum :: Ord a => ConDecl a -> a # minimum :: Ord a => ConDecl a -> a # | |
Foldable Context | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => Context m -> m # foldMap :: Monoid m => (a -> m) -> Context a -> m # foldMap' :: Monoid m => (a -> m) -> Context a -> m # foldr :: (a -> b -> b) -> b -> Context a -> b # foldr' :: (a -> b -> b) -> b -> Context a -> b # foldl :: (b -> a -> b) -> b -> Context a -> b # foldl' :: (b -> a -> b) -> b -> Context a -> b # foldr1 :: (a -> a -> a) -> Context a -> a # foldl1 :: (a -> a -> a) -> Context a -> a # elem :: Eq a => a -> Context a -> Bool # maximum :: Ord a => Context a -> a # minimum :: Ord a => Context a -> a # | |
Foldable DataOrNew | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => DataOrNew m -> m # foldMap :: Monoid m => (a -> m) -> DataOrNew a -> m # foldMap' :: Monoid m => (a -> m) -> DataOrNew a -> m # foldr :: (a -> b -> b) -> b -> DataOrNew a -> b # foldr' :: (a -> b -> b) -> b -> DataOrNew a -> b # foldl :: (b -> a -> b) -> b -> DataOrNew a -> b # foldl' :: (b -> a -> b) -> b -> DataOrNew a -> b # foldr1 :: (a -> a -> a) -> DataOrNew a -> a # foldl1 :: (a -> a -> a) -> DataOrNew a -> a # toList :: DataOrNew a -> [a] # length :: DataOrNew a -> Int # elem :: Eq a => a -> DataOrNew a -> Bool # maximum :: Ord a => DataOrNew a -> a # minimum :: Ord a => DataOrNew a -> a # | |
Foldable Decl | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => Decl m -> m # foldMap :: Monoid m => (a -> m) -> Decl a -> m # foldMap' :: Monoid m => (a -> m) -> Decl a -> m # foldr :: (a -> b -> b) -> b -> Decl a -> b # foldr' :: (a -> b -> b) -> b -> Decl a -> b # foldl :: (b -> a -> b) -> b -> Decl a -> b # foldl' :: (b -> a -> b) -> b -> Decl a -> b # foldr1 :: (a -> a -> a) -> Decl a -> a # foldl1 :: (a -> a -> a) -> Decl a -> a # elem :: Eq a => a -> Decl a -> Bool # maximum :: Ord a => Decl a -> a # | |
Foldable DeclHead | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => DeclHead m -> m # foldMap :: Monoid m => (a -> m) -> DeclHead a -> m # foldMap' :: Monoid m => (a -> m) -> DeclHead a -> m # foldr :: (a -> b -> b) -> b -> DeclHead a -> b # foldr' :: (a -> b -> b) -> b -> DeclHead a -> b # foldl :: (b -> a -> b) -> b -> DeclHead a -> b # foldl' :: (b -> a -> b) -> b -> DeclHead a -> b # foldr1 :: (a -> a -> a) -> DeclHead a -> a # foldl1 :: (a -> a -> a) -> DeclHead a -> a # elem :: Eq a => a -> DeclHead a -> Bool # maximum :: Ord a => DeclHead a -> a # minimum :: Ord a => DeclHead a -> a # | |
Foldable DerivStrategy | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => DerivStrategy m -> m # foldMap :: Monoid m => (a -> m) -> DerivStrategy a -> m # foldMap' :: Monoid m => (a -> m) -> DerivStrategy a -> m # foldr :: (a -> b -> b) -> b -> DerivStrategy a -> b # foldr' :: (a -> b -> b) -> b -> DerivStrategy a -> b # foldl :: (b -> a -> b) -> b -> DerivStrategy a -> b # foldl' :: (b -> a -> b) -> b -> DerivStrategy a -> b # foldr1 :: (a -> a -> a) -> DerivStrategy a -> a # foldl1 :: (a -> a -> a) -> DerivStrategy a -> a # toList :: DerivStrategy a -> [a] # null :: DerivStrategy a -> Bool # length :: DerivStrategy a -> Int # elem :: Eq a => a -> DerivStrategy a -> Bool # maximum :: Ord a => DerivStrategy a -> a # minimum :: Ord a => DerivStrategy a -> a # | |
Foldable Deriving | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => Deriving m -> m # foldMap :: Monoid m => (a -> m) -> Deriving a -> m # foldMap' :: Monoid m => (a -> m) -> Deriving a -> m # foldr :: (a -> b -> b) -> b -> Deriving a -> b # foldr' :: (a -> b -> b) -> b -> Deriving a -> b # foldl :: (b -> a -> b) -> b -> Deriving a -> b # foldl' :: (b -> a -> b) -> b -> Deriving a -> b # foldr1 :: (a -> a -> a) -> Deriving a -> a # foldl1 :: (a -> a -> a) -> Deriving a -> a # elem :: Eq a => a -> Deriving a -> Bool # maximum :: Ord a => Deriving a -> a # minimum :: Ord a => Deriving a -> a # | |
Foldable EWildcard | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => EWildcard m -> m # foldMap :: Monoid m => (a -> m) -> EWildcard a -> m # foldMap' :: Monoid m => (a -> m) -> EWildcard a -> m # foldr :: (a -> b -> b) -> b -> EWildcard a -> b # foldr' :: (a -> b -> b) -> b -> EWildcard a -> b # foldl :: (b -> a -> b) -> b -> EWildcard a -> b # foldl' :: (b -> a -> b) -> b -> EWildcard a -> b # foldr1 :: (a -> a -> a) -> EWildcard a -> a # foldl1 :: (a -> a -> a) -> EWildcard a -> a # toList :: EWildcard a -> [a] # length :: EWildcard a -> Int # elem :: Eq a => a -> EWildcard a -> Bool # maximum :: Ord a => EWildcard a -> a # minimum :: Ord a => EWildcard a -> a # | |
Foldable Exp | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => Exp m -> m # foldMap :: Monoid m => (a -> m) -> Exp a -> m # foldMap' :: Monoid m => (a -> m) -> Exp a -> m # foldr :: (a -> b -> b) -> b -> Exp a -> b # foldr' :: (a -> b -> b) -> b -> Exp a -> b # foldl :: (b -> a -> b) -> b -> Exp a -> b # foldl' :: (b -> a -> b) -> b -> Exp a -> b # foldr1 :: (a -> a -> a) -> Exp a -> a # foldl1 :: (a -> a -> a) -> Exp a -> a # elem :: Eq a => a -> Exp a -> Bool # maximum :: Ord a => Exp a -> a # | |
Foldable ExportSpec | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => ExportSpec m -> m # foldMap :: Monoid m => (a -> m) -> ExportSpec a -> m # foldMap' :: Monoid m => (a -> m) -> ExportSpec a -> m # foldr :: (a -> b -> b) -> b -> ExportSpec a -> b # foldr' :: (a -> b -> b) -> b -> ExportSpec a -> b # foldl :: (b -> a -> b) -> b -> ExportSpec a -> b # foldl' :: (b -> a -> b) -> b -> ExportSpec a -> b # foldr1 :: (a -> a -> a) -> ExportSpec a -> a # foldl1 :: (a -> a -> a) -> ExportSpec a -> a # toList :: ExportSpec a -> [a] # null :: ExportSpec a -> Bool # length :: ExportSpec a -> Int # elem :: Eq a => a -> ExportSpec a -> Bool # maximum :: Ord a => ExportSpec a -> a # minimum :: Ord a => ExportSpec a -> a # | |
Foldable ExportSpecList | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => ExportSpecList m -> m # foldMap :: Monoid m => (a -> m) -> ExportSpecList a -> m # foldMap' :: Monoid m => (a -> m) -> ExportSpecList a -> m # foldr :: (a -> b -> b) -> b -> ExportSpecList a -> b # foldr' :: (a -> b -> b) -> b -> ExportSpecList a -> b # foldl :: (b -> a -> b) -> b -> ExportSpecList a -> b # foldl' :: (b -> a -> b) -> b -> ExportSpecList a -> b # foldr1 :: (a -> a -> a) -> ExportSpecList a -> a # foldl1 :: (a -> a -> a) -> ExportSpecList a -> a # toList :: ExportSpecList a -> [a] # null :: ExportSpecList a -> Bool # length :: ExportSpecList a -> Int # elem :: Eq a => a -> ExportSpecList a -> Bool # maximum :: Ord a => ExportSpecList a -> a # minimum :: Ord a => ExportSpecList a -> a # | |
Foldable FieldDecl | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => FieldDecl m -> m # foldMap :: Monoid m => (a -> m) -> FieldDecl a -> m # foldMap' :: Monoid m => (a -> m) -> FieldDecl a -> m # foldr :: (a -> b -> b) -> b -> FieldDecl a -> b # foldr' :: (a -> b -> b) -> b -> FieldDecl a -> b # foldl :: (b -> a -> b) -> b -> FieldDecl a -> b # foldl' :: (b -> a -> b) -> b -> FieldDecl a -> b # foldr1 :: (a -> a -> a) -> FieldDecl a -> a # foldl1 :: (a -> a -> a) -> FieldDecl a -> a # toList :: FieldDecl a -> [a] # length :: FieldDecl a -> Int # elem :: Eq a => a -> FieldDecl a -> Bool # maximum :: Ord a => FieldDecl a -> a # minimum :: Ord a => FieldDecl a -> a # | |
Foldable FieldUpdate | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => FieldUpdate m -> m # foldMap :: Monoid m => (a -> m) -> FieldUpdate a -> m # foldMap' :: Monoid m => (a -> m) -> FieldUpdate a -> m # foldr :: (a -> b -> b) -> b -> FieldUpdate a -> b # foldr' :: (a -> b -> b) -> b -> FieldUpdate a -> b # foldl :: (b -> a -> b) -> b -> FieldUpdate a -> b # foldl' :: (b -> a -> b) -> b -> FieldUpdate a -> b # foldr1 :: (a -> a -> a) -> FieldUpdate a -> a # foldl1 :: (a -> a -> a) -> FieldUpdate a -> a # toList :: FieldUpdate a -> [a] # null :: FieldUpdate a -> Bool # length :: FieldUpdate a -> Int # elem :: Eq a => a -> FieldUpdate a -> Bool # maximum :: Ord a => FieldUpdate a -> a # minimum :: Ord a => FieldUpdate a -> a # | |
Foldable FunDep | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => FunDep m -> m # foldMap :: Monoid m => (a -> m) -> FunDep a -> m # foldMap' :: Monoid m => (a -> m) -> FunDep a -> m # foldr :: (a -> b -> b) -> b -> FunDep a -> b # foldr' :: (a -> b -> b) -> b -> FunDep a -> b # foldl :: (b -> a -> b) -> b -> FunDep a -> b # foldl' :: (b -> a -> b) -> b -> FunDep a -> b # foldr1 :: (a -> a -> a) -> FunDep a -> a # foldl1 :: (a -> a -> a) -> FunDep a -> a # elem :: Eq a => a -> FunDep a -> Bool # maximum :: Ord a => FunDep a -> a # minimum :: Ord a => FunDep a -> a # | |
Foldable GadtDecl | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => GadtDecl m -> m # foldMap :: Monoid m => (a -> m) -> GadtDecl a -> m # foldMap' :: Monoid m => (a -> m) -> GadtDecl a -> m # foldr :: (a -> b -> b) -> b -> GadtDecl a -> b # foldr' :: (a -> b -> b) -> b -> GadtDecl a -> b # foldl :: (b -> a -> b) -> b -> GadtDecl a -> b # foldl' :: (b -> a -> b) -> b -> GadtDecl a -> b # foldr1 :: (a -> a -> a) -> GadtDecl a -> a # foldl1 :: (a -> a -> a) -> GadtDecl a -> a # elem :: Eq a => a -> GadtDecl a -> Bool # maximum :: Ord a => GadtDecl a -> a # minimum :: Ord a => GadtDecl a -> a # | |
Foldable GuardedRhs | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => GuardedRhs m -> m # foldMap :: Monoid m => (a -> m) -> GuardedRhs a -> m # foldMap' :: Monoid m => (a -> m) -> GuardedRhs a -> m # foldr :: (a -> b -> b) -> b -> GuardedRhs a -> b # foldr' :: (a -> b -> b) -> b -> GuardedRhs a -> b # foldl :: (b -> a -> b) -> b -> GuardedRhs a -> b # foldl' :: (b -> a -> b) -> b -> GuardedRhs a -> b # foldr1 :: (a -> a -> a) -> GuardedRhs a -> a # foldl1 :: (a -> a -> a) -> GuardedRhs a -> a # toList :: GuardedRhs a -> [a] # null :: GuardedRhs a -> Bool # length :: GuardedRhs a -> Int # elem :: Eq a => a -> GuardedRhs a -> Bool # maximum :: Ord a => GuardedRhs a -> a # minimum :: Ord a => GuardedRhs a -> a # | |
Foldable IPBind | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => IPBind m -> m # foldMap :: Monoid m => (a -> m) -> IPBind a -> m # foldMap' :: Monoid m => (a -> m) -> IPBind a -> m # foldr :: (a -> b -> b) -> b -> IPBind a -> b # foldr' :: (a -> b -> b) -> b -> IPBind a -> b # foldl :: (b -> a -> b) -> b -> IPBind a -> b # foldl' :: (b -> a -> b) -> b -> IPBind a -> b # foldr1 :: (a -> a -> a) -> IPBind a -> a # foldl1 :: (a -> a -> a) -> IPBind a -> a # elem :: Eq a => a -> IPBind a -> Bool # maximum :: Ord a => IPBind a -> a # minimum :: Ord a => IPBind a -> a # | |
Foldable IPName | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => IPName m -> m # foldMap :: Monoid m => (a -> m) -> IPName a -> m # foldMap' :: Monoid m => (a -> m) -> IPName a -> m # foldr :: (a -> b -> b) -> b -> IPName a -> b # foldr' :: (a -> b -> b) -> b -> IPName a -> b # foldl :: (b -> a -> b) -> b -> IPName a -> b # foldl' :: (b -> a -> b) -> b -> IPName a -> b # foldr1 :: (a -> a -> a) -> IPName a -> a # foldl1 :: (a -> a -> a) -> IPName a -> a # elem :: Eq a => a -> IPName a -> Bool # maximum :: Ord a => IPName a -> a # minimum :: Ord a => IPName a -> a # | |
Foldable ImportDecl | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => ImportDecl m -> m # foldMap :: Monoid m => (a -> m) -> ImportDecl a -> m # foldMap' :: Monoid m => (a -> m) -> ImportDecl a -> m # foldr :: (a -> b -> b) -> b -> ImportDecl a -> b # foldr' :: (a -> b -> b) -> b -> ImportDecl a -> b # foldl :: (b -> a -> b) -> b -> ImportDecl a -> b # foldl' :: (b -> a -> b) -> b -> ImportDecl a -> b # foldr1 :: (a -> a -> a) -> ImportDecl a -> a # foldl1 :: (a -> a -> a) -> ImportDecl a -> a # toList :: ImportDecl a -> [a] # null :: ImportDecl a -> Bool # length :: ImportDecl a -> Int # elem :: Eq a => a -> ImportDecl a -> Bool # maximum :: Ord a => ImportDecl a -> a # minimum :: Ord a => ImportDecl a -> a # | |
Foldable ImportSpec | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => ImportSpec m -> m # foldMap :: Monoid m => (a -> m) -> ImportSpec a -> m # foldMap' :: Monoid m => (a -> m) -> ImportSpec a -> m # foldr :: (a -> b -> b) -> b -> ImportSpec a -> b # foldr' :: (a -> b -> b) -> b -> ImportSpec a -> b # foldl :: (b -> a -> b) -> b -> ImportSpec a -> b # foldl' :: (b -> a -> b) -> b -> ImportSpec a -> b # foldr1 :: (a -> a -> a) -> ImportSpec a -> a # foldl1 :: (a -> a -> a) -> ImportSpec a -> a # toList :: ImportSpec a -> [a] # null :: ImportSpec a -> Bool # length :: ImportSpec a -> Int # elem :: Eq a => a -> ImportSpec a -> Bool # maximum :: Ord a => ImportSpec a -> a # minimum :: Ord a => ImportSpec a -> a # | |
Foldable ImportSpecList | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => ImportSpecList m -> m # foldMap :: Monoid m => (a -> m) -> ImportSpecList a -> m # foldMap' :: Monoid m => (a -> m) -> ImportSpecList a -> m # foldr :: (a -> b -> b) -> b -> ImportSpecList a -> b # foldr' :: (a -> b -> b) -> b -> ImportSpecList a -> b # foldl :: (b -> a -> b) -> b -> ImportSpecList a -> b # foldl' :: (b -> a -> b) -> b -> ImportSpecList a -> b # foldr1 :: (a -> a -> a) -> ImportSpecList a -> a # foldl1 :: (a -> a -> a) -> ImportSpecList a -> a # toList :: ImportSpecList a -> [a] # null :: ImportSpecList a -> Bool # length :: ImportSpecList a -> Int # elem :: Eq a => a -> ImportSpecList a -> Bool # maximum :: Ord a => ImportSpecList a -> a # minimum :: Ord a => ImportSpecList a -> a # | |
Foldable InjectivityInfo | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => InjectivityInfo m -> m # foldMap :: Monoid m => (a -> m) -> InjectivityInfo a -> m # foldMap' :: Monoid m => (a -> m) -> InjectivityInfo a -> m # foldr :: (a -> b -> b) -> b -> InjectivityInfo a -> b # foldr' :: (a -> b -> b) -> b -> InjectivityInfo a -> b # foldl :: (b -> a -> b) -> b -> InjectivityInfo a -> b # foldl' :: (b -> a -> b) -> b -> InjectivityInfo a -> b # foldr1 :: (a -> a -> a) -> InjectivityInfo a -> a # foldl1 :: (a -> a -> a) -> InjectivityInfo a -> a # toList :: InjectivityInfo a -> [a] # null :: InjectivityInfo a -> Bool # length :: InjectivityInfo a -> Int # elem :: Eq a => a -> InjectivityInfo a -> Bool # maximum :: Ord a => InjectivityInfo a -> a # minimum :: Ord a => InjectivityInfo a -> a # | |
Foldable InstDecl | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => InstDecl m -> m # foldMap :: Monoid m => (a -> m) -> InstDecl a -> m # foldMap' :: Monoid m => (a -> m) -> InstDecl a -> m # foldr :: (a -> b -> b) -> b -> InstDecl a -> b # foldr' :: (a -> b -> b) -> b -> InstDecl a -> b # foldl :: (b -> a -> b) -> b -> InstDecl a -> b # foldl' :: (b -> a -> b) -> b -> InstDecl a -> b # foldr1 :: (a -> a -> a) -> InstDecl a -> a # foldl1 :: (a -> a -> a) -> InstDecl a -> a # elem :: Eq a => a -> InstDecl a -> Bool # maximum :: Ord a => InstDecl a -> a # minimum :: Ord a => InstDecl a -> a # | |
Foldable InstHead | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => InstHead m -> m # foldMap :: Monoid m => (a -> m) -> InstHead a -> m # foldMap' :: Monoid m => (a -> m) -> InstHead a -> m # foldr :: (a -> b -> b) -> b -> InstHead a -> b # foldr' :: (a -> b -> b) -> b -> InstHead a -> b # foldl :: (b -> a -> b) -> b -> InstHead a -> b # foldl' :: (b -> a -> b) -> b -> InstHead a -> b # foldr1 :: (a -> a -> a) -> InstHead a -> a # foldl1 :: (a -> a -> a) -> InstHead a -> a # elem :: Eq a => a -> InstHead a -> Bool # maximum :: Ord a => InstHead a -> a # minimum :: Ord a => InstHead a -> a # | |
Foldable InstRule | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => InstRule m -> m # foldMap :: Monoid m => (a -> m) -> InstRule a -> m # foldMap' :: Monoid m => (a -> m) -> InstRule a -> m # foldr :: (a -> b -> b) -> b -> InstRule a -> b # foldr' :: (a -> b -> b) -> b -> InstRule a -> b # foldl :: (b -> a -> b) -> b -> InstRule a -> b # foldl' :: (b -> a -> b) -> b -> InstRule a -> b # foldr1 :: (a -> a -> a) -> InstRule a -> a # foldl1 :: (a -> a -> a) -> InstRule a -> a # elem :: Eq a => a -> InstRule a -> Bool # maximum :: Ord a => InstRule a -> a # minimum :: Ord a => InstRule a -> a # | |
Foldable Literal | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => Literal m -> m # foldMap :: Monoid m => (a -> m) -> Literal a -> m # foldMap' :: Monoid m => (a -> m) -> Literal a -> m # foldr :: (a -> b -> b) -> b -> Literal a -> b # foldr' :: (a -> b -> b) -> b -> Literal a -> b # foldl :: (b -> a -> b) -> b -> Literal a -> b # foldl' :: (b -> a -> b) -> b -> Literal a -> b # foldr1 :: (a -> a -> a) -> Literal a -> a # foldl1 :: (a -> a -> a) -> Literal a -> a # elem :: Eq a => a -> Literal a -> Bool # maximum :: Ord a => Literal a -> a # minimum :: Ord a => Literal a -> a # | |
Foldable Match | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => Match m -> m # foldMap :: Monoid m => (a -> m) -> Match a -> m # foldMap' :: Monoid m => (a -> m) -> Match a -> m # foldr :: (a -> b -> b) -> b -> Match a -> b # foldr' :: (a -> b -> b) -> b -> Match a -> b # foldl :: (b -> a -> b) -> b -> Match a -> b # foldl' :: (b -> a -> b) -> b -> Match a -> b # foldr1 :: (a -> a -> a) -> Match a -> a # foldl1 :: (a -> a -> a) -> Match a -> a # elem :: Eq a => a -> Match a -> Bool # maximum :: Ord a => Match a -> a # minimum :: Ord a => Match a -> a # | |
Foldable MaybePromotedName | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => MaybePromotedName m -> m # foldMap :: Monoid m => (a -> m) -> MaybePromotedName a -> m # foldMap' :: Monoid m => (a -> m) -> MaybePromotedName a -> m # foldr :: (a -> b -> b) -> b -> MaybePromotedName a -> b # foldr' :: (a -> b -> b) -> b -> MaybePromotedName a -> b # foldl :: (b -> a -> b) -> b -> MaybePromotedName a -> b # foldl' :: (b -> a -> b) -> b -> MaybePromotedName a -> b # foldr1 :: (a -> a -> a) -> MaybePromotedName a -> a # foldl1 :: (a -> a -> a) -> MaybePromotedName a -> a # toList :: MaybePromotedName a -> [a] # null :: MaybePromotedName a -> Bool # length :: MaybePromotedName a -> Int # elem :: Eq a => a -> MaybePromotedName a -> Bool # maximum :: Ord a => MaybePromotedName a -> a # minimum :: Ord a => MaybePromotedName a -> a # | |
Foldable Module | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => Module m -> m # foldMap :: Monoid m => (a -> m) -> Module a -> m # foldMap' :: Monoid m => (a -> m) -> Module a -> m # foldr :: (a -> b -> b) -> b -> Module a -> b # foldr' :: (a -> b -> b) -> b -> Module a -> b # foldl :: (b -> a -> b) -> b -> Module a -> b # foldl' :: (b -> a -> b) -> b -> Module a -> b # foldr1 :: (a -> a -> a) -> Module a -> a # foldl1 :: (a -> a -> a) -> Module a -> a # elem :: Eq a => a -> Module a -> Bool # maximum :: Ord a => Module a -> a # minimum :: Ord a => Module a -> a # | |
Foldable ModuleHead | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => ModuleHead m -> m # foldMap :: Monoid m => (a -> m) -> ModuleHead a -> m # foldMap' :: Monoid m => (a -> m) -> ModuleHead a -> m # foldr :: (a -> b -> b) -> b -> ModuleHead a -> b # foldr' :: (a -> b -> b) -> b -> ModuleHead a -> b # foldl :: (b -> a -> b) -> b -> ModuleHead a -> b # foldl' :: (b -> a -> b) -> b -> ModuleHead a -> b # foldr1 :: (a -> a -> a) -> ModuleHead a -> a # foldl1 :: (a -> a -> a) -> ModuleHead a -> a # toList :: ModuleHead a -> [a] # null :: ModuleHead a -> Bool # length :: ModuleHead a -> Int # elem :: Eq a => a -> ModuleHead a -> Bool # maximum :: Ord a => ModuleHead a -> a # minimum :: Ord a => ModuleHead a -> a # | |
Foldable ModuleName | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => ModuleName m -> m # foldMap :: Monoid m => (a -> m) -> ModuleName a -> m # foldMap' :: Monoid m => (a -> m) -> ModuleName a -> m # foldr :: (a -> b -> b) -> b -> ModuleName a -> b # foldr' :: (a -> b -> b) -> b -> ModuleName a -> b # foldl :: (b -> a -> b) -> b -> ModuleName a -> b # foldl' :: (b -> a -> b) -> b -> ModuleName a -> b # foldr1 :: (a -> a -> a) -> ModuleName a -> a # foldl1 :: (a -> a -> a) -> ModuleName a -> a # toList :: ModuleName a -> [a] # null :: ModuleName a -> Bool # length :: ModuleName a -> Int # elem :: Eq a => a -> ModuleName a -> Bool # maximum :: Ord a => ModuleName a -> a # minimum :: Ord a => ModuleName a -> a # | |
Foldable ModulePragma | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => ModulePragma m -> m # foldMap :: Monoid m => (a -> m) -> ModulePragma a -> m # foldMap' :: Monoid m => (a -> m) -> ModulePragma a -> m # foldr :: (a -> b -> b) -> b -> ModulePragma a -> b # foldr' :: (a -> b -> b) -> b -> ModulePragma a -> b # foldl :: (b -> a -> b) -> b -> ModulePragma a -> b # foldl' :: (b -> a -> b) -> b -> ModulePragma a -> b # foldr1 :: (a -> a -> a) -> ModulePragma a -> a # foldl1 :: (a -> a -> a) -> ModulePragma a -> a # toList :: ModulePragma a -> [a] # null :: ModulePragma a -> Bool # length :: ModulePragma a -> Int # elem :: Eq a => a -> ModulePragma a -> Bool # maximum :: Ord a => ModulePragma a -> a # minimum :: Ord a => ModulePragma a -> a # | |
Foldable Name | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => Name m -> m # foldMap :: Monoid m => (a -> m) -> Name a -> m # foldMap' :: Monoid m => (a -> m) -> Name a -> m # foldr :: (a -> b -> b) -> b -> Name a -> b # foldr' :: (a -> b -> b) -> b -> Name a -> b # foldl :: (b -> a -> b) -> b -> Name a -> b # foldl' :: (b -> a -> b) -> b -> Name a -> b # foldr1 :: (a -> a -> a) -> Name a -> a # foldl1 :: (a -> a -> a) -> Name a -> a # elem :: Eq a => a -> Name a -> Bool # maximum :: Ord a => Name a -> a # | |
Foldable Namespace | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => Namespace m -> m # foldMap :: Monoid m => (a -> m) -> Namespace a -> m # foldMap' :: Monoid m => (a -> m) -> Namespace a -> m # foldr :: (a -> b -> b) -> b -> Namespace a -> b # foldr' :: (a -> b -> b) -> b -> Namespace a -> b # foldl :: (b -> a -> b) -> b -> Namespace a -> b # foldl' :: (b -> a -> b) -> b -> Namespace a -> b # foldr1 :: (a -> a -> a) -> Namespace a -> a # foldl1 :: (a -> a -> a) -> Namespace a -> a # toList :: Namespace a -> [a] # length :: Namespace a -> Int # elem :: Eq a => a -> Namespace a -> Bool # maximum :: Ord a => Namespace a -> a # minimum :: Ord a => Namespace a -> a # | |
Foldable Op | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => Op m -> m # foldMap :: Monoid m => (a -> m) -> Op a -> m # foldMap' :: Monoid m => (a -> m) -> Op a -> m # foldr :: (a -> b -> b) -> b -> Op a -> b # foldr' :: (a -> b -> b) -> b -> Op a -> b # foldl :: (b -> a -> b) -> b -> Op a -> b # foldl' :: (b -> a -> b) -> b -> Op a -> b # foldr1 :: (a -> a -> a) -> Op a -> a # foldl1 :: (a -> a -> a) -> Op a -> a # elem :: Eq a => a -> Op a -> Bool # maximum :: Ord a => Op a -> a # | |
Foldable Overlap | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => Overlap m -> m # foldMap :: Monoid m => (a -> m) -> Overlap a -> m # foldMap' :: Monoid m => (a -> m) -> Overlap a -> m # foldr :: (a -> b -> b) -> b -> Overlap a -> b # foldr' :: (a -> b -> b) -> b -> Overlap a -> b # foldl :: (b -> a -> b) -> b -> Overlap a -> b # foldl' :: (b -> a -> b) -> b -> Overlap a -> b # foldr1 :: (a -> a -> a) -> Overlap a -> a # foldl1 :: (a -> a -> a) -> Overlap a -> a # elem :: Eq a => a -> Overlap a -> Bool # maximum :: Ord a => Overlap a -> a # minimum :: Ord a => Overlap a -> a # | |
Foldable PXAttr | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => PXAttr m -> m # foldMap :: Monoid m => (a -> m) -> PXAttr a -> m # foldMap' :: Monoid m => (a -> m) -> PXAttr a -> m # foldr :: (a -> b -> b) -> b -> PXAttr a -> b # foldr' :: (a -> b -> b) -> b -> PXAttr a -> b # foldl :: (b -> a -> b) -> b -> PXAttr a -> b # foldl' :: (b -> a -> b) -> b -> PXAttr a -> b # foldr1 :: (a -> a -> a) -> PXAttr a -> a # foldl1 :: (a -> a -> a) -> PXAttr a -> a # elem :: Eq a => a -> PXAttr a -> Bool # maximum :: Ord a => PXAttr a -> a # minimum :: Ord a => PXAttr a -> a # | |
Foldable Pat | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => Pat m -> m # foldMap :: Monoid m => (a -> m) -> Pat a -> m # foldMap' :: Monoid m => (a -> m) -> Pat a -> m # foldr :: (a -> b -> b) -> b -> Pat a -> b # foldr' :: (a -> b -> b) -> b -> Pat a -> b # foldl :: (b -> a -> b) -> b -> Pat a -> b # foldl' :: (b -> a -> b) -> b -> Pat a -> b # foldr1 :: (a -> a -> a) -> Pat a -> a # foldl1 :: (a -> a -> a) -> Pat a -> a # elem :: Eq a => a -> Pat a -> Bool # maximum :: Ord a => Pat a -> a # | |
Foldable PatField | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => PatField m -> m # foldMap :: Monoid m => (a -> m) -> PatField a -> m # foldMap' :: Monoid m => (a -> m) -> PatField a -> m # foldr :: (a -> b -> b) -> b -> PatField a -> b # foldr' :: (a -> b -> b) -> b -> PatField a -> b # foldl :: (b -> a -> b) -> b -> PatField a -> b # foldl' :: (b -> a -> b) -> b -> PatField a -> b # foldr1 :: (a -> a -> a) -> PatField a -> a # foldl1 :: (a -> a -> a) -> PatField a -> a # elem :: Eq a => a -> PatField a -> Bool # maximum :: Ord a => PatField a -> a # minimum :: Ord a => PatField a -> a # | |
Foldable PatternSynDirection | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => PatternSynDirection m -> m # foldMap :: Monoid m => (a -> m) -> PatternSynDirection a -> m # foldMap' :: Monoid m => (a -> m) -> PatternSynDirection a -> m # foldr :: (a -> b -> b) -> b -> PatternSynDirection a -> b # foldr' :: (a -> b -> b) -> b -> PatternSynDirection a -> b # foldl :: (b -> a -> b) -> b -> PatternSynDirection a -> b # foldl' :: (b -> a -> b) -> b -> PatternSynDirection a -> b # foldr1 :: (a -> a -> a) -> PatternSynDirection a -> a # foldl1 :: (a -> a -> a) -> PatternSynDirection a -> a # toList :: PatternSynDirection a -> [a] # null :: PatternSynDirection a -> Bool # length :: PatternSynDirection a -> Int # elem :: Eq a => a -> PatternSynDirection a -> Bool # maximum :: Ord a => PatternSynDirection a -> a # minimum :: Ord a => PatternSynDirection a -> a # | |
Foldable Promoted | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => Promoted m -> m # foldMap :: Monoid m => (a -> m) -> Promoted a -> m # foldMap' :: Monoid m => (a -> m) -> Promoted a -> m # foldr :: (a -> b -> b) -> b -> Promoted a -> b # foldr' :: (a -> b -> b) -> b -> Promoted a -> b # foldl :: (b -> a -> b) -> b -> Promoted a -> b # foldl' :: (b -> a -> b) -> b -> Promoted a -> b # foldr1 :: (a -> a -> a) -> Promoted a -> a # foldl1 :: (a -> a -> a) -> Promoted a -> a # elem :: Eq a => a -> Promoted a -> Bool # maximum :: Ord a => Promoted a -> a # minimum :: Ord a => Promoted a -> a # | |
Foldable QName | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => QName m -> m # foldMap :: Monoid m => (a -> m) -> QName a -> m # foldMap' :: Monoid m => (a -> m) -> QName a -> m # foldr :: (a -> b -> b) -> b -> QName a -> b # foldr' :: (a -> b -> b) -> b -> QName a -> b # foldl :: (b -> a -> b) -> b -> QName a -> b # foldl' :: (b -> a -> b) -> b -> QName a -> b # foldr1 :: (a -> a -> a) -> QName a -> a # foldl1 :: (a -> a -> a) -> QName a -> a # elem :: Eq a => a -> QName a -> Bool # maximum :: Ord a => QName a -> a # minimum :: Ord a => QName a -> a # | |
Foldable QOp | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => QOp m -> m # foldMap :: Monoid m => (a -> m) -> QOp a -> m # foldMap' :: Monoid m => (a -> m) -> QOp a -> m # foldr :: (a -> b -> b) -> b -> QOp a -> b # foldr' :: (a -> b -> b) -> b -> QOp a -> b # foldl :: (b -> a -> b) -> b -> QOp a -> b # foldl' :: (b -> a -> b) -> b -> QOp a -> b # foldr1 :: (a -> a -> a) -> QOp a -> a # foldl1 :: (a -> a -> a) -> QOp a -> a # elem :: Eq a => a -> QOp a -> Bool # maximum :: Ord a => QOp a -> a # | |
Foldable QualConDecl | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => QualConDecl m -> m # foldMap :: Monoid m => (a -> m) -> QualConDecl a -> m # foldMap' :: Monoid m => (a -> m) -> QualConDecl a -> m # foldr :: (a -> b -> b) -> b -> QualConDecl a -> b # foldr' :: (a -> b -> b) -> b -> QualConDecl a -> b # foldl :: (b -> a -> b) -> b -> QualConDecl a -> b # foldl' :: (b -> a -> b) -> b -> QualConDecl a -> b # foldr1 :: (a -> a -> a) -> QualConDecl a -> a # foldl1 :: (a -> a -> a) -> QualConDecl a -> a # toList :: QualConDecl a -> [a] # null :: QualConDecl a -> Bool # length :: QualConDecl a -> Int # elem :: Eq a => a -> QualConDecl a -> Bool # maximum :: Ord a => QualConDecl a -> a # minimum :: Ord a => QualConDecl a -> a # | |
Foldable QualStmt | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => QualStmt m -> m # foldMap :: Monoid m => (a -> m) -> QualStmt a -> m # foldMap' :: Monoid m => (a -> m) -> QualStmt a -> m # foldr :: (a -> b -> b) -> b -> QualStmt a -> b # foldr' :: (a -> b -> b) -> b -> QualStmt a -> b # foldl :: (b -> a -> b) -> b -> QualStmt a -> b # foldl' :: (b -> a -> b) -> b -> QualStmt a -> b # foldr1 :: (a -> a -> a) -> QualStmt a -> a # foldl1 :: (a -> a -> a) -> QualStmt a -> a # elem :: Eq a => a -> QualStmt a -> Bool # maximum :: Ord a => QualStmt a -> a # minimum :: Ord a => QualStmt a -> a # | |
Foldable RPat | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => RPat m -> m # foldMap :: Monoid m => (a -> m) -> RPat a -> m # foldMap' :: Monoid m => (a -> m) -> RPat a -> m # foldr :: (a -> b -> b) -> b -> RPat a -> b # foldr' :: (a -> b -> b) -> b -> RPat a -> b # foldl :: (b -> a -> b) -> b -> RPat a -> b # foldl' :: (b -> a -> b) -> b -> RPat a -> b # foldr1 :: (a -> a -> a) -> RPat a -> a # foldl1 :: (a -> a -> a) -> RPat a -> a # elem :: Eq a => a -> RPat a -> Bool # maximum :: Ord a => RPat a -> a # | |
Foldable RPatOp | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => RPatOp m -> m # foldMap :: Monoid m => (a -> m) -> RPatOp a -> m # foldMap' :: Monoid m => (a -> m) -> RPatOp a -> m # foldr :: (a -> b -> b) -> b -> RPatOp a -> b # foldr' :: (a -> b -> b) -> b -> RPatOp a -> b # foldl :: (b -> a -> b) -> b -> RPatOp a -> b # foldl' :: (b -> a -> b) -> b -> RPatOp a -> b # foldr1 :: (a -> a -> a) -> RPatOp a -> a # foldl1 :: (a -> a -> a) -> RPatOp a -> a # elem :: Eq a => a -> RPatOp a -> Bool # maximum :: Ord a => RPatOp a -> a # minimum :: Ord a => RPatOp a -> a # | |
Foldable ResultSig | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => ResultSig m -> m # foldMap :: Monoid m => (a -> m) -> ResultSig a -> m # foldMap' :: Monoid m => (a -> m) -> ResultSig a -> m # foldr :: (a -> b -> b) -> b -> ResultSig a -> b # foldr' :: (a -> b -> b) -> b -> ResultSig a -> b # foldl :: (b -> a -> b) -> b -> ResultSig a -> b # foldl' :: (b -> a -> b) -> b -> ResultSig a -> b # foldr1 :: (a -> a -> a) -> ResultSig a -> a # foldl1 :: (a -> a -> a) -> ResultSig a -> a # toList :: ResultSig a -> [a] # length :: ResultSig a -> Int # elem :: Eq a => a -> ResultSig a -> Bool # maximum :: Ord a => ResultSig a -> a # minimum :: Ord a => ResultSig a -> a # | |
Foldable Rhs | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => Rhs m -> m # foldMap :: Monoid m => (a -> m) -> Rhs a -> m # foldMap' :: Monoid m => (a -> m) -> Rhs a -> m # foldr :: (a -> b -> b) -> b -> Rhs a -> b # foldr' :: (a -> b -> b) -> b -> Rhs a -> b # foldl :: (b -> a -> b) -> b -> Rhs a -> b # foldl' :: (b -> a -> b) -> b -> Rhs a -> b # foldr1 :: (a -> a -> a) -> Rhs a -> a # foldl1 :: (a -> a -> a) -> Rhs a -> a # elem :: Eq a => a -> Rhs a -> Bool # maximum :: Ord a => Rhs a -> a # | |
Foldable Role | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => Role m -> m # foldMap :: Monoid m => (a -> m) -> Role a -> m # foldMap' :: Monoid m => (a -> m) -> Role a -> m # foldr :: (a -> b -> b) -> b -> Role a -> b # foldr' :: (a -> b -> b) -> b -> Role a -> b # foldl :: (b -> a -> b) -> b -> Role a -> b # foldl' :: (b -> a -> b) -> b -> Role a -> b # foldr1 :: (a -> a -> a) -> Role a -> a # foldl1 :: (a -> a -> a) -> Role a -> a # elem :: Eq a => a -> Role a -> Bool # maximum :: Ord a => Role a -> a # | |
Foldable Rule | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => Rule m -> m # foldMap :: Monoid m => (a -> m) -> Rule a -> m # foldMap' :: Monoid m => (a -> m) -> Rule a -> m # foldr :: (a -> b -> b) -> b -> Rule a -> b # foldr' :: (a -> b -> b) -> b -> Rule a -> b # foldl :: (b -> a -> b) -> b -> Rule a -> b # foldl' :: (b -> a -> b) -> b -> Rule a -> b # foldr1 :: (a -> a -> a) -> Rule a -> a # foldl1 :: (a -> a -> a) -> Rule a -> a # elem :: Eq a => a -> Rule a -> Bool # maximum :: Ord a => Rule a -> a # | |
Foldable RuleVar | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => RuleVar m -> m # foldMap :: Monoid m => (a -> m) -> RuleVar a -> m # foldMap' :: Monoid m => (a -> m) -> RuleVar a -> m # foldr :: (a -> b -> b) -> b -> RuleVar a -> b # foldr' :: (a -> b -> b) -> b -> RuleVar a -> b # foldl :: (b -> a -> b) -> b -> RuleVar a -> b # foldl' :: (b -> a -> b) -> b -> RuleVar a -> b # foldr1 :: (a -> a -> a) -> RuleVar a -> a # foldl1 :: (a -> a -> a) -> RuleVar a -> a # elem :: Eq a => a -> RuleVar a -> Bool # maximum :: Ord a => RuleVar a -> a # minimum :: Ord a => RuleVar a -> a # | |
Foldable Safety | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => Safety m -> m # foldMap :: Monoid m => (a -> m) -> Safety a -> m # foldMap' :: Monoid m => (a -> m) -> Safety a -> m # foldr :: (a -> b -> b) -> b -> Safety a -> b # foldr' :: (a -> b -> b) -> b -> Safety a -> b # foldl :: (b -> a -> b) -> b -> Safety a -> b # foldl' :: (b -> a -> b) -> b -> Safety a -> b # foldr1 :: (a -> a -> a) -> Safety a -> a # foldl1 :: (a -> a -> a) -> Safety a -> a # elem :: Eq a => a -> Safety a -> Bool # maximum :: Ord a => Safety a -> a # minimum :: Ord a => Safety a -> a # | |
Foldable Sign | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => Sign m -> m # foldMap :: Monoid m => (a -> m) -> Sign a -> m # foldMap' :: Monoid m => (a -> m) -> Sign a -> m # foldr :: (a -> b -> b) -> b -> Sign a -> b # foldr' :: (a -> b -> b) -> b -> Sign a -> b # foldl :: (b -> a -> b) -> b -> Sign a -> b # foldl' :: (b -> a -> b) -> b -> Sign a -> b # foldr1 :: (a -> a -> a) -> Sign a -> a # foldl1 :: (a -> a -> a) -> Sign a -> a # elem :: Eq a => a -> Sign a -> Bool # maximum :: Ord a => Sign a -> a # | |
Foldable SpecialCon | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => SpecialCon m -> m # foldMap :: Monoid m => (a -> m) -> SpecialCon a -> m # foldMap' :: Monoid m => (a -> m) -> SpecialCon a -> m # foldr :: (a -> b -> b) -> b -> SpecialCon a -> b # foldr' :: (a -> b -> b) -> b -> SpecialCon a -> b # foldl :: (b -> a -> b) -> b -> SpecialCon a -> b # foldl' :: (b -> a -> b) -> b -> SpecialCon a -> b # foldr1 :: (a -> a -> a) -> SpecialCon a -> a # foldl1 :: (a -> a -> a) -> SpecialCon a -> a # toList :: SpecialCon a -> [a] # null :: SpecialCon a -> Bool # length :: SpecialCon a -> Int # elem :: Eq a => a -> SpecialCon a -> Bool # maximum :: Ord a => SpecialCon a -> a # minimum :: Ord a => SpecialCon a -> a # | |
Foldable Splice | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => Splice m -> m # foldMap :: Monoid m => (a -> m) -> Splice a -> m # foldMap' :: Monoid m => (a -> m) -> Splice a -> m # foldr :: (a -> b -> b) -> b -> Splice a -> b # foldr' :: (a -> b -> b) -> b -> Splice a -> b # foldl :: (b -> a -> b) -> b -> Splice a -> b # foldl' :: (b -> a -> b) -> b -> Splice a -> b # foldr1 :: (a -> a -> a) -> Splice a -> a # foldl1 :: (a -> a -> a) -> Splice a -> a # elem :: Eq a => a -> Splice a -> Bool # maximum :: Ord a => Splice a -> a # minimum :: Ord a => Splice a -> a # | |
Foldable Stmt | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => Stmt m -> m # foldMap :: Monoid m => (a -> m) -> Stmt a -> m # foldMap' :: Monoid m => (a -> m) -> Stmt a -> m # foldr :: (a -> b -> b) -> b -> Stmt a -> b # foldr' :: (a -> b -> b) -> b -> Stmt a -> b # foldl :: (b -> a -> b) -> b -> Stmt a -> b # foldl' :: (b -> a -> b) -> b -> Stmt a -> b # foldr1 :: (a -> a -> a) -> Stmt a -> a # foldl1 :: (a -> a -> a) -> Stmt a -> a # elem :: Eq a => a -> Stmt a -> Bool # maximum :: Ord a => Stmt a -> a # | |
Foldable TyVarBind | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => TyVarBind m -> m # foldMap :: Monoid m => (a -> m) -> TyVarBind a -> m # foldMap' :: Monoid m => (a -> m) -> TyVarBind a -> m # foldr :: (a -> b -> b) -> b -> TyVarBind a -> b # foldr' :: (a -> b -> b) -> b -> TyVarBind a -> b # foldl :: (b -> a -> b) -> b -> TyVarBind a -> b # foldl' :: (b -> a -> b) -> b -> TyVarBind a -> b # foldr1 :: (a -> a -> a) -> TyVarBind a -> a # foldl1 :: (a -> a -> a) -> TyVarBind a -> a # toList :: TyVarBind a -> [a] # length :: TyVarBind a -> Int # elem :: Eq a => a -> TyVarBind a -> Bool # maximum :: Ord a => TyVarBind a -> a # minimum :: Ord a => TyVarBind a -> a # | |
Foldable Type | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => Type m -> m # foldMap :: Monoid m => (a -> m) -> Type a -> m # foldMap' :: Monoid m => (a -> m) -> Type a -> m # foldr :: (a -> b -> b) -> b -> Type a -> b # foldr' :: (a -> b -> b) -> b -> Type a -> b # foldl :: (b -> a -> b) -> b -> Type a -> b # foldl' :: (b -> a -> b) -> b -> Type a -> b # foldr1 :: (a -> a -> a) -> Type a -> a # foldl1 :: (a -> a -> a) -> Type a -> a # elem :: Eq a => a -> Type a -> Bool # maximum :: Ord a => Type a -> a # | |
Foldable TypeEqn | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => TypeEqn m -> m # foldMap :: Monoid m => (a -> m) -> TypeEqn a -> m # foldMap' :: Monoid m => (a -> m) -> TypeEqn a -> m # foldr :: (a -> b -> b) -> b -> TypeEqn a -> b # foldr' :: (a -> b -> b) -> b -> TypeEqn a -> b # foldl :: (b -> a -> b) -> b -> TypeEqn a -> b # foldl' :: (b -> a -> b) -> b -> TypeEqn a -> b # foldr1 :: (a -> a -> a) -> TypeEqn a -> a # foldl1 :: (a -> a -> a) -> TypeEqn a -> a # elem :: Eq a => a -> TypeEqn a -> Bool # maximum :: Ord a => TypeEqn a -> a # minimum :: Ord a => TypeEqn a -> a # | |
Foldable Unpackedness | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => Unpackedness m -> m # foldMap :: Monoid m => (a -> m) -> Unpackedness a -> m # foldMap' :: Monoid m => (a -> m) -> Unpackedness a -> m # foldr :: (a -> b -> b) -> b -> Unpackedness a -> b # foldr' :: (a -> b -> b) -> b -> Unpackedness a -> b # foldl :: (b -> a -> b) -> b -> Unpackedness a -> b # foldl' :: (b -> a -> b) -> b -> Unpackedness a -> b # foldr1 :: (a -> a -> a) -> Unpackedness a -> a # foldl1 :: (a -> a -> a) -> Unpackedness a -> a # toList :: Unpackedness a -> [a] # null :: Unpackedness a -> Bool # length :: Unpackedness a -> Int # elem :: Eq a => a -> Unpackedness a -> Bool # maximum :: Ord a => Unpackedness a -> a # minimum :: Ord a => Unpackedness a -> a # | |
Foldable WarningText | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => WarningText m -> m # foldMap :: Monoid m => (a -> m) -> WarningText a -> m # foldMap' :: Monoid m => (a -> m) -> WarningText a -> m # foldr :: (a -> b -> b) -> b -> WarningText a -> b # foldr' :: (a -> b -> b) -> b -> WarningText a -> b # foldl :: (b -> a -> b) -> b -> WarningText a -> b # foldl' :: (b -> a -> b) -> b -> WarningText a -> b # foldr1 :: (a -> a -> a) -> WarningText a -> a # foldl1 :: (a -> a -> a) -> WarningText a -> a # toList :: WarningText a -> [a] # null :: WarningText a -> Bool # length :: WarningText a -> Int # elem :: Eq a => a -> WarningText a -> Bool # maximum :: Ord a => WarningText a -> a # minimum :: Ord a => WarningText a -> a # | |
Foldable XAttr | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => XAttr m -> m # foldMap :: Monoid m => (a -> m) -> XAttr a -> m # foldMap' :: Monoid m => (a -> m) -> XAttr a -> m # foldr :: (a -> b -> b) -> b -> XAttr a -> b # foldr' :: (a -> b -> b) -> b -> XAttr a -> b # foldl :: (b -> a -> b) -> b -> XAttr a -> b # foldl' :: (b -> a -> b) -> b -> XAttr a -> b # foldr1 :: (a -> a -> a) -> XAttr a -> a # foldl1 :: (a -> a -> a) -> XAttr a -> a # elem :: Eq a => a -> XAttr a -> Bool # maximum :: Ord a => XAttr a -> a # minimum :: Ord a => XAttr a -> a # | |
Foldable XName | |
Defined in Language.Haskell.Exts.Syntax Methods fold :: Monoid m => XName m -> m # foldMap :: Monoid m => (a -> m) -> XName a -> m # foldMap' :: Monoid m => (a -> m) -> XName a -> m # foldr :: (a -> b -> b) -> b -> XName a -> b # foldr' :: (a -> b -> b) -> b -> XName a -> b # foldl :: (b -> a -> b) -> b -> XName a -> b # foldl' :: (b -> a -> b) -> b -> XName a -> b # foldr1 :: (a -> a -> a) -> XName a -> a # foldl1 :: (a -> a -> a) -> XName a -> a # elem :: Eq a => a -> XName a -> Bool # maximum :: Ord a => XName a -> a # minimum :: Ord a => XName a -> a # | |
Foldable Error | |
Defined in Language.Haskell.Names.Types Methods fold :: Monoid m => Error m -> m # foldMap :: Monoid m => (a -> m) -> Error a -> m # foldMap' :: Monoid m => (a -> m) -> Error a -> m # foldr :: (a -> b -> b) -> b -> Error a -> b # foldr' :: (a -> b -> b) -> b -> Error a -> b # foldl :: (b -> a -> b) -> b -> Error a -> b # foldl' :: (b -> a -> b) -> b -> Error a -> b # foldr1 :: (a -> a -> a) -> Error a -> a # foldl1 :: (a -> a -> a) -> Error a -> a # elem :: Eq a => a -> Error a -> Bool # maximum :: Ord a => Error a -> a # minimum :: Ord a => Error a -> a # | |
Foldable NameInfo | |
Defined in Language.Haskell.Names.Types Methods fold :: Monoid m => NameInfo m -> m # foldMap :: Monoid m => (a -> m) -> NameInfo a -> m # foldMap' :: Monoid m => (a -> m) -> NameInfo a -> m # foldr :: (a -> b -> b) -> b -> NameInfo a -> b # foldr' :: (a -> b -> b) -> b -> NameInfo a -> b # foldl :: (b -> a -> b) -> b -> NameInfo a -> b # foldl' :: (b -> a -> b) -> b -> NameInfo a -> b # foldr1 :: (a -> a -> a) -> NameInfo a -> a # foldl1 :: (a -> a -> a) -> NameInfo a -> a # elem :: Eq a => a -> NameInfo a -> Bool # maximum :: Ord a => NameInfo a -> a # minimum :: Ord a => NameInfo a -> a # | |
Foldable Scoped | |
Defined in Language.Haskell.Names.Types Methods fold :: Monoid m => Scoped m -> m # foldMap :: Monoid m => (a -> m) -> Scoped a -> m # foldMap' :: Monoid m => (a -> m) -> Scoped a -> m # foldr :: (a -> b -> b) -> b -> Scoped a -> b # foldr' :: (a -> b -> b) -> b -> Scoped a -> b # foldl :: (b -> a -> b) -> b -> Scoped a -> b # foldl' :: (b -> a -> b) -> b -> Scoped a -> b # foldr1 :: (a -> a -> a) -> Scoped a -> a # foldl1 :: (a -> a -> a) -> Scoped a -> a # elem :: Eq a => a -> Scoped a -> Bool # maximum :: Ord a => Scoped a -> a # minimum :: Ord a => Scoped a -> a # | |
Foldable Conditional | |
Defined in Hpack.Config Methods fold :: Monoid m => Conditional m -> m # foldMap :: Monoid m => (a -> m) -> Conditional a -> m # foldMap' :: Monoid m => (a -> m) -> Conditional a -> m # foldr :: (a -> b -> b) -> b -> Conditional a -> b # foldr' :: (a -> b -> b) -> b -> Conditional a -> b # foldl :: (b -> a -> b) -> b -> Conditional a -> b # foldl' :: (b -> a -> b) -> b -> Conditional a -> b # foldr1 :: (a -> a -> a) -> Conditional a -> a # foldl1 :: (a -> a -> a) -> Conditional a -> a # toList :: Conditional a -> [a] # null :: Conditional a -> Bool # length :: Conditional a -> Int # elem :: Eq a => a -> Conditional a -> Bool # maximum :: Ord a => Conditional a -> a # minimum :: Ord a => Conditional a -> a # | |
Foldable Section | |
Defined in Hpack.Config Methods fold :: Monoid m => Section m -> m # foldMap :: Monoid m => (a -> m) -> Section a -> m # foldMap' :: Monoid m => (a -> m) -> Section a -> m # foldr :: (a -> b -> b) -> b -> Section a -> b # foldr' :: (a -> b -> b) -> b -> Section a -> b # foldl :: (b -> a -> b) -> b -> Section a -> b # foldl' :: (b -> a -> b) -> b -> Section a -> b # foldr1 :: (a -> a -> a) -> Section a -> a # foldl1 :: (a -> a -> a) -> Section a -> a # elem :: Eq a => a -> Section a -> Bool # maximum :: Ord a => Section a -> a # minimum :: Ord a => Section a -> a # | |
Foldable List | |
Defined in Data.Aeson.Config.Types Methods fold :: Monoid m => List m -> m # foldMap :: Monoid m => (a -> m) -> List a -> m # foldMap' :: Monoid m => (a -> m) -> List a -> m # foldr :: (a -> b -> b) -> b -> List a -> b # foldr' :: (a -> b -> b) -> b -> List a -> b # foldl :: (b -> a -> b) -> b -> List a -> b # foldl' :: (b -> a -> b) -> b -> List a -> b # foldr1 :: (a -> a -> a) -> List a -> a # foldl1 :: (a -> a -> a) -> List a -> a # elem :: Eq a => a -> List a -> Bool # maximum :: Ord a => List a -> a # | |
Foldable Response | |
Defined in Network.HTTP.Client.Types Methods fold :: Monoid m => Response m -> m # foldMap :: Monoid m => (a -> m) -> Response a -> m # foldMap' :: Monoid m => (a -> m) -> Response a -> m # foldr :: (a -> b -> b) -> b -> Response a -> b # foldr' :: (a -> b -> b) -> b -> Response a -> b # foldl :: (b -> a -> b) -> b -> Response a -> b # foldl' :: (b -> a -> b) -> b -> Response a -> b # foldr1 :: (a -> a -> a) -> Response a -> a # foldl1 :: (a -> a -> a) -> Response a -> a # elem :: Eq a => a -> Response a -> Bool # maximum :: Ord a => Response a -> a # minimum :: Ord a => Response a -> a # | |
Foldable HistoriedResponse | |
Defined in Network.HTTP.Client Methods fold :: Monoid m => HistoriedResponse m -> m # foldMap :: Monoid m => (a -> m) -> HistoriedResponse a -> m # foldMap' :: Monoid m => (a -> m) -> HistoriedResponse a -> m # foldr :: (a -> b -> b) -> b -> HistoriedResponse a -> b # foldr' :: (a -> b -> b) -> b -> HistoriedResponse a -> b # foldl :: (b -> a -> b) -> b -> HistoriedResponse a -> b # foldl' :: (b -> a -> b) -> b -> HistoriedResponse a -> b # foldr1 :: (a -> a -> a) -> HistoriedResponse a -> a # foldl1 :: (a -> a -> a) -> HistoriedResponse a -> a # toList :: HistoriedResponse a -> [a] # null :: HistoriedResponse a -> Bool # length :: HistoriedResponse a -> Int # elem :: Eq a => a -> HistoriedResponse a -> Bool # maximum :: Ord a => HistoriedResponse a -> a # minimum :: Ord a => HistoriedResponse a -> a # | |
Foldable ResponseF | |
Defined in Servant.Client.Core.Response Methods fold :: Monoid m => ResponseF m -> m # foldMap :: Monoid m => (a -> m) -> ResponseF a -> m # foldMap' :: Monoid m => (a -> m) -> ResponseF a -> m # foldr :: (a -> b -> b) -> b -> ResponseF a -> b # foldr' :: (a -> b -> b) -> b -> ResponseF a -> b # foldl :: (b -> a -> b) -> b -> ResponseF a -> b # foldl' :: (b -> a -> b) -> b -> ResponseF a -> b # foldr1 :: (a -> a -> a) -> ResponseF a -> a # foldl1 :: (a -> a -> a) -> ResponseF a -> a # toList :: ResponseF a -> [a] # length :: ResponseF a -> Int # elem :: Eq a => a -> ResponseF a -> Bool # maximum :: Ord a => ResponseF a -> a # minimum :: Ord a => ResponseF a -> a # | |
Foldable I | |
Defined in Data.SOP.BasicFunctors Methods fold :: Monoid m => I m -> m # foldMap :: Monoid m => (a -> m) -> I a -> m # foldMap' :: Monoid m => (a -> m) -> I a -> m # foldr :: (a -> b -> b) -> b -> I a -> b # foldr' :: (a -> b -> b) -> b -> I a -> b # foldl :: (b -> a -> b) -> b -> I a -> b # foldl' :: (b -> a -> b) -> b -> I a -> b # foldr1 :: (a -> a -> a) -> I a -> a # foldl1 :: (a -> a -> a) -> I a -> a # elem :: Eq a => a -> I a -> Bool # maximum :: Ord a => I a -> a # | |
Foldable Add | |
Defined in Data.Semiring Methods fold :: Monoid m => Add m -> m # foldMap :: Monoid m => (a -> m) -> Add a -> m # foldMap' :: Monoid m => (a -> m) -> Add a -> m # foldr :: (a -> b -> b) -> b -> Add a -> b # foldr' :: (a -> b -> b) -> b -> Add a -> b # foldl :: (b -> a -> b) -> b -> Add a -> b # foldl' :: (b -> a -> b) -> b -> Add a -> b # foldr1 :: (a -> a -> a) -> Add a -> a # foldl1 :: (a -> a -> a) -> Add a -> a # elem :: Eq a => a -> Add a -> Bool # maximum :: Ord a => Add a -> a # | |
Foldable Mul | |
Defined in Data.Semiring Methods fold :: Monoid m => Mul m -> m # foldMap :: Monoid m => (a -> m) -> Mul a -> m # foldMap' :: Monoid m => (a -> m) -> Mul a -> m # foldr :: (a -> b -> b) -> b -> Mul a -> b # foldr' :: (a -> b -> b) -> b -> Mul a -> b # foldl :: (b -> a -> b) -> b -> Mul a -> b # foldl' :: (b -> a -> b) -> b -> Mul a -> b # foldr1 :: (a -> a -> a) -> Mul a -> a # foldl1 :: (a -> a -> a) -> Mul a -> a # elem :: Eq a => a -> Mul a -> Bool # maximum :: Ord a => Mul a -> a # | |
Foldable WrappedNum | |
Defined in Data.Semiring Methods fold :: Monoid m => WrappedNum m -> m # foldMap :: Monoid m => (a -> m) -> WrappedNum a -> m # foldMap' :: Monoid m => (a -> m) -> WrappedNum a -> m # foldr :: (a -> b -> b) -> b -> WrappedNum a -> b # foldr' :: (a -> b -> b) -> b -> WrappedNum a -> b # foldl :: (b -> a -> b) -> b -> WrappedNum a -> b # foldl' :: (b -> a -> b) -> b -> WrappedNum a -> b # foldr1 :: (a -> a -> a) -> WrappedNum a -> a # foldl1 :: (a -> a -> a) -> WrappedNum a -> a # toList :: WrappedNum a -> [a] # null :: WrappedNum a -> Bool # length :: WrappedNum a -> Int # elem :: Eq a => a -> WrappedNum a -> Bool # maximum :: Ord a => WrappedNum a -> a # minimum :: Ord a => WrappedNum a -> a # | |
Foldable NESeq | |
Defined in Data.Sequence.NonEmpty.Internal Methods fold :: Monoid m => NESeq m -> m # foldMap :: Monoid m => (a -> m) -> NESeq a -> m # foldMap' :: Monoid m => (a -> m) -> NESeq a -> m # foldr :: (a -> b -> b) -> b -> NESeq a -> b # foldr' :: (a -> b -> b) -> b -> NESeq a -> b # foldl :: (b -> a -> b) -> b -> NESeq a -> b # foldl' :: (b -> a -> b) -> b -> NESeq a -> b # foldr1 :: (a -> a -> a) -> NESeq a -> a # foldl1 :: (a -> a -> a) -> NESeq a -> a # elem :: Eq a => a -> NESeq a -> Bool # maximum :: Ord a => NESeq a -> a # minimum :: Ord a => NESeq a -> a # | |
Foldable MonoidalIntMap | |
Defined in Data.IntMap.Monoidal.Strict Methods fold :: Monoid m => MonoidalIntMap m -> m # foldMap :: Monoid m => (a -> m) -> MonoidalIntMap a -> m # foldMap' :: Monoid m => (a -> m) -> MonoidalIntMap a -> m # foldr :: (a -> b -> b) -> b -> MonoidalIntMap a -> b # foldr' :: (a -> b -> b) -> b -> MonoidalIntMap a -> b # foldl :: (b -> a -> b) -> b -> MonoidalIntMap a -> b # foldl' :: (b -> a -> b) -> b -> MonoidalIntMap a -> b # foldr1 :: (a -> a -> a) -> MonoidalIntMap a -> a # foldl1 :: (a -> a -> a) -> MonoidalIntMap a -> a # toList :: MonoidalIntMap a -> [a] # null :: MonoidalIntMap a -> Bool # length :: MonoidalIntMap a -> Int # elem :: Eq a => a -> MonoidalIntMap a -> Bool # maximum :: Ord a => MonoidalIntMap a -> a # minimum :: Ord a => MonoidalIntMap a -> a # | |
Foldable GMonoid | |
Defined in Data.Monoid.OneLiner Methods fold :: Monoid m => GMonoid m -> m # foldMap :: Monoid m => (a -> m) -> GMonoid a -> m # foldMap' :: Monoid m => (a -> m) -> GMonoid a -> m # foldr :: (a -> b -> b) -> b -> GMonoid a -> b # foldr' :: (a -> b -> b) -> b -> GMonoid a -> b # foldl :: (b -> a -> b) -> b -> GMonoid a -> b # foldl' :: (b -> a -> b) -> b -> GMonoid a -> b # foldr1 :: (a -> a -> a) -> GMonoid a -> a # foldl1 :: (a -> a -> a) -> GMonoid a -> a # elem :: Eq a => a -> GMonoid a -> Bool # maximum :: Ord a => GMonoid a -> a # minimum :: Ord a => GMonoid a -> a # | |
Foldable Template | |
Defined in Text.DocTemplates.Internal Methods fold :: Monoid m => Template m -> m # foldMap :: Monoid m => (a -> m) -> Template a -> m # foldMap' :: Monoid m => (a -> m) -> Template a -> m # foldr :: (a -> b -> b) -> b -> Template a -> b # foldr' :: (a -> b -> b) -> b -> Template a -> b # foldl :: (b -> a -> b) -> b -> Template a -> b # foldl' :: (b -> a -> b) -> b -> Template a -> b # foldr1 :: (a -> a -> a) -> Template a -> a # foldl1 :: (a -> a -> a) -> Template a -> a # elem :: Eq a => a -> Template a -> Bool # maximum :: Ord a => Template a -> a # minimum :: Ord a => Template a -> a # | |
Foldable Context | |
Defined in Text.DocTemplates.Internal Methods fold :: Monoid m => Context m -> m # foldMap :: Monoid m => (a -> m) -> Context a -> m # foldMap' :: Monoid m => (a -> m) -> Context a -> m # foldr :: (a -> b -> b) -> b -> Context a -> b # foldr' :: (a -> b -> b) -> b -> Context a -> b # foldl :: (b -> a -> b) -> b -> Context a -> b # foldl' :: (b -> a -> b) -> b -> Context a -> b # foldr1 :: (a -> a -> a) -> Context a -> a # foldl1 :: (a -> a -> a) -> Context a -> a # elem :: Eq a => a -> Context a -> Bool # maximum :: Ord a => Context a -> a # minimum :: Ord a => Context a -> a # | |
Foldable Val | |
Defined in Text.DocTemplates.Internal Methods fold :: Monoid m => Val m -> m # foldMap :: Monoid m => (a -> m) -> Val a -> m # foldMap' :: Monoid m => (a -> m) -> Val a -> m # foldr :: (a -> b -> b) -> b -> Val a -> b # foldr' :: (a -> b -> b) -> b -> Val a -> b # foldl :: (b -> a -> b) -> b -> Val a -> b # foldl' :: (b -> a -> b) -> b -> Val a -> b # foldr1 :: (a -> a -> a) -> Val a -> a # foldl1 :: (a -> a -> a) -> Val a -> a # elem :: Eq a => a -> Val a -> Bool # maximum :: Ord a => Val a -> a # | |
Foldable Many | |
Defined in Text.Pandoc.Builder Methods fold :: Monoid m => Many m -> m # foldMap :: Monoid m => (a -> m) -> Many a -> m # foldMap' :: Monoid m => (a -> m) -> Many a -> m # foldr :: (a -> b -> b) -> b -> Many a -> b # foldr' :: (a -> b -> b) -> b -> Many a -> b # foldl :: (b -> a -> b) -> b -> Many a -> b # foldl' :: (b -> a -> b) -> b -> Many a -> b # foldr1 :: (a -> a -> a) -> Many a -> a # foldl1 :: (a -> a -> a) -> Many a -> a # elem :: Eq a => a -> Many a -> Bool # maximum :: Ord a => Many a -> a # | |
Foldable Doc | |
Defined in Text.DocLayout Methods fold :: Monoid m => Doc m -> m # foldMap :: Monoid m => (a -> m) -> Doc a -> m # foldMap' :: Monoid m => (a -> m) -> Doc a -> m # foldr :: (a -> b -> b) -> b -> Doc a -> b # foldr' :: (a -> b -> b) -> b -> Doc a -> b # foldl :: (b -> a -> b) -> b -> Doc a -> b # foldl' :: (b -> a -> b) -> b -> Doc a -> b # foldr1 :: (a -> a -> a) -> Doc a -> a # foldl1 :: (a -> a -> a) -> Doc a -> a # elem :: Eq a => a -> Doc a -> Bool # maximum :: Ord a => Doc a -> a # | |
Foldable Resolved | |
Defined in Text.DocTemplates.Internal Methods fold :: Monoid m => Resolved m -> m # foldMap :: Monoid m => (a -> m) -> Resolved a -> m # foldMap' :: Monoid m => (a -> m) -> Resolved a -> m # foldr :: (a -> b -> b) -> b -> Resolved a -> b # foldr' :: (a -> b -> b) -> b -> Resolved a -> b # foldl :: (b -> a -> b) -> b -> Resolved a -> b # foldl' :: (b -> a -> b) -> b -> Resolved a -> b # foldr1 :: (a -> a -> a) -> Resolved a -> a # foldl1 :: (a -> a -> a) -> Resolved a -> a # elem :: Eq a => a -> Resolved a -> Bool # maximum :: Ord a => Resolved a -> a # minimum :: Ord a => Resolved a -> a # | |
Foldable Reference | |
Defined in Citeproc.Types Methods fold :: Monoid m => Reference m -> m # foldMap :: Monoid m => (a -> m) -> Reference a -> m # foldMap' :: Monoid m => (a -> m) -> Reference a -> m # foldr :: (a -> b -> b) -> b -> Reference a -> b # foldr' :: (a -> b -> b) -> b -> Reference a -> b # foldl :: (b -> a -> b) -> b -> Reference a -> b # foldl' :: (b -> a -> b) -> b -> Reference a -> b # foldr1 :: (a -> a -> a) -> Reference a -> a # foldl1 :: (a -> a -> a) -> Reference a -> a # toList :: Reference a -> [a] # length :: Reference a -> Int # elem :: Eq a => a -> Reference a -> Bool # maximum :: Ord a => Reference a -> a # minimum :: Ord a => Reference a -> a # | |
Foldable Result | |
Defined in Citeproc.Types Methods fold :: Monoid m => Result m -> m # foldMap :: Monoid m => (a -> m) -> Result a -> m # foldMap' :: Monoid m => (a -> m) -> Result a -> m # foldr :: (a -> b -> b) -> b -> Result a -> b # foldr' :: (a -> b -> b) -> b -> Result a -> b # foldl :: (b -> a -> b) -> b -> Result a -> b # foldl' :: (b -> a -> b) -> b -> Result a -> b # foldr1 :: (a -> a -> a) -> Result a -> a # foldl1 :: (a -> a -> a) -> Result a -> a # elem :: Eq a => a -> Result a -> Bool # maximum :: Ord a => Result a -> a # minimum :: Ord a => Result a -> a # | |
Foldable Val | |
Defined in Citeproc.Types Methods fold :: Monoid m => Val m -> m # foldMap :: Monoid m => (a -> m) -> Val a -> m # foldMap' :: Monoid m => (a -> m) -> Val a -> m # foldr :: (a -> b -> b) -> b -> Val a -> b # foldr' :: (a -> b -> b) -> b -> Val a -> b # foldl :: (b -> a -> b) -> b -> Val a -> b # foldl' :: (b -> a -> b) -> b -> Val a -> b # foldr1 :: (a -> a -> a) -> Val a -> a # foldl1 :: (a -> a -> a) -> Val a -> a # elem :: Eq a => a -> Val a -> Bool # maximum :: Ord a => Val a -> a # | |
Foldable Root | |
Defined in Numeric.RootFinding Methods fold :: Monoid m => Root m -> m # foldMap :: Monoid m => (a -> m) -> Root a -> m # foldMap' :: Monoid m => (a -> m) -> Root a -> m # foldr :: (a -> b -> b) -> b -> Root a -> b # foldr' :: (a -> b -> b) -> b -> Root a -> b # foldl :: (b -> a -> b) -> b -> Root a -> b # foldl' :: (b -> a -> b) -> b -> Root a -> b # foldr1 :: (a -> a -> a) -> Root a -> a # foldl1 :: (a -> a -> a) -> Root a -> a # elem :: Eq a => a -> Root a -> Bool # maximum :: Ord a => Root a -> a # | |
Foldable Pair | |
Defined in Statistics.Quantile Methods fold :: Monoid m => Pair m -> m # foldMap :: Monoid m => (a -> m) -> Pair a -> m # foldMap' :: Monoid m => (a -> m) -> Pair a -> m # foldr :: (a -> b -> b) -> b -> Pair a -> b # foldr' :: (a -> b -> b) -> b -> Pair a -> b # foldl :: (b -> a -> b) -> b -> Pair a -> b # foldl' :: (b -> a -> b) -> b -> Pair a -> b # foldr1 :: (a -> a -> a) -> Pair a -> a # foldl1 :: (a -> a -> a) -> Pair a -> a # elem :: Eq a => a -> Pair a -> Bool # maximum :: Ord a => Pair a -> a # | |
Foldable (Either a) | Since: base-4.7.0.0 |
Defined in Data.Foldable Methods fold :: Monoid m => Either a m -> m # foldMap :: Monoid m => (a0 -> m) -> Either a a0 -> m # foldMap' :: Monoid m => (a0 -> m) -> Either a a0 -> m # foldr :: (a0 -> b -> b) -> b -> Either a a0 -> b # foldr' :: (a0 -> b -> b) -> b -> Either a a0 -> b # foldl :: (b -> a0 -> b) -> b -> Either a a0 -> b # foldl' :: (b -> a0 -> b) -> b -> Either a a0 -> b # foldr1 :: (a0 -> a0 -> a0) -> Either a a0 -> a0 # foldl1 :: (a0 -> a0 -> a0) -> Either a a0 -> a0 # toList :: Either a a0 -> [a0] # length :: Either a a0 -> Int # elem :: Eq a0 => a0 -> Either a a0 -> Bool # maximum :: Ord a0 => Either a a0 -> a0 # minimum :: Ord a0 => Either a a0 -> a0 # | |
Foldable (V1 :: Type -> Type) | Since: base-4.9.0.0 |
Defined in Data.Foldable Methods fold :: Monoid m => V1 m -> m # foldMap :: Monoid m => (a -> m) -> V1 a -> m # foldMap' :: Monoid m => (a -> m) -> V1 a -> m # foldr :: (a -> b -> b) -> b -> V1 a -> b # foldr' :: (a -> b -> b) -> b -> V1 a -> b # foldl :: (b -> a -> b) -> b -> V1 a -> b # foldl' :: (b -> a -> b) -> b -> V1 a -> b # foldr1 :: (a -> a -> a) -> V1 a -> a # foldl1 :: (a -> a -> a) -> V1 a -> a # elem :: Eq a => a -> V1 a -> Bool # maximum :: Ord a => V1 a -> a # | |
Foldable (U1 :: Type -> Type) | Since: base-4.9.0.0 |
Defined in Data.Foldable Methods fold :: Monoid m => U1 m -> m # foldMap :: Monoid m => (a -> m) -> U1 a -> m # foldMap' :: Monoid m => (a -> m) -> U1 a -> m # foldr :: (a -> b -> b) -> b -> U1 a -> b # foldr' :: (a -> b -> b) -> b -> U1 a -> b # foldl :: (b -> a -> b) -> b -> U1 a -> b # foldl' :: (b -> a -> b) -> b -> U1 a -> b # foldr1 :: (a -> a -> a) -> U1 a -> a # foldl1 :: (a -> a -> a) -> U1 a -> a # elem :: Eq a => a -> U1 a -> Bool # maximum :: Ord a => U1 a -> a # | |
Foldable (UAddr :: Type -> Type) | Since: base-4.9.0.0 |
Defined in Data.Foldable Methods fold :: Monoid m => UAddr m -> m # foldMap :: Monoid m => (a -> m) -> UAddr a -> m # foldMap' :: Monoid m => (a -> m) -> UAddr a -> m # foldr :: (a -> b -> b) -> b -> UAddr a -> b # foldr' :: (a -> b -> b) -> b -> UAddr a -> b # foldl :: (b -> a -> b) -> b -> UAddr a -> b # foldl' :: (b -> a -> b) -> b -> UAddr a -> b # foldr1 :: (a -> a -> a) -> UAddr a -> a # foldl1 :: (a -> a -> a) -> UAddr a -> a # elem :: Eq a => a -> UAddr a -> Bool # maximum :: Ord a => UAddr a -> a # minimum :: Ord a => UAddr a -> a # | |
Foldable (UChar :: Type -> Type) | Since: base-4.9.0.0 |
Defined in Data.Foldable Methods fold :: Monoid m => UChar m -> m # foldMap :: Monoid m => (a -> m) -> UChar a -> m # foldMap' :: Monoid m => (a -> m) -> UChar a -> m # foldr :: (a -> b -> b) -> b -> UChar a -> b # foldr' :: (a -> b -> b) -> b -> UChar a -> b # foldl :: (b -> a -> b) -> b -> UChar a -> b # foldl' :: (b -> a -> b) -> b -> UChar a -> b # foldr1 :: (a -> a -> a) -> UChar a -> a # foldl1 :: (a -> a -> a) -> UChar a -> a # elem :: Eq a => a -> UChar a -> Bool # maximum :: Ord a => UChar a -> a # minimum :: Ord a => UChar a -> a # | |
Foldable (UDouble :: Type -> Type) | Since: base-4.9.0.0 |
Defined in Data.Foldable Methods fold :: Monoid m => UDouble m -> m # foldMap :: Monoid m => (a -> m) -> UDouble a -> m # foldMap' :: Monoid m => (a -> m) -> UDouble a -> m # foldr :: (a -> b -> b) -> b -> UDouble a -> b # foldr' :: (a -> b -> b) -> b -> UDouble a -> b # foldl :: (b -> a -> b) -> b -> UDouble a -> b # foldl' :: (b -> a -> b) -> b -> UDouble a -> b # foldr1 :: (a -> a -> a) -> UDouble a -> a # foldl1 :: (a -> a -> a) -> UDouble a -> a # elem :: Eq a => a -> UDouble a -> Bool # maximum :: Ord a => UDouble a -> a # minimum :: Ord a => UDouble a -> a # | |
Foldable (UFloat :: Type -> Type) | Since: base-4.9.0.0 |
Defined in Data.Foldable Methods fold :: Monoid m => UFloat m -> m # foldMap :: Monoid m => (a -> m) -> UFloat a -> m # foldMap' :: Monoid m => (a -> m) -> UFloat a -> m # foldr :: (a -> b -> b) -> b -> UFloat a -> b # foldr' :: (a -> b -> b) -> b -> UFloat a -> b # foldl :: (b -> a -> b) -> b -> UFloat a -> b # foldl' :: (b -> a -> b) -> b -> UFloat a -> b # foldr1 :: (a -> a -> a) -> UFloat a -> a # foldl1 :: (a -> a -> a) -> UFloat a -> a # elem :: Eq a => a -> UFloat a -> Bool # maximum :: Ord a => UFloat a -> a # minimum :: Ord a => UFloat a -> a # | |
Foldable (UInt :: Type -> Type) | Since: base-4.9.0.0 |
Defined in Data.Foldable Methods fold :: Monoid m => UInt m -> m # foldMap :: Monoid m => (a -> m) -> UInt a -> m # foldMap' :: Monoid m => (a -> m) -> UInt a -> m # foldr :: (a -> b -> b) -> b -> UInt a -> b # foldr' :: (a -> b -> b) -> b -> UInt a -> b # foldl :: (b -> a -> b) -> b -> UInt a -> b # foldl' :: (b -> a -> b) -> b -> UInt a -> b # foldr1 :: (a -> a -> a) -> UInt a -> a # foldl1 :: (a -> a -> a) -> UInt a -> a # elem :: Eq a => a -> UInt a -> Bool # maximum :: Ord a => UInt a -> a # | |
Foldable (UWord :: Type -> Type) | Since: base-4.9.0.0 |
Defined in Data.Foldable Methods fold :: Monoid m => UWord m -> m # foldMap :: Monoid m => (a -> m) -> UWord a -> m # foldMap' :: Monoid m => (a -> m) -> UWord a -> m # foldr :: (a -> b -> b) -> b -> UWord a -> b # foldr' :: (a -> b -> b) -> b -> UWord a -> b # foldl :: (b -> a -> b) -> b -> UWord a -> b # foldl' :: (b -> a -> b) -> b -> UWord a -> b # foldr1 :: (a -> a -> a) -> UWord a -> a # foldl1 :: (a -> a -> a) -> UWord a -> a # elem :: Eq a => a -> UWord a -> Bool # maximum :: Ord a => UWord a -> a # minimum :: Ord a => UWord a -> a # | |
Foldable ((,) a) | Since: base-4.7.0.0 |
Defined in Data.Foldable Methods fold :: Monoid m => (a, m) -> m # foldMap :: Monoid m => (a0 -> m) -> (a, a0) -> m # foldMap' :: Monoid m => (a0 -> m) -> (a, a0) -> m # foldr :: (a0 -> b -> b) -> b -> (a, a0) -> b # foldr' :: (a0 -> b -> b) -> b -> (a, a0) -> b # foldl :: (b -> a0 -> b) -> b -> (a, a0) -> b # foldl' :: (b -> a0 -> b) -> b -> (a, a0) -> b # foldr1 :: (a0 -> a0 -> a0) -> (a, a0) -> a0 # foldl1 :: (a0 -> a0 -> a0) -> (a, a0) -> a0 # elem :: Eq a0 => a0 -> (a, a0) -> Bool # maximum :: Ord a0 => (a, a0) -> a0 # minimum :: Ord a0 => (a, a0) -> a0 # | |
Foldable (Map k) | Folds in order of increasing key. |
Defined in Data.Map.Internal Methods fold :: Monoid m => Map k m -> m # foldMap :: Monoid m => (a -> m) -> Map k a -> m # foldMap' :: Monoid m => (a -> m) -> Map k a -> m # foldr :: (a -> b -> b) -> b -> Map k a -> b # foldr' :: (a -> b -> b) -> b -> Map k a -> b # foldl :: (b -> a -> b) -> b -> Map k a -> b # foldl' :: (b -> a -> b) -> b -> Map k a -> b # foldr1 :: (a -> a -> a) -> Map k a -> a # foldl1 :: (a -> a -> a) -> Map k a -> a # elem :: Eq a => a -> Map k a -> Bool # maximum :: Ord a => Map k a -> a # minimum :: Ord a => Map k a -> a # | |
Foldable (Proxy :: Type -> Type) | Since: base-4.7.0.0 |
Defined in Data.Foldable Methods fold :: Monoid m => Proxy m -> m # foldMap :: Monoid m => (a -> m) -> Proxy a -> m # foldMap' :: Monoid m => (a -> m) -> Proxy a -> m # foldr :: (a -> b -> b) -> b -> Proxy a -> b # foldr' :: (a -> b -> b) -> b -> Proxy a -> b # foldl :: (b -> a -> b) -> b -> Proxy a -> b # foldl' :: (b -> a -> b) -> b -> Proxy a -> b # foldr1 :: (a -> a -> a) -> Proxy a -> a # foldl1 :: (a -> a -> a) -> Proxy a -> a # elem :: Eq a => a -> Proxy a -> Bool # maximum :: Ord a => Proxy a -> a # minimum :: Ord a => Proxy a -> a # | |
Foldable (Array i) | Since: base-4.8.0.0 |
Defined in Data.Foldable Methods fold :: Monoid m => Array i m -> m # foldMap :: Monoid m => (a -> m) -> Array i a -> m # foldMap' :: Monoid m => (a -> m) -> Array i a -> m # foldr :: (a -> b -> b) -> b -> Array i a -> b # foldr' :: (a -> b -> b) -> b -> Array i a -> b # foldl :: (b -> a -> b) -> b -> Array i a -> b # foldl' :: (b -> a -> b) -> b -> Array i a -> b # foldr1 :: (a -> a -> a) -> Array i a -> a # foldl1 :: (a -> a -> a) -> Array i a -> a # elem :: Eq a => a -> Array i a -> Bool # maximum :: Ord a => Array i a -> a # minimum :: Ord a => Array i a -> a # | |
Foldable (Arg a) | Since: base-4.9.0.0 |
Defined in Data.Semigroup Methods fold :: Monoid m => Arg a m -> m # foldMap :: Monoid m => (a0 -> m) -> Arg a a0 -> m # foldMap' :: Monoid m => (a0 -> m) -> Arg a a0 -> m # foldr :: (a0 -> b -> b) -> b -> Arg a a0 -> b # foldr' :: (a0 -> b -> b) -> b -> Arg a a0 -> b # foldl :: (b -> a0 -> b) -> b -> Arg a a0 -> b # foldl' :: (b -> a0 -> b) -> b -> Arg a a0 -> b # foldr1 :: (a0 -> a0 -> a0) -> Arg a a0 -> a0 # foldl1 :: (a0 -> a0 -> a0) -> Arg a a0 -> a0 # elem :: Eq a0 => a0 -> Arg a a0 -> Bool # maximum :: Ord a0 => Arg a a0 -> a0 # minimum :: Ord a0 => Arg a a0 -> a0 # | |
Foldable f => Foldable (MaybeT f) | |
Defined in Control.Monad.Trans.Maybe Methods fold :: Monoid m => MaybeT f m -> m # foldMap :: Monoid m => (a -> m) -> MaybeT f a -> m # foldMap' :: Monoid m => (a -> m) -> MaybeT f a -> m # foldr :: (a -> b -> b) -> b -> MaybeT f a -> b # foldr' :: (a -> b -> b) -> b -> MaybeT f a -> b # foldl :: (b -> a -> b) -> b -> MaybeT f a -> b # foldl' :: (b -> a -> b) -> b -> MaybeT f a -> b # foldr1 :: (a -> a -> a) -> MaybeT f a -> a # foldl1 :: (a -> a -> a) -> MaybeT f a -> a # elem :: Eq a => a -> MaybeT f a -> Bool # maximum :: Ord a => MaybeT f a -> a # minimum :: Ord a => MaybeT f a -> a # | |
Foldable f => Foldable (ListT f) | |
Defined in Control.Monad.Trans.List Methods fold :: Monoid m => ListT f m -> m # foldMap :: Monoid m => (a -> m) -> ListT f a -> m # foldMap' :: Monoid m => (a -> m) -> ListT f a -> m # foldr :: (a -> b -> b) -> b -> ListT f a -> b # foldr' :: (a -> b -> b) -> b -> ListT f a -> b # foldl :: (b -> a -> b) -> b -> ListT f a -> b # foldl' :: (b -> a -> b) -> b -> ListT f a -> b # foldr1 :: (a -> a -> a) -> ListT f a -> a # foldl1 :: (a -> a -> a) -> ListT f a -> a # elem :: Eq a => a -> ListT f a -> Bool # maximum :: Ord a => ListT f a -> a # minimum :: Ord a => ListT f a -> a # | |
Foldable (HashMap k) | |
Defined in Data.HashMap.Internal Methods fold :: Monoid m => HashMap k m -> m # foldMap :: Monoid m => (a -> m) -> HashMap k a -> m # foldMap' :: Monoid m => (a -> m) -> HashMap k a -> m # foldr :: (a -> b -> b) -> b -> HashMap k a -> b # foldr' :: (a -> b -> b) -> b -> HashMap k a -> b # foldl :: (b -> a -> b) -> b -> HashMap k a -> b # foldl' :: (b -> a -> b) -> b -> HashMap k a -> b # foldr1 :: (a -> a -> a) -> HashMap k a -> a # foldl1 :: (a -> a -> a) -> HashMap k a -> a # toList :: HashMap k a -> [a] # length :: HashMap k a -> Int # elem :: Eq a => a -> HashMap k a -> Bool # maximum :: Ord a => HashMap k a -> a # minimum :: Ord a => HashMap k a -> a # | |
Foldable f => Foldable (Cofree f) | |
Defined in Control.Comonad.Cofree Methods fold :: Monoid m => Cofree f m -> m # foldMap :: Monoid m => (a -> m) -> Cofree f a -> m # foldMap' :: Monoid m => (a -> m) -> Cofree f a -> m # foldr :: (a -> b -> b) -> b -> Cofree f a -> b # foldr' :: (a -> b -> b) -> b -> Cofree f a -> b # foldl :: (b -> a -> b) -> b -> Cofree f a -> b # foldl' :: (b -> a -> b) -> b -> Cofree f a -> b # foldr1 :: (a -> a -> a) -> Cofree f a -> a # foldl1 :: (a -> a -> a) -> Cofree f a -> a # elem :: Eq a => a -> Cofree f a -> Bool # maximum :: Ord a => Cofree f a -> a # minimum :: Ord a => Cofree f a -> a # | |
Foldable (Level i) | |
Defined in Control.Lens.Internal.Level Methods fold :: Monoid m => Level i m -> m # foldMap :: Monoid m => (a -> m) -> Level i a -> m # foldMap' :: Monoid m => (a -> m) -> Level i a -> m # foldr :: (a -> b -> b) -> b -> Level i a -> b # foldr' :: (a -> b -> b) -> b -> Level i a -> b # foldl :: (b -> a -> b) -> b -> Level i a -> b # foldl' :: (b -> a -> b) -> b -> Level i a -> b # foldr1 :: (a -> a -> a) -> Level i a -> a # foldl1 :: (a -> a -> a) -> Level i a -> a # elem :: Eq a => a -> Level i a -> Bool # maximum :: Ord a => Level i a -> a # minimum :: Ord a => Level i a -> a # | |
Foldable (These a) | |
Defined in Data.These Methods fold :: Monoid m => These a m -> m # foldMap :: Monoid m => (a0 -> m) -> These a a0 -> m # foldMap' :: Monoid m => (a0 -> m) -> These a a0 -> m # foldr :: (a0 -> b -> b) -> b -> These a a0 -> b # foldr' :: (a0 -> b -> b) -> b -> These a a0 -> b # foldl :: (b -> a0 -> b) -> b -> These a a0 -> b # foldl' :: (b -> a0 -> b) -> b -> These a a0 -> b # foldr1 :: (a0 -> a0 -> a0) -> These a a0 -> a0 # foldl1 :: (a0 -> a0 -> a0) -> These a a0 -> a0 # toList :: These a a0 -> [a0] # elem :: Eq a0 => a0 -> These a a0 -> Bool # maximum :: Ord a0 => These a a0 -> a0 # minimum :: Ord a0 => These a a0 -> a0 # | |
Foldable (T2 a) | |
Defined in Data.Tuple.Strict.T2 Methods fold :: Monoid m => T2 a m -> m # foldMap :: Monoid m => (a0 -> m) -> T2 a a0 -> m # foldMap' :: Monoid m => (a0 -> m) -> T2 a a0 -> m # foldr :: (a0 -> b -> b) -> b -> T2 a a0 -> b # foldr' :: (a0 -> b -> b) -> b -> T2 a a0 -> b # foldl :: (b -> a0 -> b) -> b -> T2 a a0 -> b # foldl' :: (b -> a0 -> b) -> b -> T2 a a0 -> b # foldr1 :: (a0 -> a0 -> a0) -> T2 a a0 -> a0 # foldl1 :: (a0 -> a0 -> a0) -> T2 a a0 -> a0 # elem :: Eq a0 => a0 -> T2 a a0 -> Bool # maximum :: Ord a0 => T2 a a0 -> a0 # minimum :: Ord a0 => T2 a a0 -> a0 # | |
Foldable (NEMap k) | |
Defined in Data.Map.NonEmpty.Internal Methods fold :: Monoid m => NEMap k m -> m # foldMap :: Monoid m => (a -> m) -> NEMap k a -> m # foldMap' :: Monoid m => (a -> m) -> NEMap k a -> m # foldr :: (a -> b -> b) -> b -> NEMap k a -> b # foldr' :: (a -> b -> b) -> b -> NEMap k a -> b # foldl :: (b -> a -> b) -> b -> NEMap k a -> b # foldl' :: (b -> a -> b) -> b -> NEMap k a -> b # foldr1 :: (a -> a -> a) -> NEMap k a -> a # foldl1 :: (a -> a -> a) -> NEMap k a -> a # elem :: Eq a => a -> NEMap k a -> Bool # maximum :: Ord a => NEMap k a -> a # minimum :: Ord a => NEMap k a -> a # | |
Foldable f => Foldable (Free f) | |
Defined in Control.Monad.Free Methods fold :: Monoid m => Free f m -> m # foldMap :: Monoid m => (a -> m) -> Free f a -> m # foldMap' :: Monoid m => (a -> m) -> Free f a -> m # foldr :: (a -> b -> b) -> b -> Free f a -> b # foldr' :: (a -> b -> b) -> b -> Free f a -> b # foldl :: (b -> a -> b) -> b -> Free f a -> b # foldl' :: (b -> a -> b) -> b -> Free f a -> b # foldr1 :: (a -> a -> a) -> Free f a -> a # foldl1 :: (a -> a -> a) -> Free f a -> a # elem :: Eq a => a -> Free f a -> Bool # maximum :: Ord a => Free f a -> a # minimum :: Ord a => Free f a -> a # | |
Foldable f => Foldable (Yoneda f) | |
Defined in Data.Functor.Yoneda Methods fold :: Monoid m => Yoneda f m -> m # foldMap :: Monoid m => (a -> m) -> Yoneda f a -> m # foldMap' :: Monoid m => (a -> m) -> Yoneda f a -> m # foldr :: (a -> b -> b) -> b -> Yoneda f a -> b # foldr' :: (a -> b -> b) -> b -> Yoneda f a -> b # foldl :: (b -> a -> b) -> b -> Yoneda f a -> b # foldl' :: (b -> a -> b) -> b -> Yoneda f a -> b # foldr1 :: (a -> a -> a) -> Yoneda f a -> a # foldl1 :: (a -> a -> a) -> Yoneda f a -> a # elem :: Eq a => a -> Yoneda f a -> Bool # maximum :: Ord a => Yoneda f a -> a # minimum :: Ord a => Yoneda f a -> a # | |
Foldable (Pair e) | |
Defined in Data.Strict.Tuple Methods fold :: Monoid m => Pair e m -> m # foldMap :: Monoid m => (a -> m) -> Pair e a -> m # foldMap' :: Monoid m => (a -> m) -> Pair e a -> m # foldr :: (a -> b -> b) -> b -> Pair e a -> b # foldr' :: (a -> b -> b) -> b -> Pair e a -> b # foldl :: (b -> a -> b) -> b -> Pair e a -> b # foldl' :: (b -> a -> b) -> b -> Pair e a -> b # foldr1 :: (a -> a -> a) -> Pair e a -> a # foldl1 :: (a -> a -> a) -> Pair e a -> a # elem :: Eq a => a -> Pair e a -> Bool # maximum :: Ord a => Pair e a -> a # minimum :: Ord a => Pair e a -> a # | |
Foldable (Either e) | |
Defined in Data.Strict.Either Methods fold :: Monoid m => Either e m -> m # foldMap :: Monoid m => (a -> m) -> Either e a -> m # foldMap' :: Monoid m => (a -> m) -> Either e a -> m # foldr :: (a -> b -> b) -> b -> Either e a -> b # foldr' :: (a -> b -> b) -> b -> Either e a -> b # foldl :: (b -> a -> b) -> b -> Either e a -> b # foldl' :: (b -> a -> b) -> b -> Either e a -> b # foldr1 :: (a -> a -> a) -> Either e a -> a # foldl1 :: (a -> a -> a) -> Either e a -> a # elem :: Eq a => a -> Either e a -> Bool # maximum :: Ord a => Either e a -> a # minimum :: Ord a => Either e a -> a # | |
Foldable (These a) | |
Defined in Data.Strict.These Methods fold :: Monoid m => These a m -> m # foldMap :: Monoid m => (a0 -> m) -> These a a0 -> m # foldMap' :: Monoid m => (a0 -> m) -> These a a0 -> m # foldr :: (a0 -> b -> b) -> b -> These a a0 -> b # foldr' :: (a0 -> b -> b) -> b -> These a a0 -> b # foldl :: (b -> a0 -> b) -> b -> These a a0 -> b # foldl' :: (b -> a0 -> b) -> b -> These a a0 -> b # foldr1 :: (a0 -> a0 -> a0) -> These a a0 -> a0 # foldl1 :: (a0 -> a0 -> a0) -> These a a0 -> a0 # toList :: These a a0 -> [a0] # elem :: Eq a0 => a0 -> These a a0 -> Bool # maximum :: Ord a0 => These a a0 -> a0 # minimum :: Ord a0 => These a a0 -> a0 # | |
Foldable (ListF a) | |
Defined in Data.Functor.Base Methods fold :: Monoid m => ListF a m -> m # foldMap :: Monoid m => (a0 -> m) -> ListF a a0 -> m # foldMap' :: Monoid m => (a0 -> m) -> ListF a a0 -> m # foldr :: (a0 -> b -> b) -> b -> ListF a a0 -> b # foldr' :: (a0 -> b -> b) -> b -> ListF a a0 -> b # foldl :: (b -> a0 -> b) -> b -> ListF a a0 -> b # foldl' :: (b -> a0 -> b) -> b -> ListF a a0 -> b # foldr1 :: (a0 -> a0 -> a0) -> ListF a a0 -> a0 # foldl1 :: (a0 -> a0 -> a0) -> ListF a a0 -> a0 # toList :: ListF a a0 -> [a0] # elem :: Eq a0 => a0 -> ListF a a0 -> Bool # maximum :: Ord a0 => ListF a a0 -> a0 # minimum :: Ord a0 => ListF a a0 -> a0 # | |
Foldable f => Foldable (F f) | |
Defined in Control.Monad.Free.Church Methods fold :: Monoid m => F f m -> m # foldMap :: Monoid m => (a -> m) -> F f a -> m # foldMap' :: Monoid m => (a -> m) -> F f a -> m # foldr :: (a -> b -> b) -> b -> F f a -> b # foldr' :: (a -> b -> b) -> b -> F f a -> b # foldl :: (b -> a -> b) -> b -> F f a -> b # foldl' :: (b -> a -> b) -> b -> F f a -> b # foldr1 :: (a -> a -> a) -> F f a -> a # foldl1 :: (a -> a -> a) -> F f a -> a # elem :: Eq a => a -> F f a -> Bool # maximum :: Ord a => F f a -> a # | |
Foldable (NonEmptyF a) | |
Defined in Data.Functor.Base Methods fold :: Monoid m => NonEmptyF a m -> m # foldMap :: Monoid m => (a0 -> m) -> NonEmptyF a a0 -> m # foldMap' :: Monoid m => (a0 -> m) -> NonEmptyF a a0 -> m # foldr :: (a0 -> b -> b) -> b -> NonEmptyF a a0 -> b # foldr' :: (a0 -> b -> b) -> b -> NonEmptyF a a0 -> b # foldl :: (b -> a0 -> b) -> b -> NonEmptyF a a0 -> b # foldl' :: (b -> a0 -> b) -> b -> NonEmptyF a a0 -> b # foldr1 :: (a0 -> a0 -> a0) -> NonEmptyF a a0 -> a0 # foldl1 :: (a0 -> a0 -> a0) -> NonEmptyF a a0 -> a0 # toList :: NonEmptyF a a0 -> [a0] # null :: NonEmptyF a a0 -> Bool # length :: NonEmptyF a a0 -> Int # elem :: Eq a0 => a0 -> NonEmptyF a a0 -> Bool # maximum :: Ord a0 => NonEmptyF a a0 -> a0 # minimum :: Ord a0 => NonEmptyF a a0 -> a0 # | |
Foldable (TreeF a) | |
Defined in Data.Functor.Base Methods fold :: Monoid m => TreeF a m -> m # foldMap :: Monoid m => (a0 -> m) -> TreeF a a0 -> m # foldMap' :: Monoid m => (a0 -> m) -> TreeF a a0 -> m # foldr :: (a0 -> b -> b) -> b -> TreeF a a0 -> b # foldr' :: (a0 -> b -> b) -> b -> TreeF a a0 -> b # foldl :: (b -> a0 -> b) -> b -> TreeF a a0 -> b # foldl' :: (b -> a0 -> b) -> b -> TreeF a a0 -> b # foldr1 :: (a0 -> a0 -> a0) -> TreeF a a0 -> a0 # foldl1 :: (a0 -> a0 -> a0) -> TreeF a a0 -> a0 # toList :: TreeF a a0 -> [a0] # elem :: Eq a0 => a0 -> TreeF a a0 -> Bool # maximum :: Ord a0 => TreeF a a0 -> a0 # minimum :: Ord a0 => TreeF a a0 -> a0 # | |
Foldable (IntPSQ p) | |
Defined in Data.IntPSQ.Internal Methods fold :: Monoid m => IntPSQ p m -> m # foldMap :: Monoid m => (a -> m) -> IntPSQ p a -> m # foldMap' :: Monoid m => (a -> m) -> IntPSQ p a -> m # foldr :: (a -> b -> b) -> b -> IntPSQ p a -> b # foldr' :: (a -> b -> b) -> b -> IntPSQ p a -> b # foldl :: (b -> a -> b) -> b -> IntPSQ p a -> b # foldl' :: (b -> a -> b) -> b -> IntPSQ p a -> b # foldr1 :: (a -> a -> a) -> IntPSQ p a -> a # foldl1 :: (a -> a -> a) -> IntPSQ p a -> a # elem :: Eq a => a -> IntPSQ p a -> Bool # maximum :: Ord a => IntPSQ p a -> a # minimum :: Ord a => IntPSQ p a -> a # | |
Foldable (Product a) | |
Defined in Data.Aeson.Config.Types Methods fold :: Monoid m => Product a m -> m # foldMap :: Monoid m => (a0 -> m) -> Product a a0 -> m # foldMap' :: Monoid m => (a0 -> m) -> Product a a0 -> m # foldr :: (a0 -> b -> b) -> b -> Product a a0 -> b # foldr' :: (a0 -> b -> b) -> b -> Product a a0 -> b # foldl :: (b -> a0 -> b) -> b -> Product a a0 -> b # foldl' :: (b -> a0 -> b) -> b -> Product a a0 -> b # foldr1 :: (a0 -> a0 -> a0) -> Product a a0 -> a0 # foldl1 :: (a0 -> a0 -> a0) -> Product a a0 -> a0 # toList :: Product a a0 -> [a0] # null :: Product a a0 -> Bool # length :: Product a a0 -> Int # elem :: Eq a0 => a0 -> Product a a0 -> Bool # maximum :: Ord a0 => Product a a0 -> a0 # minimum :: Ord a0 => Product a a0 -> a0 # | |
Foldable (RequestF body) | |
Defined in Servant.Client.Core.Request Methods fold :: Monoid m => RequestF body m -> m # foldMap :: Monoid m => (a -> m) -> RequestF body a -> m # foldMap' :: Monoid m => (a -> m) -> RequestF body a -> m # foldr :: (a -> b -> b) -> b -> RequestF body a -> b # foldr' :: (a -> b -> b) -> b -> RequestF body a -> b # foldl :: (b -> a -> b) -> b -> RequestF body a -> b # foldl' :: (b -> a -> b) -> b -> RequestF body a -> b # foldr1 :: (a -> a -> a) -> RequestF body a -> a # foldl1 :: (a -> a -> a) -> RequestF body a -> a # toList :: RequestF body a -> [a] # null :: RequestF body a -> Bool # length :: RequestF body a -> Int # elem :: Eq a => a -> RequestF body a -> Bool # maximum :: Ord a => RequestF body a -> a # minimum :: Ord a => RequestF body a -> a # | |
Foldable (MonoidalMap k) | |
Defined in Data.Map.Monoidal.Strict Methods fold :: Monoid m => MonoidalMap k m -> m # foldMap :: Monoid m => (a -> m) -> MonoidalMap k a -> m # foldMap' :: Monoid m => (a -> m) -> MonoidalMap k a -> m # foldr :: (a -> b -> b) -> b -> MonoidalMap k a -> b # foldr' :: (a -> b -> b) -> b -> MonoidalMap k a -> b # foldl :: (b -> a -> b) -> b -> MonoidalMap k a -> b # foldl' :: (b -> a -> b) -> b -> MonoidalMap k a -> b # foldr1 :: (a -> a -> a) -> MonoidalMap k a -> a # foldl1 :: (a -> a -> a) -> MonoidalMap k a -> a # toList :: MonoidalMap k a -> [a] # null :: MonoidalMap k a -> Bool # length :: MonoidalMap k a -> Int # elem :: Eq a => a -> MonoidalMap k a -> Bool # maximum :: Ord a => MonoidalMap k a -> a # minimum :: Ord a => MonoidalMap k a -> a # | |
Ord k => Foldable (IntervalMap k) | |
Defined in Data.IntervalMap.Base Methods fold :: Monoid m => IntervalMap k m -> m # foldMap :: Monoid m => (a -> m) -> IntervalMap k a -> m # foldMap' :: Monoid m => (a -> m) -> IntervalMap k a -> m # foldr :: (a -> b -> b) -> b -> IntervalMap k a -> b # foldr' :: (a -> b -> b) -> b -> IntervalMap k a -> b # foldl :: (b -> a -> b) -> b -> IntervalMap k a -> b # foldl' :: (b -> a -> b) -> b -> IntervalMap k a -> b # foldr1 :: (a -> a -> a) -> IntervalMap k a -> a # foldl1 :: (a -> a -> a) -> IntervalMap k a -> a # toList :: IntervalMap k a -> [a] # null :: IntervalMap k a -> Bool # length :: IntervalMap k a -> Int # elem :: Eq a => a -> IntervalMap k a -> Bool # maximum :: Ord a => IntervalMap k a -> a # minimum :: Ord a => IntervalMap k a -> a # | |
Foldable (Refined p) | |
Defined in Refined.Unsafe.Type Methods fold :: Monoid m => Refined p m -> m # foldMap :: Monoid m => (a -> m) -> Refined p a -> m # foldMap' :: Monoid m => (a -> m) -> Refined p a -> m # foldr :: (a -> b -> b) -> b -> Refined p a -> b # foldr' :: (a -> b -> b) -> b -> Refined p a -> b # foldl :: (b -> a -> b) -> b -> Refined p a -> b # foldl' :: (b -> a -> b) -> b -> Refined p a -> b # foldr1 :: (a -> a -> a) -> Refined p a -> a # foldl1 :: (a -> a -> a) -> Refined p a -> a # toList :: Refined p a -> [a] # length :: Refined p a -> Int # elem :: Eq a => a -> Refined p a -> Bool # maximum :: Ord a => Refined p a -> a # minimum :: Ord a => Refined p a -> a # | |
Foldable (These a) | |
Defined in Data.These Methods fold :: Monoid m => These a m -> m # foldMap :: Monoid m => (a0 -> m) -> These a a0 -> m # foldMap' :: Monoid m => (a0 -> m) -> These a a0 -> m # foldr :: (a0 -> b -> b) -> b -> These a a0 -> b # foldr' :: (a0 -> b -> b) -> b -> These a a0 -> b # foldl :: (b -> a0 -> b) -> b -> These a a0 -> b # foldl' :: (b -> a0 -> b) -> b -> These a a0 -> b # foldr1 :: (a0 -> a0 -> a0) -> These a a0 -> a0 # foldl1 :: (a0 -> a0 -> a0) -> These a a0 -> a0 # toList :: These a a0 -> [a0] # elem :: Eq a0 => a0 -> These a a0 -> Bool # maximum :: Ord a0 => These a a0 -> a0 # minimum :: Ord a0 => These a a0 -> a0 # | |
TraversableB b => Foldable (Container b) | |
Defined in Barbies.Internal.Containers Methods fold :: Monoid m => Container b m -> m # foldMap :: Monoid m => (a -> m) -> Container b a -> m # foldMap' :: Monoid m => (a -> m) -> Container b a -> m # foldr :: (a -> b0 -> b0) -> b0 -> Container b a -> b0 # foldr' :: (a -> b0 -> b0) -> b0 -> Container b a -> b0 # foldl :: (b0 -> a -> b0) -> b0 -> Container b a -> b0 # foldl' :: (b0 -> a -> b0) -> b0 -> Container b a -> b0 # foldr1 :: (a -> a -> a) -> Container b a -> a # foldl1 :: (a -> a -> a) -> Container b a -> a # toList :: Container b a -> [a] # null :: Container b a -> Bool # length :: Container b a -> Int # elem :: Eq a => a -> Container b a -> Bool # maximum :: Ord a => Container b a -> a # minimum :: Ord a => Container b a -> a # | |
TraversableB b => Foldable (ErrorContainer b) | |
Defined in Barbies.Internal.Containers Methods fold :: Monoid m => ErrorContainer b m -> m # foldMap :: Monoid m => (a -> m) -> ErrorContainer b a -> m # foldMap' :: Monoid m => (a -> m) -> ErrorContainer b a -> m # foldr :: (a -> b0 -> b0) -> b0 -> ErrorContainer b a -> b0 # foldr' :: (a -> b0 -> b0) -> b0 -> ErrorContainer b a -> b0 # foldl :: (b0 -> a -> b0) -> b0 -> ErrorContainer b a -> b0 # foldl' :: (b0 -> a -> b0) -> b0 -> ErrorContainer b a -> b0 # foldr1 :: (a -> a -> a) -> ErrorContainer b a -> a # foldl1 :: (a -> a -> a) -> ErrorContainer b a -> a # toList :: ErrorContainer b a -> [a] # null :: ErrorContainer b a -> Bool # length :: ErrorContainer b a -> Int # elem :: Eq a => a -> ErrorContainer b a -> Bool # maximum :: Ord a => ErrorContainer b a -> a # minimum :: Ord a => ErrorContainer b a -> a # | |
Foldable (Vec n) | |
Defined in Data.Vec.Lazy Methods fold :: Monoid m => Vec n m -> m # foldMap :: Monoid m => (a -> m) -> Vec n a -> m # foldMap' :: Monoid m => (a -> m) -> Vec n a -> m # foldr :: (a -> b -> b) -> b -> Vec n a -> b # foldr' :: (a -> b -> b) -> b -> Vec n a -> b # foldl :: (b -> a -> b) -> b -> Vec n a -> b # foldl' :: (b -> a -> b) -> b -> Vec n a -> b # foldr1 :: (a -> a -> a) -> Vec n a -> a # foldl1 :: (a -> a -> a) -> Vec n a -> a # elem :: Eq a => a -> Vec n a -> Bool # maximum :: Ord a => Vec n a -> a # minimum :: Ord a => Vec n a -> a # | |
SNatI n => Foldable (Vec n) | |
Defined in Data.Vec.Pull Methods fold :: Monoid m => Vec n m -> m # foldMap :: Monoid m => (a -> m) -> Vec n a -> m # foldMap' :: Monoid m => (a -> m) -> Vec n a -> m # foldr :: (a -> b -> b) -> b -> Vec n a -> b # foldr' :: (a -> b -> b) -> b -> Vec n a -> b # foldl :: (b -> a -> b) -> b -> Vec n a -> b # foldl' :: (b -> a -> b) -> b -> Vec n a -> b # foldr1 :: (a -> a -> a) -> Vec n a -> a # foldl1 :: (a -> a -> a) -> Vec n a -> a # elem :: Eq a => a -> Vec n a -> Bool # maximum :: Ord a => Vec n a -> a # minimum :: Ord a => Vec n a -> a # | |
MonoFoldable mono => Foldable (WrappedMono mono) | |
Defined in Data.MonoTraversable Methods fold :: Monoid m => WrappedMono mono m -> m # foldMap :: Monoid m => (a -> m) -> WrappedMono mono a -> m # foldMap' :: Monoid m => (a -> m) -> WrappedMono mono a -> m # foldr :: (a -> b -> b) -> b -> WrappedMono mono a -> b # foldr' :: (a -> b -> b) -> b -> WrappedMono mono a -> b # foldl :: (b -> a -> b) -> b -> WrappedMono mono a -> b # foldl' :: (b -> a -> b) -> b -> WrappedMono mono a -> b # foldr1 :: (a -> a -> a) -> WrappedMono mono a -> a # foldl1 :: (a -> a -> a) -> WrappedMono mono a -> a # toList :: WrappedMono mono a -> [a] # null :: WrappedMono mono a -> Bool # length :: WrappedMono mono a -> Int # elem :: Eq a => a -> WrappedMono mono a -> Bool # maximum :: Ord a => WrappedMono mono a -> a # minimum :: Ord a => WrappedMono mono a -> a # | |
Foldable f => Foldable (WrappedPoly f) | |
Defined in Data.MonoTraversable Methods fold :: Monoid m => WrappedPoly f m -> m # foldMap :: Monoid m => (a -> m) -> WrappedPoly f a -> m # foldMap' :: Monoid m => (a -> m) -> WrappedPoly f a -> m # foldr :: (a -> b -> b) -> b -> WrappedPoly f a -> b # foldr' :: (a -> b -> b) -> b -> WrappedPoly f a -> b # foldl :: (b -> a -> b) -> b -> WrappedPoly f a -> b # foldl' :: (b -> a -> b) -> b -> WrappedPoly f a -> b # foldr1 :: (a -> a -> a) -> WrappedPoly f a -> a # foldl1 :: (a -> a -> a) -> WrappedPoly f a -> a # toList :: WrappedPoly f a -> [a] # null :: WrappedPoly f a -> Bool # length :: WrappedPoly f a -> Int # elem :: Eq a => a -> WrappedPoly f a -> Bool # maximum :: Ord a => WrappedPoly f a -> a # minimum :: Ord a => WrappedPoly f a -> a # | |
Foldable v => Foldable (Bootstrap v) | |
Defined in Statistics.Resampling Methods fold :: Monoid m => Bootstrap v m -> m # foldMap :: Monoid m => (a -> m) -> Bootstrap v a -> m # foldMap' :: Monoid m => (a -> m) -> Bootstrap v a -> m # foldr :: (a -> b -> b) -> b -> Bootstrap v a -> b # foldr' :: (a -> b -> b) -> b -> Bootstrap v a -> b # foldl :: (b -> a -> b) -> b -> Bootstrap v a -> b # foldl' :: (b -> a -> b) -> b -> Bootstrap v a -> b # foldr1 :: (a -> a -> a) -> Bootstrap v a -> a # foldl1 :: (a -> a -> a) -> Bootstrap v a -> a # toList :: Bootstrap v a -> [a] # null :: Bootstrap v a -> Bool # length :: Bootstrap v a -> Int # elem :: Eq a => a -> Bootstrap v a -> Bool # maximum :: Ord a => Bootstrap v a -> a # minimum :: Ord a => Bootstrap v a -> a # | |
Foldable f => Foldable (Rec1 f) | Since: base-4.9.0.0 |
Defined in Data.Foldable Methods fold :: Monoid m => Rec1 f m -> m # foldMap :: Monoid m => (a -> m) -> Rec1 f a -> m # foldMap' :: Monoid m => (a -> m) -> Rec1 f a -> m # foldr :: (a -> b -> b) -> b -> Rec1 f a -> b # foldr' :: (a -> b -> b) -> b -> Rec1 f a -> b # foldl :: (b -> a -> b) -> b -> Rec1 f a -> b # foldl' :: (b -> a -> b) -> b -> Rec1 f a -> b # foldr1 :: (a -> a -> a) -> Rec1 f a -> a # foldl1 :: (a -> a -> a) -> Rec1 f a -> a # elem :: Eq a => a -> Rec1 f a -> Bool # maximum :: Ord a => Rec1 f a -> a # minimum :: Ord a => Rec1 f a -> a # | |
Foldable (Const m :: Type -> Type) | Since: base-4.7.0.0 |
Defined in Data.Functor.Const Methods fold :: Monoid m0 => Const m m0 -> m0 # foldMap :: Monoid m0 => (a -> m0) -> Const m a -> m0 # foldMap' :: Monoid m0 => (a -> m0) -> Const m a -> m0 # foldr :: (a -> b -> b) -> b -> Const m a -> b # foldr' :: (a -> b -> b) -> b -> Const m a -> b # foldl :: (b -> a -> b) -> b -> Const m a -> b # foldl' :: (b -> a -> b) -> b -> Const m a -> b # foldr1 :: (a -> a -> a) -> Const m a -> a # foldl1 :: (a -> a -> a) -> Const m a -> a # elem :: Eq a => a -> Const m a -> Bool # maximum :: Ord a => Const m a -> a # minimum :: Ord a => Const m a -> a # | |
Foldable f => Foldable (Ap f) | Since: base-4.12.0.0 |
Defined in Data.Foldable Methods fold :: Monoid m => Ap f m -> m # foldMap :: Monoid m => (a -> m) -> Ap f a -> m # foldMap' :: Monoid m => (a -> m) -> Ap f a -> m # foldr :: (a -> b -> b) -> b -> Ap f a -> b # foldr' :: (a -> b -> b) -> b -> Ap f a -> b # foldl :: (b -> a -> b) -> b -> Ap f a -> b # foldl' :: (b -> a -> b) -> b -> Ap f a -> b # foldr1 :: (a -> a -> a) -> Ap f a -> a # foldl1 :: (a -> a -> a) -> Ap f a -> a # elem :: Eq a => a -> Ap f a -> Bool # maximum :: Ord a => Ap f a -> a # | |
Foldable f => Foldable (Alt f) | Since: base-4.12.0.0 |
Defined in Data.Foldable Methods fold :: Monoid m => Alt f m -> m # foldMap :: Monoid m => (a -> m) -> Alt f a -> m # foldMap' :: Monoid m => (a -> m) -> Alt f a -> m # foldr :: (a -> b -> b) -> b -> Alt f a -> b # foldr' :: (a -> b -> b) -> b -> Alt f a -> b # foldl :: (b -> a -> b) -> b -> Alt f a -> b # foldl' :: (b -> a -> b) -> b -> Alt f a -> b # foldr1 :: (a -> a -> a) -> Alt f a -> a # foldl1 :: (a -> a -> a) -> Alt f a -> a # elem :: Eq a => a -> Alt f a -> Bool # maximum :: Ord a => Alt f a -> a # minimum :: Ord a => Alt f a -> a # | |
Foldable f => Foldable (ExceptT e f) | |
Defined in Control.Monad.Trans.Except Methods fold :: Monoid m => ExceptT e f m -> m # foldMap :: Monoid m => (a -> m) -> ExceptT e f a -> m # foldMap' :: Monoid m => (a -> m) -> ExceptT e f a -> m # foldr :: (a -> b -> b) -> b -> ExceptT e f a -> b # foldr' :: (a -> b -> b) -> b -> ExceptT e f a -> b # foldl :: (b -> a -> b) -> b -> ExceptT e f a -> b # foldl' :: (b -> a -> b) -> b -> ExceptT e f a -> b # foldr1 :: (a -> a -> a) -> ExceptT e f a -> a # foldl1 :: (a -> a -> a) -> ExceptT e f a -> a # toList :: ExceptT e f a -> [a] # null :: ExceptT e f a -> Bool # length :: ExceptT e f a -> Int # elem :: Eq a => a -> ExceptT e f a -> Bool # maximum :: Ord a => ExceptT e f a -> a # minimum :: Ord a => ExceptT e f a -> a # | |
Foldable f => Foldable (IdentityT f) | |
Defined in Control.Monad.Trans.Identity Methods fold :: Monoid m => IdentityT f m -> m # foldMap :: Monoid m => (a -> m) -> IdentityT f a -> m # foldMap' :: Monoid m => (a -> m) -> IdentityT f a -> m # foldr :: (a -> b -> b) -> b -> IdentityT f a -> b # foldr' :: (a -> b -> b) -> b -> IdentityT f a -> b # foldl :: (b -> a -> b) -> b -> IdentityT f a -> b # foldl' :: (b -> a -> b) -> b -> IdentityT f a -> b # foldr1 :: (a -> a -> a) -> IdentityT f a -> a # foldl1 :: (a -> a -> a) -> IdentityT f a -> a # toList :: IdentityT f a -> [a] # null :: IdentityT f a -> Bool # length :: IdentityT f a -> Int # elem :: Eq a => a -> IdentityT f a -> Bool # maximum :: Ord a => IdentityT f a -> a # minimum :: Ord a => IdentityT f a -> a # | |
Foldable f => Foldable (ErrorT e f) | |
Defined in Control.Monad.Trans.Error Methods fold :: Monoid m => ErrorT e f m -> m # foldMap :: Monoid m => (a -> m) -> ErrorT e f a -> m # foldMap' :: Monoid m => (a -> m) -> ErrorT e f a -> m # foldr :: (a -> b -> b) -> b -> ErrorT e f a -> b # foldr' :: (a -> b -> b) -> b -> ErrorT e f a -> b # foldl :: (b -> a -> b) -> b -> ErrorT e f a -> b # foldl' :: (b -> a -> b) -> b -> ErrorT e f a -> b # foldr1 :: (a -> a -> a) -> ErrorT e f a -> a # foldl1 :: (a -> a -> a) -> ErrorT e f a -> a # toList :: ErrorT e f a -> [a] # null :: ErrorT e f a -> Bool # length :: ErrorT e f a -> Int # elem :: Eq a => a -> ErrorT e f a -> Bool # maximum :: Ord a => ErrorT e f a -> a # minimum :: Ord a => ErrorT e f a -> a # | |
Foldable f => Foldable (WriterT w f) | |
Defined in Control.Monad.Trans.Writer.Lazy Methods fold :: Monoid m => WriterT w f m -> m # foldMap :: Monoid m => (a -> m) -> WriterT w f a -> m # foldMap' :: Monoid m => (a -> m) -> WriterT w f a -> m # foldr :: (a -> b -> b) -> b -> WriterT w f a -> b # foldr' :: (a -> b -> b) -> b -> WriterT w f a -> b # foldl :: (b -> a -> b) -> b -> WriterT w f a -> b # foldl' :: (b -> a -> b) -> b -> WriterT w f a -> b # foldr1 :: (a -> a -> a) -> WriterT w f a -> a # foldl1 :: (a -> a -> a) -> WriterT w f a -> a # toList :: WriterT w f a -> [a] # null :: WriterT w f a -> Bool # length :: WriterT w f a -> Int # elem :: Eq a => a -> WriterT w f a -> Bool # maximum :: Ord a => WriterT w f a -> a # minimum :: Ord a => WriterT w f a -> a # | |
Foldable f => Foldable (WriterT w f) | |
Defined in Control.Monad.Trans.Writer.Strict Methods fold :: Monoid m => WriterT w f m -> m # foldMap :: Monoid m => (a -> m) -> WriterT w f a -> m # foldMap' :: Monoid m => (a -> m) -> WriterT w f a -> m # foldr :: (a -> b -> b) -> b -> WriterT w f a -> b # foldr' :: (a -> b -> b) -> b -> WriterT w f a -> b # foldl :: (b -> a -> b) -> b -> WriterT w f a -> b # foldl' :: (b -> a -> b) -> b -> WriterT w f a -> b # foldr1 :: (a -> a -> a) -> WriterT w f a -> a # foldl1 :: (a -> a -> a) -> WriterT w f a -> a # toList :: WriterT w f a -> [a] # null :: WriterT w f a -> Bool # length :: WriterT w f a -> Int # elem :: Eq a => a -> WriterT w f a -> Bool # maximum :: Ord a => WriterT w f a -> a # minimum :: Ord a => WriterT w f a -> a # | |
Foldable f => Foldable (Backwards f) | Derived instance. |
Defined in Control.Applicative.Backwards Methods fold :: Monoid m => Backwards f m -> m # foldMap :: Monoid m => (a -> m) -> Backwards f a -> m # foldMap' :: Monoid m => (a -> m) -> Backwards f a -> m # foldr :: (a -> b -> b) -> b -> Backwards f a -> b # foldr' :: (a -> b -> b) -> b -> Backwards f a -> b # foldl :: (b -> a -> b) -> b -> Backwards f a -> b # foldl' :: (b -> a -> b) -> b -> Backwards f a -> b # foldr1 :: (a -> a -> a) -> Backwards f a -> a # foldl1 :: (a -> a -> a) -> Backwards f a -> a # toList :: Backwards f a -> [a] # null :: Backwards f a -> Bool # length :: Backwards f a -> Int # elem :: Eq a => a -> Backwards f a -> Bool # maximum :: Ord a => Backwards f a -> a # minimum :: Ord a => Backwards f a -> a # | |
(Foldable m, Foldable f) => Foldable (FreeT f m) | |
Defined in Control.Monad.Trans.Free Methods fold :: Monoid m0 => FreeT f m m0 -> m0 # foldMap :: Monoid m0 => (a -> m0) -> FreeT f m a -> m0 # foldMap' :: Monoid m0 => (a -> m0) -> FreeT f m a -> m0 # foldr :: (a -> b -> b) -> b -> FreeT f m a -> b # foldr' :: (a -> b -> b) -> b -> FreeT f m a -> b # foldl :: (b -> a -> b) -> b -> FreeT f m a -> b # foldl' :: (b -> a -> b) -> b -> FreeT f m a -> b # foldr1 :: (a -> a -> a) -> FreeT f m a -> a # foldl1 :: (a -> a -> a) -> FreeT f m a -> a # toList :: FreeT f m a -> [a] # length :: FreeT f m a -> Int # elem :: Eq a => a -> FreeT f m a -> Bool # maximum :: Ord a => FreeT f m a -> a # minimum :: Ord a => FreeT f m a -> a # | |
(Foldable f, Foldable m, Monad m) => Foldable (FT f m) | |
Defined in Control.Monad.Trans.Free.Church Methods fold :: Monoid m0 => FT f m m0 -> m0 # foldMap :: Monoid m0 => (a -> m0) -> FT f m a -> m0 # foldMap' :: Monoid m0 => (a -> m0) -> FT f m a -> m0 # foldr :: (a -> b -> b) -> b -> FT f m a -> b # foldr' :: (a -> b -> b) -> b -> FT f m a -> b # foldl :: (b -> a -> b) -> b -> FT f m a -> b # foldl' :: (b -> a -> b) -> b -> FT f m a -> b # foldr1 :: (a -> a -> a) -> FT f m a -> a # foldl1 :: (a -> a -> a) -> FT f m a -> a # elem :: Eq a => a -> FT f m a -> Bool # maximum :: Ord a => FT f m a -> a # minimum :: Ord a => FT f m a -> a # | |
Foldable f => Foldable (FreeF f a) | |
Defined in Control.Monad.Trans.Free Methods fold :: Monoid m => FreeF f a m -> m # foldMap :: Monoid m => (a0 -> m) -> FreeF f a a0 -> m # foldMap' :: Monoid m => (a0 -> m) -> FreeF f a a0 -> m # foldr :: (a0 -> b -> b) -> b -> FreeF f a a0 -> b # foldr' :: (a0 -> b -> b) -> b -> FreeF f a a0 -> b # foldl :: (b -> a0 -> b) -> b -> FreeF f a a0 -> b # foldl' :: (b -> a0 -> b) -> b -> FreeF f a a0 -> b # foldr1 :: (a0 -> a0 -> a0) -> FreeF f a a0 -> a0 # foldl1 :: (a0 -> a0 -> a0) -> FreeF f a a0 -> a0 # toList :: FreeF f a a0 -> [a0] # null :: FreeF f a a0 -> Bool # length :: FreeF f a a0 -> Int # elem :: Eq a0 => a0 -> FreeF f a a0 -> Bool # maximum :: Ord a0 => FreeF f a a0 -> a0 # minimum :: Ord a0 => FreeF f a a0 -> a0 # | |
Bifoldable p => Foldable (Join p) | |
Defined in Data.Bifunctor.Join Methods fold :: Monoid m => Join p m -> m # foldMap :: Monoid m => (a -> m) -> Join p a -> m # foldMap' :: Monoid m => (a -> m) -> Join p a -> m # foldr :: (a -> b -> b) -> b -> Join p a -> b # foldr' :: (a -> b -> b) -> b -> Join p a -> b # foldl :: (b -> a -> b) -> b -> Join p a -> b # foldl' :: (b -> a -> b) -> b -> Join p a -> b # foldr1 :: (a -> a -> a) -> Join p a -> a # foldl1 :: (a -> a -> a) -> Join p a -> a # elem :: Eq a => a -> Join p a -> Bool # maximum :: Ord a => Join p a -> a # minimum :: Ord a => Join p a -> a # | |
Foldable (Tagged s) | |
Defined in Data.Tagged Methods fold :: Monoid m => Tagged s m -> m # foldMap :: Monoid m => (a -> m) -> Tagged s a -> m # foldMap' :: Monoid m => (a -> m) -> Tagged s a -> m # foldr :: (a -> b -> b) -> b -> Tagged s a -> b # foldr' :: (a -> b -> b) -> b -> Tagged s a -> b # foldl :: (b -> a -> b) -> b -> Tagged s a -> b # foldl' :: (b -> a -> b) -> b -> Tagged s a -> b # foldr1 :: (a -> a -> a) -> Tagged s a -> a # foldl1 :: (a -> a -> a) -> Tagged s a -> a # elem :: Eq a => a -> Tagged s a -> Bool # maximum :: Ord a => Tagged s a -> a # minimum :: Ord a => Tagged s a -> a # | |
Foldable v => Foldable (Vector v n) | |
Defined in Data.Vector.Generic.Sized.Internal Methods fold :: Monoid m => Vector v n m -> m # foldMap :: Monoid m => (a -> m) -> Vector v n a -> m # foldMap' :: Monoid m => (a -> m) -> Vector v n a -> m # foldr :: (a -> b -> b) -> b -> Vector v n a -> b # foldr' :: (a -> b -> b) -> b -> Vector v n a -> b # foldl :: (b -> a -> b) -> b -> Vector v n a -> b # foldl' :: (b -> a -> b) -> b -> Vector v n a -> b # foldr1 :: (a -> a -> a) -> Vector v n a -> a # foldl1 :: (a -> a -> a) -> Vector v n a -> a # toList :: Vector v n a -> [a] # null :: Vector v n a -> Bool # length :: Vector v n a -> Int # elem :: Eq a => a -> Vector v n a -> Bool # maximum :: Ord a => Vector v n a -> a # minimum :: Ord a => Vector v n a -> a # | |
Foldable (T3 a b) | |
Defined in Data.Tuple.Strict.T3 Methods fold :: Monoid m => T3 a b m -> m # foldMap :: Monoid m => (a0 -> m) -> T3 a b a0 -> m # foldMap' :: Monoid m => (a0 -> m) -> T3 a b a0 -> m # foldr :: (a0 -> b0 -> b0) -> b0 -> T3 a b a0 -> b0 # foldr' :: (a0 -> b0 -> b0) -> b0 -> T3 a b a0 -> b0 # foldl :: (b0 -> a0 -> b0) -> b0 -> T3 a b a0 -> b0 # foldl' :: (b0 -> a0 -> b0) -> b0 -> T3 a b a0 -> b0 # foldr1 :: (a0 -> a0 -> a0) -> T3 a b a0 -> a0 # foldl1 :: (a0 -> a0 -> a0) -> T3 a b a0 -> a0 # elem :: Eq a0 => a0 -> T3 a b a0 -> Bool # maximum :: Ord a0 => T3 a b a0 -> a0 # minimum :: Ord a0 => T3 a b a0 -> a0 # | |
Bifoldable p => Foldable (Fix p) | |
Defined in Data.Bifunctor.Fix Methods fold :: Monoid m => Fix p m -> m # foldMap :: Monoid m => (a -> m) -> Fix p a -> m # foldMap' :: Monoid m => (a -> m) -> Fix p a -> m # foldr :: (a -> b -> b) -> b -> Fix p a -> b # foldr' :: (a -> b -> b) -> b -> Fix p a -> b # foldl :: (b -> a -> b) -> b -> Fix p a -> b # foldl' :: (b -> a -> b) -> b -> Fix p a -> b # foldr1 :: (a -> a -> a) -> Fix p a -> a # foldl1 :: (a -> a -> a) -> Fix p a -> a # elem :: Eq a => a -> Fix p a -> Bool # maximum :: Ord a => Fix p a -> a # minimum :: Ord a => Fix p a -> a # | |
Foldable f => Foldable (CofreeF f a) | |
Defined in Control.Comonad.Trans.Cofree Methods fold :: Monoid m => CofreeF f a m -> m # foldMap :: Monoid m => (a0 -> m) -> CofreeF f a a0 -> m # foldMap' :: Monoid m => (a0 -> m) -> CofreeF f a a0 -> m # foldr :: (a0 -> b -> b) -> b -> CofreeF f a a0 -> b # foldr' :: (a0 -> b -> b) -> b -> CofreeF f a a0 -> b # foldl :: (b -> a0 -> b) -> b -> CofreeF f a a0 -> b # foldl' :: (b -> a0 -> b) -> b -> CofreeF f a a0 -> b # foldr1 :: (a0 -> a0 -> a0) -> CofreeF f a a0 -> a0 # foldl1 :: (a0 -> a0 -> a0) -> CofreeF f a a0 -> a0 # toList :: CofreeF f a a0 -> [a0] # null :: CofreeF f a a0 -> Bool # length :: CofreeF f a a0 -> Int # elem :: Eq a0 => a0 -> CofreeF f a a0 -> Bool # maximum :: Ord a0 => CofreeF f a a0 -> a0 # minimum :: Ord a0 => CofreeF f a a0 -> a0 # | |
(Foldable f, Foldable w) => Foldable (CofreeT f w) | |
Defined in Control.Comonad.Trans.Cofree Methods fold :: Monoid m => CofreeT f w m -> m # foldMap :: Monoid m => (a -> m) -> CofreeT f w a -> m # foldMap' :: Monoid m => (a -> m) -> CofreeT f w a -> m # foldr :: (a -> b -> b) -> b -> CofreeT f w a -> b # foldr' :: (a -> b -> b) -> b -> CofreeT f w a -> b # foldl :: (b -> a -> b) -> b -> CofreeT f w a -> b # foldl' :: (b -> a -> b) -> b -> CofreeT f w a -> b # foldr1 :: (a -> a -> a) -> CofreeT f w a -> a # foldl1 :: (a -> a -> a) -> CofreeT f w a -> a # toList :: CofreeT f w a -> [a] # null :: CofreeT f w a -> Bool # length :: CofreeT f w a -> Int # elem :: Eq a => a -> CofreeT f w a -> Bool # maximum :: Ord a => CofreeT f w a -> a # minimum :: Ord a => CofreeT f w a -> a # | |
Foldable (V n) | |
Defined in Linear.V Methods fold :: Monoid m => V n m -> m # foldMap :: Monoid m => (a -> m) -> V n a -> m # foldMap' :: Monoid m => (a -> m) -> V n a -> m # foldr :: (a -> b -> b) -> b -> V n a -> b # foldr' :: (a -> b -> b) -> b -> V n a -> b # foldl :: (b -> a -> b) -> b -> V n a -> b # foldl' :: (b -> a -> b) -> b -> V n a -> b # foldr1 :: (a -> a -> a) -> V n a -> a # foldl1 :: (a -> a -> a) -> V n a -> a # elem :: Eq a => a -> V n a -> Bool # maximum :: Ord a => V n a -> a # | |
(Foldable f, Foldable g) => Foldable (These1 f g) | |
Defined in Data.Functor.These Methods fold :: Monoid m => These1 f g m -> m # foldMap :: Monoid m => (a -> m) -> These1 f g a -> m # foldMap' :: Monoid m => (a -> m) -> These1 f g a -> m # foldr :: (a -> b -> b) -> b -> These1 f g a -> b # foldr' :: (a -> b -> b) -> b -> These1 f g a -> b # foldl :: (b -> a -> b) -> b -> These1 f g a -> b # foldl' :: (b -> a -> b) -> b -> These1 f g a -> b # foldr1 :: (a -> a -> a) -> These1 f g a -> a # foldl1 :: (a -> a -> a) -> These1 f g a -> a # toList :: These1 f g a -> [a] # null :: These1 f g a -> Bool # length :: These1 f g a -> Int # elem :: Eq a => a -> These1 f g a -> Bool # maximum :: Ord a => These1 f g a -> a # minimum :: Ord a => These1 f g a -> a # | |
Foldable (OrdPSQ k p) | |
Defined in Data.OrdPSQ.Internal Methods fold :: Monoid m => OrdPSQ k p m -> m # foldMap :: Monoid m => (a -> m) -> OrdPSQ k p a -> m # foldMap' :: Monoid m => (a -> m) -> OrdPSQ k p a -> m # foldr :: (a -> b -> b) -> b -> OrdPSQ k p a -> b # foldr' :: (a -> b -> b) -> b -> OrdPSQ k p a -> b # foldl :: (b -> a -> b) -> b -> OrdPSQ k p a -> b # foldl' :: (b -> a -> b) -> b -> OrdPSQ k p a -> b # foldr1 :: (a -> a -> a) -> OrdPSQ k p a -> a # foldl1 :: (a -> a -> a) -> OrdPSQ k p a -> a # toList :: OrdPSQ k p a -> [a] # null :: OrdPSQ k p a -> Bool # length :: OrdPSQ k p a -> Int # elem :: Eq a => a -> OrdPSQ k p a -> Bool # maximum :: Ord a => OrdPSQ k p a -> a # minimum :: Ord a => OrdPSQ k p a -> a # | |
Foldable (Elem k p) | |
Defined in Data.OrdPSQ.Internal Methods fold :: Monoid m => Elem k p m -> m # foldMap :: Monoid m => (a -> m) -> Elem k p a -> m # foldMap' :: Monoid m => (a -> m) -> Elem k p a -> m # foldr :: (a -> b -> b) -> b -> Elem k p a -> b # foldr' :: (a -> b -> b) -> b -> Elem k p a -> b # foldl :: (b -> a -> b) -> b -> Elem k p a -> b # foldl' :: (b -> a -> b) -> b -> Elem k p a -> b # foldr1 :: (a -> a -> a) -> Elem k p a -> a # foldl1 :: (a -> a -> a) -> Elem k p a -> a # elem :: Eq a => a -> Elem k p a -> Bool # maximum :: Ord a => Elem k p a -> a # minimum :: Ord a => Elem k p a -> a # | |
Foldable (LTree k p) | |
Defined in Data.OrdPSQ.Internal Methods fold :: Monoid m => LTree k p m -> m # foldMap :: Monoid m => (a -> m) -> LTree k p a -> m # foldMap' :: Monoid m => (a -> m) -> LTree k p a -> m # foldr :: (a -> b -> b) -> b -> LTree k p a -> b # foldr' :: (a -> b -> b) -> b -> LTree k p a -> b # foldl :: (b -> a -> b) -> b -> LTree k p a -> b # foldl' :: (b -> a -> b) -> b -> LTree k p a -> b # foldr1 :: (a -> a -> a) -> LTree k p a -> a # foldl1 :: (a -> a -> a) -> LTree k p a -> a # toList :: LTree k p a -> [a] # length :: LTree k p a -> Int # elem :: Eq a => a -> LTree k p a -> Bool # maximum :: Ord a => LTree k p a -> a # minimum :: Ord a => LTree k p a -> a # | |
Foldable w => Foldable (EnvT e w) | |
Defined in Control.Comonad.Trans.Env Methods fold :: Monoid m => EnvT e w m -> m # foldMap :: Monoid m => (a -> m) -> EnvT e w a -> m # foldMap' :: Monoid m => (a -> m) -> EnvT e w a -> m # foldr :: (a -> b -> b) -> b -> EnvT e w a -> b # foldr' :: (a -> b -> b) -> b -> EnvT e w a -> b # foldl :: (b -> a -> b) -> b -> EnvT e w a -> b # foldl' :: (b -> a -> b) -> b -> EnvT e w a -> b # foldr1 :: (a -> a -> a) -> EnvT e w a -> a # foldl1 :: (a -> a -> a) -> EnvT e w a -> a # elem :: Eq a => a -> EnvT e w a -> Bool # maximum :: Ord a => EnvT e w a -> a # minimum :: Ord a => EnvT e w a -> a # | |
Foldable f => Foldable (AlongsideLeft f b) | |
Defined in Control.Lens.Internal.Getter Methods fold :: Monoid m => AlongsideLeft f b m -> m # foldMap :: Monoid m => (a -> m) -> AlongsideLeft f b a -> m # foldMap' :: Monoid m => (a -> m) -> AlongsideLeft f b a -> m # foldr :: (a -> b0 -> b0) -> b0 -> AlongsideLeft f b a -> b0 # foldr' :: (a -> b0 -> b0) -> b0 -> AlongsideLeft f b a -> b0 # foldl :: (b0 -> a -> b0) -> b0 -> AlongsideLeft f b a -> b0 # foldl' :: (b0 -> a -> b0) -> b0 -> AlongsideLeft f b a -> b0 # foldr1 :: (a -> a -> a) -> AlongsideLeft f b a -> a # foldl1 :: (a -> a -> a) -> AlongsideLeft f b a -> a # toList :: AlongsideLeft f b a -> [a] # null :: AlongsideLeft f b a -> Bool # length :: AlongsideLeft f b a -> Int # elem :: Eq a => a -> AlongsideLeft f b a -> Bool # maximum :: Ord a => AlongsideLeft f b a -> a # minimum :: Ord a => AlongsideLeft f b a -> a # | |
Foldable f => Foldable (AlongsideRight f a) | |
Defined in Control.Lens.Internal.Getter Methods fold :: Monoid m => AlongsideRight f a m -> m # foldMap :: Monoid m => (a0 -> m) -> AlongsideRight f a a0 -> m # foldMap' :: Monoid m => (a0 -> m) -> AlongsideRight f a a0 -> m # foldr :: (a0 -> b -> b) -> b -> AlongsideRight f a a0 -> b # foldr' :: (a0 -> b -> b) -> b -> AlongsideRight f a a0 -> b # foldl :: (b -> a0 -> b) -> b -> AlongsideRight f a a0 -> b # foldl' :: (b -> a0 -> b) -> b -> AlongsideRight f a a0 -> b # foldr1 :: (a0 -> a0 -> a0) -> AlongsideRight f a a0 -> a0 # foldl1 :: (a0 -> a0 -> a0) -> AlongsideRight f a a0 -> a0 # toList :: AlongsideRight f a a0 -> [a0] # null :: AlongsideRight f a a0 -> Bool # length :: AlongsideRight f a a0 -> Int # elem :: Eq a0 => a0 -> AlongsideRight f a a0 -> Bool # maximum :: Ord a0 => AlongsideRight f a a0 -> a0 # minimum :: Ord a0 => AlongsideRight f a a0 -> a0 # | |
Foldable (K a :: Type -> Type) | |
Defined in Data.SOP.BasicFunctors Methods fold :: Monoid m => K a m -> m # foldMap :: Monoid m => (a0 -> m) -> K a a0 -> m # foldMap' :: Monoid m => (a0 -> m) -> K a a0 -> m # foldr :: (a0 -> b -> b) -> b -> K a a0 -> b # foldr' :: (a0 -> b -> b) -> b -> K a a0 -> b # foldl :: (b -> a0 -> b) -> b -> K a a0 -> b # foldl' :: (b -> a0 -> b) -> b -> K a a0 -> b # foldr1 :: (a0 -> a0 -> a0) -> K a a0 -> a0 # foldl1 :: (a0 -> a0 -> a0) -> K a a0 -> a0 # elem :: Eq a0 => a0 -> K a a0 -> Bool # maximum :: Ord a0 => K a a0 -> a0 # minimum :: Ord a0 => K a a0 -> a0 # | |
Foldable (K1 i c :: Type -> Type) | Since: base-4.9.0.0 |
Defined in Data.Foldable Methods fold :: Monoid m => K1 i c m -> m # foldMap :: Monoid m => (a -> m) -> K1 i c a -> m # foldMap' :: Monoid m => (a -> m) -> K1 i c a -> m # foldr :: (a -> b -> b) -> b -> K1 i c a -> b # foldr' :: (a -> b -> b) -> b -> K1 i c a -> b # foldl :: (b -> a -> b) -> b -> K1 i c a -> b # foldl' :: (b -> a -> b) -> b -> K1 i c a -> b # foldr1 :: (a -> a -> a) -> K1 i c a -> a # foldl1 :: (a -> a -> a) -> K1 i c a -> a # elem :: Eq a => a -> K1 i c a -> Bool # maximum :: Ord a => K1 i c a -> a # minimum :: Ord a => K1 i c a -> a # | |
(Foldable f, Foldable g) => Foldable (f :+: g) | Since: base-4.9.0.0 |
Defined in Data.Foldable Methods fold :: Monoid m => (f :+: g) m -> m # foldMap :: Monoid m => (a -> m) -> (f :+: g) a -> m # foldMap' :: Monoid m => (a -> m) -> (f :+: g) a -> m # foldr :: (a -> b -> b) -> b -> (f :+: g) a -> b # foldr' :: (a -> b -> b) -> b -> (f :+: g) a -> b # foldl :: (b -> a -> b) -> b -> (f :+: g) a -> b # foldl' :: (b -> a -> b) -> b -> (f :+: g) a -> b # foldr1 :: (a -> a -> a) -> (f :+: g) a -> a # foldl1 :: (a -> a -> a) -> (f :+: g) a -> a # toList :: (f :+: g) a -> [a] # length :: (f :+: g) a -> Int # elem :: Eq a => a -> (f :+: g) a -> Bool # maximum :: Ord a => (f :+: g) a -> a # minimum :: Ord a => (f :+: g) a -> a # | |
(Foldable f, Foldable g) => Foldable (f :*: g) | Since: base-4.9.0.0 |
Defined in Data.Foldable Methods fold :: Monoid m => (f :*: g) m -> m # foldMap :: Monoid m => (a -> m) -> (f :*: g) a -> m # foldMap' :: Monoid m => (a -> m) -> (f :*: g) a -> m # foldr :: (a -> b -> b) -> b -> (f :*: g) a -> b # foldr' :: (a -> b -> b) -> b -> (f :*: g) a -> b # foldl :: (b -> a -> b) -> b -> (f :*: g) a -> b # foldl' :: (b -> a -> b) -> b -> (f :*: g) a -> b # foldr1 :: (a -> a -> a) -> (f :*: g) a -> a # foldl1 :: (a -> a -> a) -> (f :*: g) a -> a # toList :: (f :*: g) a -> [a] # length :: (f :*: g) a -> Int # elem :: Eq a => a -> (f :*: g) a -> Bool # maximum :: Ord a => (f :*: g) a -> a # minimum :: Ord a => (f :*: g) a -> a # | |
(Foldable f, Foldable g) => Foldable (Product f g) | Since: base-4.9.0.0 |
Defined in Data.Functor.Product Methods fold :: Monoid m => Product f g m -> m # foldMap :: Monoid m => (a -> m) -> Product f g a -> m # foldMap' :: Monoid m => (a -> m) -> Product f g a -> m # foldr :: (a -> b -> b) -> b -> Product f g a -> b # foldr' :: (a -> b -> b) -> b -> Product f g a -> b # foldl :: (b -> a -> b) -> b -> Product f g a -> b # foldl' :: (b -> a -> b) -> b -> Product f g a -> b # foldr1 :: (a -> a -> a) -> Product f g a -> a # foldl1 :: (a -> a -> a) -> Product f g a -> a # toList :: Product f g a -> [a] # null :: Product f g a -> Bool # length :: Product f g a -> Int # elem :: Eq a => a -> Product f g a -> Bool # maximum :: Ord a => Product f g a -> a # minimum :: Ord a => Product f g a -> a # | |
(Foldable f, Foldable g) => Foldable (Sum f g) | Since: base-4.9.0.0 |
Defined in Data.Functor.Sum Methods fold :: Monoid m => Sum f g m -> m # foldMap :: Monoid m => (a -> m) -> Sum f g a -> m # foldMap' :: Monoid m => (a -> m) -> Sum f g a -> m # foldr :: (a -> b -> b) -> b -> Sum f g a -> b # foldr' :: (a -> b -> b) -> b -> Sum f g a -> b # foldl :: (b -> a -> b) -> b -> Sum f g a -> b # foldl' :: (b -> a -> b) -> b -> Sum f g a -> b # foldr1 :: (a -> a -> a) -> Sum f g a -> a # foldl1 :: (a -> a -> a) -> Sum f g a -> a # elem :: Eq a => a -> Sum f g a -> Bool # maximum :: Ord a => Sum f g a -> a # minimum :: Ord a => Sum f g a -> a # | |
Foldable (Magma i t b) | |
Defined in Control.Lens.Internal.Magma Methods fold :: Monoid m => Magma i t b m -> m # foldMap :: Monoid m => (a -> m) -> Magma i t b a -> m # foldMap' :: Monoid m => (a -> m) -> Magma i t b a -> m # foldr :: (a -> b0 -> b0) -> b0 -> Magma i t b a -> b0 # foldr' :: (a -> b0 -> b0) -> b0 -> Magma i t b a -> b0 # foldl :: (b0 -> a -> b0) -> b0 -> Magma i t b a -> b0 # foldl' :: (b0 -> a -> b0) -> b0 -> Magma i t b a -> b0 # foldr1 :: (a -> a -> a) -> Magma i t b a -> a # foldl1 :: (a -> a -> a) -> Magma i t b a -> a # toList :: Magma i t b a -> [a] # null :: Magma i t b a -> Bool # length :: Magma i t b a -> Int # elem :: Eq a => a -> Magma i t b a -> Bool # maximum :: Ord a => Magma i t b a -> a # minimum :: Ord a => Magma i t b a -> a # | |
Foldable (T4 a b c) | |
Defined in Data.Tuple.Strict.T4 Methods fold :: Monoid m => T4 a b c m -> m # foldMap :: Monoid m => (a0 -> m) -> T4 a b c a0 -> m # foldMap' :: Monoid m => (a0 -> m) -> T4 a b c a0 -> m # foldr :: (a0 -> b0 -> b0) -> b0 -> T4 a b c a0 -> b0 # foldr' :: (a0 -> b0 -> b0) -> b0 -> T4 a b c a0 -> b0 # foldl :: (b0 -> a0 -> b0) -> b0 -> T4 a b c a0 -> b0 # foldl' :: (b0 -> a0 -> b0) -> b0 -> T4 a b c a0 -> b0 # foldr1 :: (a0 -> a0 -> a0) -> T4 a b c a0 -> a0 # foldl1 :: (a0 -> a0 -> a0) -> T4 a b c a0 -> a0 # toList :: T4 a b c a0 -> [a0] # length :: T4 a b c a0 -> Int # elem :: Eq a0 => a0 -> T4 a b c a0 -> Bool # maximum :: Ord a0 => T4 a b c a0 -> a0 # minimum :: Ord a0 => T4 a b c a0 -> a0 # | |
Foldable (Forget r a :: Type -> Type) | |
Defined in Data.Profunctor.Types Methods fold :: Monoid m => Forget r a m -> m # foldMap :: Monoid m => (a0 -> m) -> Forget r a a0 -> m # foldMap' :: Monoid m => (a0 -> m) -> Forget r a a0 -> m # foldr :: (a0 -> b -> b) -> b -> Forget r a a0 -> b # foldr' :: (a0 -> b -> b) -> b -> Forget r a a0 -> b # foldl :: (b -> a0 -> b) -> b -> Forget r a a0 -> b # foldl' :: (b -> a0 -> b) -> b -> Forget r a a0 -> b # foldr1 :: (a0 -> a0 -> a0) -> Forget r a a0 -> a0 # foldl1 :: (a0 -> a0 -> a0) -> Forget r a a0 -> a0 # toList :: Forget r a a0 -> [a0] # null :: Forget r a a0 -> Bool # length :: Forget r a a0 -> Int # elem :: Eq a0 => a0 -> Forget r a a0 -> Bool # maximum :: Ord a0 => Forget r a a0 -> a0 # minimum :: Ord a0 => Forget r a a0 -> a0 # | |
Foldable f => Foldable (M1 i c f) | Since: base-4.9.0.0 |
Defined in Data.Foldable Methods fold :: Monoid m => M1 i c f m -> m # foldMap :: Monoid m => (a -> m) -> M1 i c f a -> m # foldMap' :: Monoid m => (a -> m) -> M1 i c f a -> m # foldr :: (a -> b -> b) -> b -> M1 i c f a -> b # foldr' :: (a -> b -> b) -> b -> M1 i c f a -> b # foldl :: (b -> a -> b) -> b -> M1 i c f a -> b # foldl' :: (b -> a -> b) -> b -> M1 i c f a -> b # foldr1 :: (a -> a -> a) -> M1 i c f a -> a # foldl1 :: (a -> a -> a) -> M1 i c f a -> a # elem :: Eq a => a -> M1 i c f a -> Bool # maximum :: Ord a => M1 i c f a -> a # minimum :: Ord a => M1 i c f a -> a # | |
(Foldable f, Foldable g) => Foldable (f :.: g) | Since: base-4.9.0.0 |
Defined in Data.Foldable Methods fold :: Monoid m => (f :.: g) m -> m # foldMap :: Monoid m => (a -> m) -> (f :.: g) a -> m # foldMap' :: Monoid m => (a -> m) -> (f :.: g) a -> m # foldr :: (a -> b -> b) -> b -> (f :.: g) a -> b # foldr' :: (a -> b -> b) -> b -> (f :.: g) a -> b # foldl :: (b -> a -> b) -> b -> (f :.: g) a -> b # foldl' :: (b -> a -> b) -> b -> (f :.: g) a -> b # foldr1 :: (a -> a -> a) -> (f :.: g) a -> a # foldl1 :: (a -> a -> a) -> (f :.: g) a -> a # toList :: (f :.: g) a -> [a] # length :: (f :.: g) a -> Int # elem :: Eq a => a -> (f :.: g) a -> Bool # maximum :: Ord a => (f :.: g) a -> a # minimum :: Ord a => (f :.: g) a -> a # | |
(Foldable f, Foldable g) => Foldable (Compose f g) | Since: base-4.9.0.0 |
Defined in Data.Functor.Compose Methods fold :: Monoid m => Compose f g m -> m # foldMap :: Monoid m => (a -> m) -> Compose f g a -> m # foldMap' :: Monoid m => (a -> m) -> Compose f g a -> m # foldr :: (a -> b -> b) -> b -> Compose f g a -> b # foldr' :: (a -> b -> b) -> b -> Compose f g a -> b # foldl :: (b -> a -> b) -> b -> Compose f g a -> b # foldl' :: (b -> a -> b) -> b -> Compose f g a -> b # foldr1 :: (a -> a -> a) -> Compose f g a -> a # foldl1 :: (a -> a -> a) -> Compose f g a -> a # toList :: Compose f g a -> [a] # null :: Compose f g a -> Bool # length :: Compose f g a -> Int # elem :: Eq a => a -> Compose f g a -> Bool # maximum :: Ord a => Compose f g a -> a # minimum :: Ord a => Compose f g a -> a # | |
Foldable (Clown f a :: Type -> Type) | |
Defined in Data.Bifunctor.Clown Methods fold :: Monoid m => Clown f a m -> m # foldMap :: Monoid m => (a0 -> m) -> Clown f a a0 -> m # foldMap' :: Monoid m => (a0 -> m) -> Clown f a a0 -> m # foldr :: (a0 -> b -> b) -> b -> Clown f a a0 -> b # foldr' :: (a0 -> b -> b) -> b -> Clown f a a0 -> b # foldl :: (b -> a0 -> b) -> b -> Clown f a a0 -> b # foldl' :: (b -> a0 -> b) -> b -> Clown f a a0 -> b # foldr1 :: (a0 -> a0 -> a0) -> Clown f a a0 -> a0 # foldl1 :: (a0 -> a0 -> a0) -> Clown f a a0 -> a0 # toList :: Clown f a a0 -> [a0] # null :: Clown f a a0 -> Bool # length :: Clown f a a0 -> Int # elem :: Eq a0 => a0 -> Clown f a a0 -> Bool # maximum :: Ord a0 => Clown f a a0 -> a0 # minimum :: Ord a0 => Clown f a a0 -> a0 # | |
Bifoldable p => Foldable (Flip p a) | |
Defined in Data.Bifunctor.Flip Methods fold :: Monoid m => Flip p a m -> m # foldMap :: Monoid m => (a0 -> m) -> Flip p a a0 -> m # foldMap' :: Monoid m => (a0 -> m) -> Flip p a a0 -> m # foldr :: (a0 -> b -> b) -> b -> Flip p a a0 -> b # foldr' :: (a0 -> b -> b) -> b -> Flip p a a0 -> b # foldl :: (b -> a0 -> b) -> b -> Flip p a a0 -> b # foldl' :: (b -> a0 -> b) -> b -> Flip p a a0 -> b # foldr1 :: (a0 -> a0 -> a0) -> Flip p a a0 -> a0 # foldl1 :: (a0 -> a0 -> a0) -> Flip p a a0 -> a0 # toList :: Flip p a a0 -> [a0] # length :: Flip p a a0 -> Int # elem :: Eq a0 => a0 -> Flip p a a0 -> Bool # maximum :: Ord a0 => Flip p a a0 -> a0 # minimum :: Ord a0 => Flip p a a0 -> a0 # | |
Foldable g => Foldable (Joker g a) | |
Defined in Data.Bifunctor.Joker Methods fold :: Monoid m => Joker g a m -> m # foldMap :: Monoid m => (a0 -> m) -> Joker g a a0 -> m # foldMap' :: Monoid m => (a0 -> m) -> Joker g a a0 -> m # foldr :: (a0 -> b -> b) -> b -> Joker g a a0 -> b # foldr' :: (a0 -> b -> b) -> b -> Joker g a a0 -> b # foldl :: (b -> a0 -> b) -> b -> Joker g a a0 -> b # foldl' :: (b -> a0 -> b) -> b -> Joker g a a0 -> b # foldr1 :: (a0 -> a0 -> a0) -> Joker g a a0 -> a0 # foldl1 :: (a0 -> a0 -> a0) -> Joker g a a0 -> a0 # toList :: Joker g a a0 -> [a0] # null :: Joker g a a0 -> Bool # length :: Joker g a a0 -> Int # elem :: Eq a0 => a0 -> Joker g a a0 -> Bool # maximum :: Ord a0 => Joker g a a0 -> a0 # minimum :: Ord a0 => Joker g a a0 -> a0 # | |
Bifoldable p => Foldable (WrappedBifunctor p a) | |
Defined in Data.Bifunctor.Wrapped Methods fold :: Monoid m => WrappedBifunctor p a m -> m # foldMap :: Monoid m => (a0 -> m) -> WrappedBifunctor p a a0 -> m # foldMap' :: Monoid m => (a0 -> m) -> WrappedBifunctor p a a0 -> m # foldr :: (a0 -> b -> b) -> b -> WrappedBifunctor p a a0 -> b # foldr' :: (a0 -> b -> b) -> b -> WrappedBifunctor p a a0 -> b # foldl :: (b -> a0 -> b) -> b -> WrappedBifunctor p a a0 -> b # foldl' :: (b -> a0 -> b) -> b -> WrappedBifunctor p a a0 -> b # foldr1 :: (a0 -> a0 -> a0) -> WrappedBifunctor p a a0 -> a0 # foldl1 :: (a0 -> a0 -> a0) -> WrappedBifunctor p a a0 -> a0 # toList :: WrappedBifunctor p a a0 -> [a0] # null :: WrappedBifunctor p a a0 -> Bool # length :: WrappedBifunctor p a a0 -> Int # elem :: Eq a0 => a0 -> WrappedBifunctor p a a0 -> Bool # maximum :: Ord a0 => WrappedBifunctor p a a0 -> a0 # minimum :: Ord a0 => WrappedBifunctor p a a0 -> a0 # | |
Foldable (T5 a b c d) | |
Defined in Data.Tuple.Strict.T5 Methods fold :: Monoid m => T5 a b c d m -> m # foldMap :: Monoid m => (a0 -> m) -> T5 a b c d a0 -> m # foldMap' :: Monoid m => (a0 -> m) -> T5 a b c d a0 -> m # foldr :: (a0 -> b0 -> b0) -> b0 -> T5 a b c d a0 -> b0 # foldr' :: (a0 -> b0 -> b0) -> b0 -> T5 a b c d a0 -> b0 # foldl :: (b0 -> a0 -> b0) -> b0 -> T5 a b c d a0 -> b0 # foldl' :: (b0 -> a0 -> b0) -> b0 -> T5 a b c d a0 -> b0 # foldr1 :: (a0 -> a0 -> a0) -> T5 a b c d a0 -> a0 # foldl1 :: (a0 -> a0 -> a0) -> T5 a b c d a0 -> a0 # toList :: T5 a b c d a0 -> [a0] # null :: T5 a b c d a0 -> Bool # length :: T5 a b c d a0 -> Int # elem :: Eq a0 => a0 -> T5 a b c d a0 -> Bool # maximum :: Ord a0 => T5 a b c d a0 -> a0 # minimum :: Ord a0 => T5 a b c d a0 -> a0 # | |
(Foldable f, Foldable g) => Foldable (f :.: g) | |
Defined in Data.SOP.BasicFunctors Methods fold :: Monoid m => (f :.: g) m -> m # foldMap :: Monoid m => (a -> m) -> (f :.: g) a -> m # foldMap' :: Monoid m => (a -> m) -> (f :.: g) a -> m # foldr :: (a -> b -> b) -> b -> (f :.: g) a -> b # foldr' :: (a -> b -> b) -> b -> (f :.: g) a -> b # foldl :: (b -> a -> b) -> b -> (f :.: g) a -> b # foldl' :: (b -> a -> b) -> b -> (f :.: g) a -> b # foldr1 :: (a -> a -> a) -> (f :.: g) a -> a # foldl1 :: (a -> a -> a) -> (f :.: g) a -> a # toList :: (f :.: g) a -> [a] # length :: (f :.: g) a -> Int # elem :: Eq a => a -> (f :.: g) a -> Bool # maximum :: Ord a => (f :.: g) a -> a # minimum :: Ord a => (f :.: g) a -> a # | |
Foldable (T6 a b c d e) | |
Defined in Data.Tuple.Strict.T6 Methods fold :: Monoid m => T6 a b c d e m -> m # foldMap :: Monoid m => (a0 -> m) -> T6 a b c d e a0 -> m # foldMap' :: Monoid m => (a0 -> m) -> T6 a b c d e a0 -> m # foldr :: (a0 -> b0 -> b0) -> b0 -> T6 a b c d e a0 -> b0 # foldr' :: (a0 -> b0 -> b0) -> b0 -> T6 a b c d e a0 -> b0 # foldl :: (b0 -> a0 -> b0) -> b0 -> T6 a b c d e a0 -> b0 # foldl' :: (b0 -> a0 -> b0) -> b0 -> T6 a b c d e a0 -> b0 # foldr1 :: (a0 -> a0 -> a0) -> T6 a b c d e a0 -> a0 # foldl1 :: (a0 -> a0 -> a0) -> T6 a b c d e a0 -> a0 # toList :: T6 a b c d e a0 -> [a0] # null :: T6 a b c d e a0 -> Bool # length :: T6 a b c d e a0 -> Int # elem :: Eq a0 => a0 -> T6 a b c d e a0 -> Bool # maximum :: Ord a0 => T6 a b c d e a0 -> a0 # minimum :: Ord a0 => T6 a b c d e a0 -> a0 # | |
(Foldable f, Bifoldable p) => Foldable (Tannen f p a) | |
Defined in Data.Bifunctor.Tannen Methods fold :: Monoid m => Tannen f p a m -> m # foldMap :: Monoid m => (a0 -> m) -> Tannen f p a a0 -> m # foldMap' :: Monoid m => (a0 -> m) -> Tannen f p a a0 -> m # foldr :: (a0 -> b -> b) -> b -> Tannen f p a a0 -> b # foldr' :: (a0 -> b -> b) -> b -> Tannen f p a a0 -> b # foldl :: (b -> a0 -> b) -> b -> Tannen f p a a0 -> b # foldl' :: (b -> a0 -> b) -> b -> Tannen f p a a0 -> b # foldr1 :: (a0 -> a0 -> a0) -> Tannen f p a a0 -> a0 # foldl1 :: (a0 -> a0 -> a0) -> Tannen f p a a0 -> a0 # toList :: Tannen f p a a0 -> [a0] # null :: Tannen f p a a0 -> Bool # length :: Tannen f p a a0 -> Int # elem :: Eq a0 => a0 -> Tannen f p a a0 -> Bool # maximum :: Ord a0 => Tannen f p a a0 -> a0 # minimum :: Ord a0 => Tannen f p a a0 -> a0 # | |
Foldable (T7 a b c d e f) | |
Defined in Data.Tuple.Strict.T7 Methods fold :: Monoid m => T7 a b c d e f m -> m # foldMap :: Monoid m => (a0 -> m) -> T7 a b c d e f a0 -> m # foldMap' :: Monoid m => (a0 -> m) -> T7 a b c d e f a0 -> m # foldr :: (a0 -> b0 -> b0) -> b0 -> T7 a b c d e f a0 -> b0 # foldr' :: (a0 -> b0 -> b0) -> b0 -> T7 a b c d e f a0 -> b0 # foldl :: (b0 -> a0 -> b0) -> b0 -> T7 a b c d e f a0 -> b0 # foldl' :: (b0 -> a0 -> b0) -> b0 -> T7 a b c d e f a0 -> b0 # foldr1 :: (a0 -> a0 -> a0) -> T7 a b c d e f a0 -> a0 # foldl1 :: (a0 -> a0 -> a0) -> T7 a b c d e f a0 -> a0 # toList :: T7 a b c d e f a0 -> [a0] # null :: T7 a b c d e f a0 -> Bool # length :: T7 a b c d e f a0 -> Int # elem :: Eq a0 => a0 -> T7 a b c d e f a0 -> Bool # maximum :: Ord a0 => T7 a b c d e f a0 -> a0 # minimum :: Ord a0 => T7 a b c d e f a0 -> a0 # | |
Foldable (T8 a b c d e f g) | |
Defined in Data.Tuple.Strict.T8 Methods fold :: Monoid m => T8 a b c d e f g m -> m # foldMap :: Monoid m => (a0 -> m) -> T8 a b c d e f g a0 -> m # foldMap' :: Monoid m => (a0 -> m) -> T8 a b c d e f g a0 -> m # foldr :: (a0 -> b0 -> b0) -> b0 -> T8 a b c d e f g a0 -> b0 # foldr' :: (a0 -> b0 -> b0) -> b0 -> T8 a b c d e f g a0 -> b0 # foldl :: (b0 -> a0 -> b0) -> b0 -> T8 a b c d e f g a0 -> b0 # foldl' :: (b0 -> a0 -> b0) -> b0 -> T8 a b c d e f g a0 -> b0 # foldr1 :: (a0 -> a0 -> a0) -> T8 a b c d e f g a0 -> a0 # foldl1 :: (a0 -> a0 -> a0) -> T8 a b c d e f g a0 -> a0 # toList :: T8 a b c d e f g a0 -> [a0] # null :: T8 a b c d e f g a0 -> Bool # length :: T8 a b c d e f g a0 -> Int # elem :: Eq a0 => a0 -> T8 a b c d e f g a0 -> Bool # maximum :: Ord a0 => T8 a b c d e f g a0 -> a0 # minimum :: Ord a0 => T8 a b c d e f g a0 -> a0 # | |
(Bifoldable p, Foldable g) => Foldable (Biff p f g a) | |
Defined in Data.Bifunctor.Biff Methods fold :: Monoid m => Biff p f g a m -> m # foldMap :: Monoid m => (a0 -> m) -> Biff p f g a a0 -> m # foldMap' :: Monoid m => (a0 -> m) -> Biff p f g a a0 -> m # foldr :: (a0 -> b -> b) -> b -> Biff p f g a a0 -> b # foldr' :: (a0 -> b -> b) -> b -> Biff p f g a a0 -> b # foldl :: (b -> a0 -> b) -> b -> Biff p f g a a0 -> b # foldl' :: (b -> a0 -> b) -> b -> Biff p f g a a0 -> b # foldr1 :: (a0 -> a0 -> a0) -> Biff p f g a a0 -> a0 # foldl1 :: (a0 -> a0 -> a0) -> Biff p f g a a0 -> a0 # toList :: Biff p f g a a0 -> [a0] # null :: Biff p f g a a0 -> Bool # length :: Biff p f g a a0 -> Int # elem :: Eq a0 => a0 -> Biff p f g a a0 -> Bool # maximum :: Ord a0 => Biff p f g a a0 -> a0 # minimum :: Ord a0 => Biff p f g a a0 -> a0 # | |
Foldable (T9 a b c d e f g h) | |
Defined in Data.Tuple.Strict.T9 Methods fold :: Monoid m => T9 a b c d e f g h m -> m # foldMap :: Monoid m => (a0 -> m) -> T9 a b c d e f g h a0 -> m # foldMap' :: Monoid m => (a0 -> m) -> T9 a b c d e f g h a0 -> m # foldr :: (a0 -> b0 -> b0) -> b0 -> T9 a b c d e f g h a0 -> b0 # foldr' :: (a0 -> b0 -> b0) -> b0 -> T9 a b c d e f g h a0 -> b0 # foldl :: (b0 -> a0 -> b0) -> b0 -> T9 a b c d e f g h a0 -> b0 # foldl' :: (b0 -> a0 -> b0) -> b0 -> T9 a b c d e f g h a0 -> b0 # foldr1 :: (a0 -> a0 -> a0) -> T9 a b c d e f g h a0 -> a0 # foldl1 :: (a0 -> a0 -> a0) -> T9 a b c d e f g h a0 -> a0 # toList :: T9 a b c d e f g h a0 -> [a0] # null :: T9 a b c d e f g h a0 -> Bool # length :: T9 a b c d e f g h a0 -> Int # elem :: Eq a0 => a0 -> T9 a b c d e f g h a0 -> Bool # maximum :: Ord a0 => T9 a b c d e f g h a0 -> a0 # minimum :: Ord a0 => T9 a b c d e f g h a0 -> a0 # | |
Foldable (T10 a b c d e f g h i) | |
Defined in Data.Tuple.Strict.T10 Methods fold :: Monoid m => T10 a b c d e f g h i m -> m # foldMap :: Monoid m => (a0 -> m) -> T10 a b c d e f g h i a0 -> m # foldMap' :: Monoid m => (a0 -> m) -> T10 a b c d e f g h i a0 -> m # foldr :: (a0 -> b0 -> b0) -> b0 -> T10 a b c d e f g h i a0 -> b0 # foldr' :: (a0 -> b0 -> b0) -> b0 -> T10 a b c d e f g h i a0 -> b0 # foldl :: (b0 -> a0 -> b0) -> b0 -> T10 a b c d e f g h i a0 -> b0 # foldl' :: (b0 -> a0 -> b0) -> b0 -> T10 a b c d e f g h i a0 -> b0 # foldr1 :: (a0 -> a0 -> a0) -> T10 a b c d e f g h i a0 -> a0 # foldl1 :: (a0 -> a0 -> a0) -> T10 a b c d e f g h i a0 -> a0 # toList :: T10 a b c d e f g h i a0 -> [a0] # null :: T10 a b c d e f g h i a0 -> Bool # length :: T10 a b c d e f g h i a0 -> Int # elem :: Eq a0 => a0 -> T10 a b c d e f g h i a0 -> Bool # maximum :: Ord a0 => T10 a b c d e f g h i a0 -> a0 # minimum :: Ord a0 => T10 a b c d e f g h i a0 -> a0 # | |
Foldable (T11 a b c d e f g h i j) | |
Defined in Data.Tuple.Strict.T11 Methods fold :: Monoid m => T11 a b c d e f g h i j m -> m # foldMap :: Monoid m => (a0 -> m) -> T11 a b c d e f g h i j a0 -> m # foldMap' :: Monoid m => (a0 -> m) -> T11 a b c d e f g h i j a0 -> m # foldr :: (a0 -> b0 -> b0) -> b0 -> T11 a b c d e f g h i j a0 -> b0 # foldr' :: (a0 -> b0 -> b0) -> b0 -> T11 a b c d e f g h i j a0 -> b0 # foldl :: (b0 -> a0 -> b0) -> b0 -> T11 a b c d e f g h i j a0 -> b0 # foldl' :: (b0 -> a0 -> b0) -> b0 -> T11 a b c d e f g h i j a0 -> b0 # foldr1 :: (a0 -> a0 -> a0) -> T11 a b c d e f g h i j a0 -> a0 # foldl1 :: (a0 -> a0 -> a0) -> T11 a b c d e f g h i j a0 -> a0 # toList :: T11 a b c d e f g h i j a0 -> [a0] # null :: T11 a b c d e f g h i j a0 -> Bool # length :: T11 a b c d e f g h i j a0 -> Int # elem :: Eq a0 => a0 -> T11 a b c d e f g h i j a0 -> Bool # maximum :: Ord a0 => T11 a b c d e f g h i j a0 -> a0 # minimum :: Ord a0 => T11 a b c d e f g h i j a0 -> a0 # | |
Foldable (T12 a b c d e f g h i j k) | |
Defined in Data.Tuple.Strict.T12 Methods fold :: Monoid m => T12 a b c d e f g h i j k m -> m # foldMap :: Monoid m => (a0 -> m) -> T12 a b c d e f g h i j k a0 -> m # foldMap' :: Monoid m => (a0 -> m) -> T12 a b c d e f g h i j k a0 -> m # foldr :: (a0 -> b0 -> b0) -> b0 -> T12 a b c d e f g h i j k a0 -> b0 # foldr' :: (a0 -> b0 -> b0) -> b0 -> T12 a b c d e f g h i j k a0 -> b0 # foldl :: (b0 -> a0 -> b0) -> b0 -> T12 a b c d e f g h i j k a0 -> b0 # foldl' :: (b0 -> a0 -> b0) -> b0 -> T12 a b c d e f g h i j k a0 -> b0 # foldr1 :: (a0 -> a0 -> a0) -> T12 a b c d e f g h i j k a0 -> a0 # foldl1 :: (a0 -> a0 -> a0) -> T12 a b c d e f g h i j k a0 -> a0 # toList :: T12 a b c d e f g h i j k a0 -> [a0] # null :: T12 a b c d e f g h i j k a0 -> Bool # length :: T12 a b c d e f g h i j k a0 -> Int # elem :: Eq a0 => a0 -> T12 a b c d e f g h i j k a0 -> Bool # maximum :: Ord a0 => T12 a b c d e f g h i j k a0 -> a0 # minimum :: Ord a0 => T12 a b c d e f g h i j k a0 -> a0 # | |
Foldable (T13 a b c d e f g h i j k l) | |
Defined in Data.Tuple.Strict.T13 Methods fold :: Monoid m => T13 a b c d e f g h i j k l m -> m # foldMap :: Monoid m => (a0 -> m) -> T13 a b c d e f g h i j k l a0 -> m # foldMap' :: Monoid m => (a0 -> m) -> T13 a b c d e f g h i j k l a0 -> m # foldr :: (a0 -> b0 -> b0) -> b0 -> T13 a b c d e f g h i j k l a0 -> b0 # foldr' :: (a0 -> b0 -> b0) -> b0 -> T13 a b c d e f g h i j k l a0 -> b0 # foldl :: (b0 -> a0 -> b0) -> b0 -> T13 a b c d e f g h i j k l a0 -> b0 # foldl' :: (b0 -> a0 -> b0) -> b0 -> T13 a b c d e f g h i j k l a0 -> b0 # foldr1 :: (a0 -> a0 -> a0) -> T13 a b c d e f g h i j k l a0 -> a0 # foldl1 :: (a0 -> a0 -> a0) -> T13 a b c d e f g h i j k l a0 -> a0 # toList :: T13 a b c d e f g h i j k l a0 -> [a0] # null :: T13 a b c d e f g h i j k l a0 -> Bool # length :: T13 a b c d e f g h i j k l a0 -> Int # elem :: Eq a0 => a0 -> T13 a b c d e f g h i j k l a0 -> Bool # maximum :: Ord a0 => T13 a b c d e f g h i j k l a0 -> a0 # minimum :: Ord a0 => T13 a b c d e f g h i j k l a0 -> a0 # | |
Foldable (T14 a b c d e f g h i j k l m) | |
Defined in Data.Tuple.Strict.T14 Methods fold :: Monoid m0 => T14 a b c d e f g h i j k l m m0 -> m0 # foldMap :: Monoid m0 => (a0 -> m0) -> T14 a b c d e f g h i j k l m a0 -> m0 # foldMap' :: Monoid m0 => (a0 -> m0) -> T14 a b c d e f g h i j k l m a0 -> m0 # foldr :: (a0 -> b0 -> b0) -> b0 -> T14 a b c d e f g h i j k l m a0 -> b0 # foldr' :: (a0 -> b0 -> b0) -> b0 -> T14 a b c d e f g h i j k l m a0 -> b0 # foldl :: (b0 -> a0 -> b0) -> b0 -> T14 a b c d e f g h i j k l m a0 -> b0 # foldl' :: (b0 -> a0 -> b0) -> b0 -> T14 a b c d e f g h i j k l m a0 -> b0 # foldr1 :: (a0 -> a0 -> a0) -> T14 a b c d e f g h i j k l m a0 -> a0 # foldl1 :: (a0 -> a0 -> a0) -> T14 a b c d e f g h i j k l m a0 -> a0 # toList :: T14 a b c d e f g h i j k l m a0 -> [a0] # null :: T14 a b c d e f g h i j k l m a0 -> Bool # length :: T14 a b c d e f g h i j k l m a0 -> Int # elem :: Eq a0 => a0 -> T14 a b c d e f g h i j k l m a0 -> Bool # maximum :: Ord a0 => T14 a b c d e f g h i j k l m a0 -> a0 # minimum :: Ord a0 => T14 a b c d e f g h i j k l m a0 -> a0 # sum :: Num a0 => T14 a b c d e f g h i j k l m a0 -> a0 # product :: Num a0 => T14 a b c d e f g h i j k l m a0 -> a0 # | |
Foldable (T15 a b c d e f g h i j k l m n) | |
Defined in Data.Tuple.Strict.T15 Methods fold :: Monoid m0 => T15 a b c d e f g h i j k l m n m0 -> m0 # foldMap :: Monoid m0 => (a0 -> m0) -> T15 a b c d e f g h i j k l m n a0 -> m0 # foldMap' :: Monoid m0 => (a0 -> m0) -> T15 a b c d e f g h i j k l m n a0 -> m0 # foldr :: (a0 -> b0 -> b0) -> b0 -> T15 a b c d e f g h i j k l m n a0 -> b0 # foldr' :: (a0 -> b0 -> b0) -> b0 -> T15 a b c d e f g h i j k l m n a0 -> b0 # foldl :: (b0 -> a0 -> b0) -> b0 -> T15 a b c d e f g h i j k l m n a0 -> b0 # foldl' :: (b0 -> a0 -> b0) -> b0 -> T15 a b c d e f g h i j k l m n a0 -> b0 # foldr1 :: (a0 -> a0 -> a0) -> T15 a b c d e f g h i j k l m n a0 -> a0 # foldl1 :: (a0 -> a0 -> a0) -> T15 a b c d e f g h i j k l m n a0 -> a0 # toList :: T15 a b c d e f g h i j k l m n a0 -> [a0] # null :: T15 a b c d e f g h i j k l m n a0 -> Bool # length :: T15 a b c d e f g h i j k l m n a0 -> Int # elem :: Eq a0 => a0 -> T15 a b c d e f g h i j k l m n a0 -> Bool # maximum :: Ord a0 => T15 a b c d e f g h i j k l m n a0 -> a0 # minimum :: Ord a0 => T15 a b c d e f g h i j k l m n a0 -> a0 # sum :: Num a0 => T15 a b c d e f g h i j k l m n a0 -> a0 # product :: Num a0 => T15 a b c d e f g h i j k l m n a0 -> a0 # | |
Foldable (T16 a b c d e f g h i j k l m n o) | |
Defined in Data.Tuple.Strict.T16 Methods fold :: Monoid m0 => T16 a b c d e f g h i j k l m n o m0 -> m0 # foldMap :: Monoid m0 => (a0 -> m0) -> T16 a b c d e f g h i j k l m n o a0 -> m0 # foldMap' :: Monoid m0 => (a0 -> m0) -> T16 a b c d e f g h i j k l m n o a0 -> m0 # foldr :: (a0 -> b0 -> b0) -> b0 -> T16 a b c d e f g h i j k l m n o a0 -> b0 # foldr' :: (a0 -> b0 -> b0) -> b0 -> T16 a b c d e f g h i j k l m n o a0 -> b0 # foldl :: (b0 -> a0 -> b0) -> b0 -> T16 a b c d e f g h i j k l m n o a0 -> b0 # foldl' :: (b0 -> a0 -> b0) -> b0 -> T16 a b c d e f g h i j k l m n o a0 -> b0 # foldr1 :: (a0 -> a0 -> a0) -> T16 a b c d e f g h i j k l m n o a0 -> a0 # foldl1 :: (a0 -> a0 -> a0) -> T16 a b c d e f g h i j k l m n o a0 -> a0 # toList :: T16 a b c d e f g h i j k l m n o a0 -> [a0] # null :: T16 a b c d e f g h i j k l m n o a0 -> Bool # length :: T16 a b c d e f g h i j k l m n o a0 -> Int # elem :: Eq a0 => a0 -> T16 a b c d e f g h i j k l m n o a0 -> Bool # maximum :: Ord a0 => T16 a b c d e f g h i j k l m n o a0 -> a0 # minimum :: Ord a0 => T16 a b c d e f g h i j k l m n o a0 -> a0 # sum :: Num a0 => T16 a b c d e f g h i j k l m n o a0 -> a0 # product :: Num a0 => T16 a b c d e f g h i j k l m n o a0 -> a0 # | |
Foldable (T17 a b c d e f g h i j k l m n o p) | |
Defined in Data.Tuple.Strict.T17 Methods fold :: Monoid m0 => T17 a b c d e f g h i j k l m n o p m0 -> m0 # foldMap :: Monoid m0 => (a0 -> m0) -> T17 a b c d e f g h i j k l m n o p a0 -> m0 # foldMap' :: Monoid m0 => (a0 -> m0) -> T17 a b c d e f g h i j k l m n o p a0 -> m0 # foldr :: (a0 -> b0 -> b0) -> b0 -> T17 a b c d e f g h i j k l m n o p a0 -> b0 # foldr' :: (a0 -> b0 -> b0) -> b0 -> T17 a b c d e f g h i j k l m n o p a0 -> b0 # foldl :: (b0 -> a0 -> b0) -> b0 -> T17 a b c d e f g h i j k l m n o p a0 -> b0 # foldl' :: (b0 -> a0 -> b0) -> b0 -> T17 a b c d e f g h i j k l m n o p a0 -> b0 # foldr1 :: (a0 -> a0 -> a0) -> T17 a b c d e f g h i j k l m n o p a0 -> a0 # foldl1 :: (a0 -> a0 -> a0) -> T17 a b c d e f g h i j k l m n o p a0 -> a0 # toList :: T17 a b c d e f g h i j k l m n o p a0 -> [a0] # null :: T17 a b c d e f g h i j k l m n o p a0 -> Bool # length :: T17 a b c d e f g h i j k l m n o p a0 -> Int # elem :: Eq a0 => a0 -> T17 a b c d e f g h i j k l m n o p a0 -> Bool # maximum :: Ord a0 => T17 a b c d e f g h i j k l m n o p a0 -> a0 # minimum :: Ord a0 => T17 a b c d e f g h i j k l m n o p a0 -> a0 # sum :: Num a0 => T17 a b c d e f g h i j k l m n o p a0 -> a0 # product :: Num a0 => T17 a b c d e f g h i j k l m n o p a0 -> a0 # | |
Foldable (T18 a b c d e f g h i j k l m n o p q) | |
Defined in Data.Tuple.Strict.T18 Methods fold :: Monoid m0 => T18 a b c d e f g h i j k l m n o p q m0 -> m0 # foldMap :: Monoid m0 => (a0 -> m0) -> T18 a b c d e f g h i j k l m n o p q a0 -> m0 # foldMap' :: Monoid m0 => (a0 -> m0) -> T18 a b c d e f g h i j k l m n o p q a0 -> m0 # foldr :: (a0 -> b0 -> b0) -> b0 -> T18 a b c d e f g h i j k l m n o p q a0 -> b0 # foldr' :: (a0 -> b0 -> b0) -> b0 -> T18 a b c d e f g h i j k l m n o p q a0 -> b0 # foldl :: (b0 -> a0 -> b0) -> b0 -> T18 a b c d e f g h i j k l m n o p q a0 -> b0 # foldl' :: (b0 -> a0 -> b0) -> b0 -> T18 a b c d e f g h i j k l m n o p q a0 -> b0 # foldr1 :: (a0 -> a0 -> a0) -> T18 a b c d e f g h i j k l m n o p q a0 -> a0 # foldl1 :: (a0 -> a0 -> a0) -> T18 a b c d e f g h i j k l m n o p q a0 -> a0 # toList :: T18 a b c d e f g h i j k l m n o p q a0 -> [a0] # null :: T18 a b c d e f g h i j k l m n o p q a0 -> Bool # length :: T18 a b c d e f g h i j k l m n o p q a0 -> Int # elem :: Eq a0 => a0 -> T18 a b c d e f g h i j k l m n o p q a0 -> Bool # maximum :: Ord a0 => T18 a b c d e f g h i j k l m n o p q a0 -> a0 # minimum :: Ord a0 => T18 a b c d e f g h i j k l m n o p q a0 -> a0 # sum :: Num a0 => T18 a b c d e f g h i j k l m n o p q a0 -> a0 # product :: Num a0 => T18 a b c d e f g h i j k l m n o p q a0 -> a0 # | |
Foldable (T19 a b c d e f g h i j k l m n o p q r) | |
Defined in Data.Tuple.Strict.T19 Methods fold :: Monoid m0 => T19 a b c d e f g h i j k l m n o p q r m0 -> m0 # foldMap :: Monoid m0 => (a0 -> m0) -> T19 a b c d e f g h i j k l m n o p q r a0 -> m0 # foldMap' :: Monoid m0 => (a0 -> m0) -> T19 a b c d e f g h i j k l m n o p q r a0 -> m0 # foldr :: (a0 -> b0 -> b0) -> b0 -> T19 a b c d e f g h i j k l m n o p q r a0 -> b0 # foldr' :: (a0 -> b0 -> b0) -> b0 -> T19 a b c d e f g h i j k l m n o p q r a0 -> b0 # foldl :: (b0 -> a0 -> b0) -> b0 -> T19 a b c d e f g h i j k l m n o p q r a0 -> b0 # foldl' :: (b0 -> a0 -> b0) -> b0 -> T19 a b c d e f g h i j k l m n o p q r a0 -> b0 # foldr1 :: (a0 -> a0 -> a0) -> T19 a b c d e f g h i j k l m n o p q r a0 -> a0 # foldl1 :: (a0 -> a0 -> a0) -> T19 a b c d e f g h i j k l m n o p q r a0 -> a0 # toList :: T19 a b c d e f g h i j k l m n o p q r a0 -> [a0] # null :: T19 a b c d e f g h i j k l m n o p q r a0 -> Bool # length :: T19 a b c d e f g h i j k l m n o p q r a0 -> Int # elem :: Eq a0 => a0 -> T19 a b c d e f g h i j k l m n o p q r a0 -> Bool # maximum :: Ord a0 => T19 a b c d e f g h i j k l m n o p q r a0 -> a0 # minimum :: Ord a0 => T19 a b c d e f g h i j k l m n o p q r a0 -> a0 # sum :: Num a0 => T19 a b c d e f g h i j k l m n o p q r a0 -> a0 # product :: Num a0 => T19 a b c d e f g h i j k l m n o p q r a0 -> a0 # |
class (Functor t, Foldable t) => Traversable (t :: Type -> Type) where #
Functors representing data structures that can be traversed from left to right, performing an action on each element.
A more detailed description can be found in the overview section of Data.Traversable.
Methods
traverse :: Applicative f => (a -> f b) -> t a -> f (t b) #
Map each element of a structure to an action, evaluate these actions
from left to right, and collect the results. For a version that ignores
the results see traverse_
.
Examples
Basic usage:
In the first two examples we show each evaluated action mapping to the output structure.
>>>
traverse Just [1,2,3,4]
Just [1,2,3,4]
>>>
traverse id [Right 1, Right 2, Right 3, Right 4]
Right [1,2,3,4]
In the next examples, we show that Nothing
and Left
values short
circuit the created structure.
>>>
traverse (const Nothing) [1,2,3,4]
Nothing
>>>
traverse (\x -> if odd x then Just x else Nothing) [1,2,3,4]
Nothing
>>>
traverse id [Right 1, Right 2, Right 3, Right 4, Left 0]
Left 0
sequenceA :: Applicative f => t (f a) -> f (t a) #
Evaluate each action in the structure from left to right, and
collect the results. For a version that ignores the results
see sequenceA_
.
Examples
Basic usage:
For the first two examples we show sequenceA fully evaluating a a structure and collecting the results.
>>>
sequenceA [Just 1, Just 2, Just 3]
Just [1,2,3]
>>>
sequenceA [Right 1, Right 2, Right 3]
Right [1,2,3]
The next two example show Nothing
and Just
will short circuit
the resulting structure if present in the input. For more context,
check the Traversable
instances for Either
and Maybe
.
>>>
sequenceA [Just 1, Just 2, Just 3, Nothing]
Nothing
>>>
sequenceA [Right 1, Right 2, Right 3, Left 4]
Left 4
mapM :: Monad m => (a -> m b) -> t a -> m (t b) #
Map each element of a structure to a monadic action, evaluate
these actions from left to right, and collect the results. For
a version that ignores the results see mapM_
.
Examples
sequence :: Monad m => t (m a) -> m (t a) #
Evaluate each monadic action in the structure from left to
right, and collect the results. For a version that ignores the
results see sequence_
.
Examples
Basic usage:
The first two examples are instances where the input and
and output of sequence
are isomorphic.
>>>
sequence $ Right [1,2,3,4]
[Right 1,Right 2,Right 3,Right 4]
>>>
sequence $ [Right 1,Right 2,Right 3,Right 4]
Right [1,2,3,4]
The following examples demonstrate short circuit behavior
for sequence
.
>>>
sequence $ Left [1,2,3,4]
Left [1,2,3,4]
>>>
sequence $ [Left 0, Right 1,Right 2,Right 3,Right 4]
Left 0
Instances
Traversable [] | Since: base-2.1 |
Defined in Data.Traversable | |
Traversable Maybe | Since: base-2.1 |
Traversable Par1 | Since: base-4.9.0.0 |
Traversable Solo | Since: base-4.15 |
Traversable First | Since: base-4.9.0.0 |
Traversable Last | Since: base-4.9.0.0 |
Traversable VersionRangeF | |
Defined in Distribution.Types.VersionRange.Internal Methods traverse :: Applicative f => (a -> f b) -> VersionRangeF a -> f (VersionRangeF b) # sequenceA :: Applicative f => VersionRangeF (f a) -> f (VersionRangeF a) # mapM :: Monad m => (a -> m b) -> VersionRangeF a -> m (VersionRangeF b) # sequence :: Monad m => VersionRangeF (m a) -> m (VersionRangeF a) # | |
Traversable SCC | Since: containers-0.5.9 |
Traversable NonEmpty | Since: base-4.9.0.0 |
Traversable Identity | Since: base-4.9.0.0 |
Traversable Complex | Since: base-4.9.0.0 |
Traversable Min | Since: base-4.9.0.0 |
Traversable Max | Since: base-4.9.0.0 |
Traversable Option | Since: base-4.9.0.0 |
Traversable ZipList | Since: base-4.9.0.0 |
Traversable First | Since: base-4.8.0.0 |
Traversable Last | Since: base-4.8.0.0 |
Traversable Dual | Since: base-4.8.0.0 |
Traversable Sum | Since: base-4.8.0.0 |
Traversable Product | Since: base-4.8.0.0 |
Traversable Down | Since: base-4.12.0.0 |
Traversable IntMap | Traverses in order of increasing key. |
Traversable Tree | |
Traversable Seq | |
Traversable FingerTree | |
Defined in Data.Sequence.Internal Methods traverse :: Applicative f => (a -> f b) -> FingerTree a -> f (FingerTree b) # sequenceA :: Applicative f => FingerTree (f a) -> f (FingerTree a) # mapM :: Monad m => (a -> m b) -> FingerTree a -> m (FingerTree b) # sequence :: Monad m => FingerTree (m a) -> m (FingerTree a) # | |
Traversable Digit | |
Traversable Node | |
Traversable Elem | |
Traversable ViewL | |
Traversable ViewR | |
Traversable Vector | |
Defined in Data.Vector | |
Traversable Array | |
Defined in Data.Primitive.Array | |
Traversable SmallArray | |
Defined in Data.Primitive.SmallArray | |
Traversable T1 | |
Defined in Data.Tuple.Strict.T1 | |
Traversable Quaternion | |
Defined in Linear.Quaternion | |
Traversable V0 | |
Traversable V1 | |
Traversable V2 | |
Traversable V3 | |
Traversable V4 | |
Traversable Maybe | |
Defined in Data.Strict.Maybe | |
Traversable Plucker | |
Defined in Linear.Plucker | |
Traversable IResult | |
Defined in Data.Aeson.Types.Internal | |
Traversable Result | |
Defined in Data.Aeson.Types.Internal | |
Traversable DList | |
Defined in Data.DList.Internal | |
Traversable NEIntMap | |
Defined in Data.IntMap.NonEmpty.Internal | |
Traversable Activation | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable Alt | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable Annotation | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable Assoc | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable Asst | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable BangType | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable Binds | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable BooleanFormula | |
Defined in Language.Haskell.Exts.Syntax Methods traverse :: Applicative f => (a -> f b) -> BooleanFormula a -> f (BooleanFormula b) # sequenceA :: Applicative f => BooleanFormula (f a) -> f (BooleanFormula a) # mapM :: Monad m => (a -> m b) -> BooleanFormula a -> m (BooleanFormula b) # sequence :: Monad m => BooleanFormula (m a) -> m (BooleanFormula a) # | |
Traversable Bracket | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable CName | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable CallConv | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable ClassDecl | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable ConDecl | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable Context | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable DataOrNew | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable Decl | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable DeclHead | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable DerivStrategy | |
Defined in Language.Haskell.Exts.Syntax Methods traverse :: Applicative f => (a -> f b) -> DerivStrategy a -> f (DerivStrategy b) # sequenceA :: Applicative f => DerivStrategy (f a) -> f (DerivStrategy a) # mapM :: Monad m => (a -> m b) -> DerivStrategy a -> m (DerivStrategy b) # sequence :: Monad m => DerivStrategy (m a) -> m (DerivStrategy a) # | |
Traversable Deriving | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable EWildcard | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable Exp | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable ExportSpec | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable ExportSpecList | |
Defined in Language.Haskell.Exts.Syntax Methods traverse :: Applicative f => (a -> f b) -> ExportSpecList a -> f (ExportSpecList b) # sequenceA :: Applicative f => ExportSpecList (f a) -> f (ExportSpecList a) # mapM :: Monad m => (a -> m b) -> ExportSpecList a -> m (ExportSpecList b) # sequence :: Monad m => ExportSpecList (m a) -> m (ExportSpecList a) # | |
Traversable FieldDecl | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable FieldUpdate | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable FunDep | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable GadtDecl | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable GuardedRhs | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable IPBind | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable IPName | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable ImportDecl | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable ImportSpec | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable ImportSpecList | |
Defined in Language.Haskell.Exts.Syntax Methods traverse :: Applicative f => (a -> f b) -> ImportSpecList a -> f (ImportSpecList b) # sequenceA :: Applicative f => ImportSpecList (f a) -> f (ImportSpecList a) # mapM :: Monad m => (a -> m b) -> ImportSpecList a -> m (ImportSpecList b) # sequence :: Monad m => ImportSpecList (m a) -> m (ImportSpecList a) # | |
Traversable InjectivityInfo | |
Defined in Language.Haskell.Exts.Syntax Methods traverse :: Applicative f => (a -> f b) -> InjectivityInfo a -> f (InjectivityInfo b) # sequenceA :: Applicative f => InjectivityInfo (f a) -> f (InjectivityInfo a) # mapM :: Monad m => (a -> m b) -> InjectivityInfo a -> m (InjectivityInfo b) # sequence :: Monad m => InjectivityInfo (m a) -> m (InjectivityInfo a) # | |
Traversable InstDecl | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable InstHead | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable InstRule | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable Literal | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable Match | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable MaybePromotedName | |
Defined in Language.Haskell.Exts.Syntax Methods traverse :: Applicative f => (a -> f b) -> MaybePromotedName a -> f (MaybePromotedName b) # sequenceA :: Applicative f => MaybePromotedName (f a) -> f (MaybePromotedName a) # mapM :: Monad m => (a -> m b) -> MaybePromotedName a -> m (MaybePromotedName b) # sequence :: Monad m => MaybePromotedName (m a) -> m (MaybePromotedName a) # | |
Traversable Module | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable ModuleHead | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable ModuleName | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable ModulePragma | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable Name | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable Namespace | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable Op | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable Overlap | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable PXAttr | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable Pat | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable PatField | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable PatternSynDirection | |
Defined in Language.Haskell.Exts.Syntax Methods traverse :: Applicative f => (a -> f b) -> PatternSynDirection a -> f (PatternSynDirection b) # sequenceA :: Applicative f => PatternSynDirection (f a) -> f (PatternSynDirection a) # mapM :: Monad m => (a -> m b) -> PatternSynDirection a -> m (PatternSynDirection b) # sequence :: Monad m => PatternSynDirection (m a) -> m (PatternSynDirection a) # | |
Traversable Promoted | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable QName | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable QOp | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable QualConDecl | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable QualStmt | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable RPat | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable RPatOp | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable ResultSig | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable Rhs | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable Role | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable Rule | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable RuleVar | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable Safety | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable Sign | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable SpecialCon | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable Splice | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable Stmt | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable TyVarBind | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable Type | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable TypeEqn | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable Unpackedness | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable WarningText | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable XAttr | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable XName | |
Defined in Language.Haskell.Exts.Syntax | |
Traversable Error | |
Defined in Language.Haskell.Names.Types | |
Traversable NameInfo | |
Defined in Language.Haskell.Names.Types | |
Traversable Scoped | |
Defined in Language.Haskell.Names.Types | |
Traversable Conditional | |
Defined in Hpack.Config | |
Traversable Section | |
Defined in Hpack.Config | |
Traversable List | |
Defined in Data.Aeson.Config.Types | |
Traversable Response | |
Defined in Network.HTTP.Client.Types | |
Traversable HistoriedResponse | |
Defined in Network.HTTP.Client Methods traverse :: Applicative f => (a -> f b) -> HistoriedResponse a -> f (HistoriedResponse b) # sequenceA :: Applicative f => HistoriedResponse (f a) -> f (HistoriedResponse a) # mapM :: Monad m => (a -> m b) -> HistoriedResponse a -> m (HistoriedResponse b) # sequence :: Monad m => HistoriedResponse (m a) -> m (HistoriedResponse a) # | |
Traversable ResponseF | |
Defined in Servant.Client.Core.Response | |
Traversable I | |
Defined in Data.SOP.BasicFunctors | |
Traversable Add | |
Defined in Data.Semiring | |
Traversable Mul | |
Defined in Data.Semiring | |
Traversable WrappedNum | |
Defined in Data.Semiring | |
Traversable NESeq | |
Defined in Data.Sequence.NonEmpty.Internal | |
Traversable MonoidalIntMap | |
Defined in Data.IntMap.Monoidal.Strict Methods traverse :: Applicative f => (a -> f b) -> MonoidalIntMap a -> f (MonoidalIntMap b) # sequenceA :: Applicative f => MonoidalIntMap (f a) -> f (MonoidalIntMap a) # mapM :: Monad m => (a -> m b) -> MonoidalIntMap a -> m (MonoidalIntMap b) # sequence :: Monad m => MonoidalIntMap (m a) -> m (MonoidalIntMap a) # | |
Traversable GMonoid | |
Defined in Data.Monoid.OneLiner | |
Traversable Template | |
Defined in Text.DocTemplates.Internal | |
Traversable Context | |
Defined in Text.DocTemplates.Internal | |
Traversable Val | |
Defined in Text.DocTemplates.Internal | |
Traversable Many | |
Defined in Text.Pandoc.Builder | |
Traversable Doc | |
Defined in Text.DocLayout | |
Traversable Resolved | |
Defined in Text.DocTemplates.Internal | |
Traversable Reference | |
Defined in Citeproc.Types | |
Traversable Result | |
Defined in Citeproc.Types | |
Traversable Val | |
Defined in Citeproc.Types | |
Traversable Root | |
Defined in Numeric.RootFinding | |
Traversable (Either a) | Since: base-4.7.0.0 |
Defined in Data.Traversable | |
Traversable (V1 :: Type -> Type) | Since: base-4.9.0.0 |
Traversable (U1 :: Type -> Type) | Since: base-4.9.0.0 |
Traversable (UAddr :: Type -> Type) | Since: base-4.9.0.0 |
Traversable (UChar :: Type -> Type) | Since: base-4.9.0.0 |
Traversable (UDouble :: Type -> Type) | Since: base-4.9.0.0 |
Traversable (UFloat :: Type -> Type) | Since: base-4.9.0.0 |
Traversable (UInt :: Type -> Type) | Since: base-4.9.0.0 |
Traversable (UWord :: Type -> Type) | Since: base-4.9.0.0 |
Traversable ((,) a) | Since: base-4.7.0.0 |
Defined in Data.Traversable | |
Traversable (Map k) | Traverses in order of increasing key. |
Traversable (Proxy :: Type -> Type) | Since: base-4.7.0.0 |
Ix i => Traversable (Array i) | Since: base-2.1 |
Traversable (Arg a) | Since: base-4.9.0.0 |
Traversable f => Traversable (MaybeT f) | |
Defined in Control.Monad.Trans.Maybe | |
Traversable f => Traversable (ListT f) | |
Traversable (HashMap k) | |
Defined in Data.HashMap.Internal | |
Traversable f => Traversable (Cofree f) | |
Defined in Control.Comonad.Cofree | |
Traversable (Level i) | |
Traversable (These a) | |
Defined in Data.These | |
Traversable (T2 a) | |
Defined in Data.Tuple.Strict.T2 | |
Traversable (NEMap k) | |
Traversable f => Traversable (Free f) | |
Defined in Control.Monad.Free | |
Traversable f => Traversable (Yoneda f) | |
Defined in Data.Functor.Yoneda | |
Traversable (Pair e) | |
Defined in Data.Strict.Tuple | |
Traversable (Either e) | |
Defined in Data.Strict.Either | |
Traversable (These a) | |
Defined in Data.Strict.These | |
Traversable (ListF a) | |
Defined in Data.Functor.Base | |
Traversable f => Traversable (F f) | |
Defined in Control.Monad.Free.Church | |
Traversable (NonEmptyF a) | |
Defined in Data.Functor.Base | |
Traversable (TreeF a) | |
Defined in Data.Functor.Base | |
Traversable (IntPSQ p) | |
Defined in Data.IntPSQ.Internal | |
Traversable (Product a) | |
Defined in Data.Aeson.Config.Types | |
Traversable (RequestF body) | |
Defined in Servant.Client.Core.Request Methods traverse :: Applicative f => (a -> f b) -> RequestF body a -> f (RequestF body b) # sequenceA :: Applicative f => RequestF body (f a) -> f (RequestF body a) # mapM :: Monad m => (a -> m b) -> RequestF body a -> m (RequestF body b) # sequence :: Monad m => RequestF body (m a) -> m (RequestF body a) # | |
Traversable (MonoidalMap k) | |
Defined in Data.Map.Monoidal.Strict Methods traverse :: Applicative f => (a -> f b) -> MonoidalMap k a -> f (MonoidalMap k b) # sequenceA :: Applicative f => MonoidalMap k (f a) -> f (MonoidalMap k a) # mapM :: Monad m => (a -> m b) -> MonoidalMap k a -> m (MonoidalMap k b) # sequence :: Monad m => MonoidalMap k (m a) -> m (MonoidalMap k a) # | |
Ord k => Traversable (IntervalMap k) | |
Defined in Data.IntervalMap.Base Methods traverse :: Applicative f => (a -> f b) -> IntervalMap k a -> f (IntervalMap k b) # sequenceA :: Applicative f => IntervalMap k (f a) -> f (IntervalMap k a) # mapM :: Monad m => (a -> m b) -> IntervalMap k a -> m (IntervalMap k b) # sequence :: Monad m => IntervalMap k (m a) -> m (IntervalMap k a) # | |
Traversable (These a) | |
Defined in Data.These | |
TraversableB b => Traversable (Container b) | |
Defined in Barbies.Internal.Containers | |
TraversableB b => Traversable (ErrorContainer b) | |
Defined in Barbies.Internal.Containers Methods traverse :: Applicative f => (a -> f b0) -> ErrorContainer b a -> f (ErrorContainer b b0) # sequenceA :: Applicative f => ErrorContainer b (f a) -> f (ErrorContainer b a) # mapM :: Monad m => (a -> m b0) -> ErrorContainer b a -> m (ErrorContainer b b0) # sequence :: Monad m => ErrorContainer b (m a) -> m (ErrorContainer b a) # | |
Traversable (Vec n) | |
Defined in Data.Vec.Lazy | |
Traversable v => Traversable (Bootstrap v) | |
Defined in Statistics.Resampling | |
Traversable f => Traversable (Rec1 f) | Since: base-4.9.0.0 |
Traversable (Const m :: Type -> Type) | Since: base-4.7.0.0 |
Traversable f => Traversable (Ap f) | Since: base-4.12.0.0 |
Traversable f => Traversable (Alt f) | Since: base-4.12.0.0 |
Traversable f => Traversable (ExceptT e f) | |
Defined in Control.Monad.Trans.Except | |
Traversable f => Traversable (IdentityT f) | |
Defined in Control.Monad.Trans.Identity | |
Traversable f => Traversable (ErrorT e f) | |
Defined in Control.Monad.Trans.Error | |
Traversable f => Traversable (WriterT w f) | |
Defined in Control.Monad.Trans.Writer.Lazy | |
Traversable f => Traversable (WriterT w f) | |
Defined in Control.Monad.Trans.Writer.Strict | |
Traversable f => Traversable (Backwards f) | Derived instance. |
Defined in Control.Applicative.Backwards | |
(Monad m, Traversable m, Traversable f) => Traversable (FreeT f m) | |
Defined in Control.Monad.Trans.Free | |
(Monad m, Traversable m, Traversable f) => Traversable (FT f m) | |
Defined in Control.Monad.Trans.Free.Church | |
Traversable f => Traversable (FreeF f a) | |
Defined in Control.Monad.Trans.Free | |
Bitraversable p => Traversable (Join p) | |
Defined in Data.Bifunctor.Join | |
Traversable (Tagged s) | |
Defined in Data.Tagged | |
Traversable v => Traversable (Vector v n) | |
Defined in Data.Vector.Generic.Sized.Internal | |
Traversable (T3 a b) | |
Defined in Data.Tuple.Strict.T3 | |
Bitraversable p => Traversable (Fix p) | |
Defined in Data.Bifunctor.Fix | |
Traversable f => Traversable (CofreeF f a) | |
Defined in Control.Comonad.Trans.Cofree Methods traverse :: Applicative f0 => (a0 -> f0 b) -> CofreeF f a a0 -> f0 (CofreeF f a b) # sequenceA :: Applicative f0 => CofreeF f a (f0 a0) -> f0 (CofreeF f a a0) # mapM :: Monad m => (a0 -> m b) -> CofreeF f a a0 -> m (CofreeF f a b) # sequence :: Monad m => CofreeF f a (m a0) -> m (CofreeF f a a0) # | |
(Traversable f, Traversable w) => Traversable (CofreeT f w) | |
Defined in Control.Comonad.Trans.Cofree | |
Traversable (V n) | |
(Traversable f, Traversable g) => Traversable (These1 f g) | |
Defined in Data.Functor.These | |
Traversable (OrdPSQ k p) | |
Defined in Data.OrdPSQ.Internal | |
Traversable (Elem k p) | |
Defined in Data.OrdPSQ.Internal | |
Traversable (LTree k p) | |
Defined in Data.OrdPSQ.Internal | |
Traversable w => Traversable (EnvT e w) | |
Defined in Control.Comonad.Trans.Env | |
Traversable f => Traversable (AlongsideLeft f b) | |
Defined in Control.Lens.Internal.Getter Methods traverse :: Applicative f0 => (a -> f0 b0) -> AlongsideLeft f b a -> f0 (AlongsideLeft f b b0) # sequenceA :: Applicative f0 => AlongsideLeft f b (f0 a) -> f0 (AlongsideLeft f b a) # mapM :: Monad m => (a -> m b0) -> AlongsideLeft f b a -> m (AlongsideLeft f b b0) # sequence :: Monad m => AlongsideLeft f b (m a) -> m (AlongsideLeft f b a) # | |
Traversable f => Traversable (AlongsideRight f a) | |
Defined in Control.Lens.Internal.Getter Methods traverse :: Applicative f0 => (a0 -> f0 b) -> AlongsideRight f a a0 -> f0 (AlongsideRight f a b) # sequenceA :: Applicative f0 => AlongsideRight f a (f0 a0) -> f0 (AlongsideRight f a a0) # mapM :: Monad m => (a0 -> m b) -> AlongsideRight f a a0 -> m (AlongsideRight f a b) # sequence :: Monad m => AlongsideRight f a (m a0) -> m (AlongsideRight f a a0) # | |
Traversable (K a :: Type -> Type) | |
Defined in Data.SOP.BasicFunctors | |
Traversable (K1 i c :: Type -> Type) | Since: base-4.9.0.0 |
(Traversable f, Traversable g) => Traversable (f :+: g) | Since: base-4.9.0.0 |
Defined in Data.Traversable | |
(Traversable f, Traversable g) => Traversable (f :*: g) | Since: base-4.9.0.0 |
Defined in Data.Traversable | |
(Traversable f, Traversable g) => Traversable (Product f g) | Since: base-4.9.0.0 |
Defined in Data.Functor.Product | |
(Traversable f, Traversable g) => Traversable (Sum f g) | Since: base-4.9.0.0 |
Traversable (Magma i t b) | |
Defined in Control.Lens.Internal.Magma | |
Traversable (T4 a b c) | |
Defined in Data.Tuple.Strict.T4 | |
Traversable (Forget r a :: Type -> Type) | |
Defined in Data.Profunctor.Types | |
Traversable f => Traversable (M1 i c f) | Since: base-4.9.0.0 |
(Traversable f, Traversable g) => Traversable (f :.: g) | Since: base-4.9.0.0 |
Defined in Data.Traversable | |
(Traversable f, Traversable g) => Traversable (Compose f g) | Since: base-4.9.0.0 |
Defined in Data.Functor.Compose | |
Traversable (Clown f a :: Type -> Type) | |
Defined in Data.Bifunctor.Clown | |
Bitraversable p => Traversable (Flip p a) | |
Defined in Data.Bifunctor.Flip | |
Traversable g => Traversable (Joker g a) | |
Defined in Data.Bifunctor.Joker | |
Bitraversable p => Traversable (WrappedBifunctor p a) | |
Defined in Data.Bifunctor.Wrapped Methods traverse :: Applicative f => (a0 -> f b) -> WrappedBifunctor p a a0 -> f (WrappedBifunctor p a b) # sequenceA :: Applicative f => WrappedBifunctor p a (f a0) -> f (WrappedBifunctor p a a0) # mapM :: Monad m => (a0 -> m b) -> WrappedBifunctor p a a0 -> m (WrappedBifunctor p a b) # sequence :: Monad m => WrappedBifunctor p a (m a0) -> m (WrappedBifunctor p a a0) # | |
Traversable (T5 a b c d) | |
Defined in Data.Tuple.Strict.T5 | |
(Traversable f, Traversable g) => Traversable (f :.: g) | |
Defined in Data.SOP.BasicFunctors | |
Traversable (T6 a b c d e) | |
Defined in Data.Tuple.Strict.T6 Methods traverse :: Applicative f => (a0 -> f b0) -> T6 a b c d e a0 -> f (T6 a b c d e b0) # sequenceA :: Applicative f => T6 a b c d e (f a0) -> f (T6 a b c d e a0) # mapM :: Monad m => (a0 -> m b0) -> T6 a b c d e a0 -> m (T6 a b c d e b0) # sequence :: Monad m => T6 a b c d e (m a0) -> m (T6 a b c d e a0) # | |
(Traversable f, Bitraversable p) => Traversable (Tannen f p a) | |
Defined in Data.Bifunctor.Tannen Methods traverse :: Applicative f0 => (a0 -> f0 b) -> Tannen f p a a0 -> f0 (Tannen f p a b) # sequenceA :: Applicative f0 => Tannen f p a (f0 a0) -> f0 (Tannen f p a a0) # mapM :: Monad m => (a0 -> m b) -> Tannen f p a a0 -> m (Tannen f p a b) # sequence :: Monad m => Tannen f p a (m a0) -> m (Tannen f p a a0) # | |
Traversable (T7 a b c d e f) | |
Defined in Data.Tuple.Strict.T7 Methods traverse :: Applicative f0 => (a0 -> f0 b0) -> T7 a b c d e f a0 -> f0 (T7 a b c d e f b0) # sequenceA :: Applicative f0 => T7 a b c d e f (f0 a0) -> f0 (T7 a b c d e f a0) # mapM :: Monad m => (a0 -> m b0) -> T7 a b c d e f a0 -> m (T7 a b c d e f b0) # sequence :: Monad m => T7 a b c d e f (m a0) -> m (T7 a b c d e f a0) # | |
Traversable (T8 a b c d e f g) | |
Defined in Data.Tuple.Strict.T8 Methods traverse :: Applicative f0 => (a0 -> f0 b0) -> T8 a b c d e f g a0 -> f0 (T8 a b c d e f g b0) # sequenceA :: Applicative f0 => T8 a b c d e f g (f0 a0) -> f0 (T8 a b c d e f g a0) # mapM :: Monad m => (a0 -> m b0) -> T8 a b c d e f g a0 -> m (T8 a b c d e f g b0) # sequence :: Monad m => T8 a b c d e f g (m a0) -> m (T8 a b c d e f g a0) # | |
(Bitraversable p, Traversable g) => Traversable (Biff p f g a) | |
Defined in Data.Bifunctor.Biff Methods traverse :: Applicative f0 => (a0 -> f0 b) -> Biff p f g a a0 -> f0 (Biff p f g a b) # sequenceA :: Applicative f0 => Biff p f g a (f0 a0) -> f0 (Biff p f g a a0) # mapM :: Monad m => (a0 -> m b) -> Biff p f g a a0 -> m (Biff p f g a b) # sequence :: Monad m => Biff p f g a (m a0) -> m (Biff p f g a a0) # | |
Traversable (T9 a b c d e f g h) | |
Defined in Data.Tuple.Strict.T9 Methods traverse :: Applicative f0 => (a0 -> f0 b0) -> T9 a b c d e f g h a0 -> f0 (T9 a b c d e f g h b0) # sequenceA :: Applicative f0 => T9 a b c d e f g h (f0 a0) -> f0 (T9 a b c d e f g h a0) # mapM :: Monad m => (a0 -> m b0) -> T9 a b c d e f g h a0 -> m (T9 a b c d e f g h b0) # sequence :: Monad m => T9 a b c d e f g h (m a0) -> m (T9 a b c d e f g h a0) # | |
Traversable (T10 a b c d e f g h i) | |
Defined in Data.Tuple.Strict.T10 Methods traverse :: Applicative f0 => (a0 -> f0 b0) -> T10 a b c d e f g h i a0 -> f0 (T10 a b c d e f g h i b0) # sequenceA :: Applicative f0 => T10 a b c d e f g h i (f0 a0) -> f0 (T10 a b c d e f g h i a0) # mapM :: Monad m => (a0 -> m b0) -> T10 a b c d e f g h i a0 -> m (T10 a b c d e f g h i b0) # sequence :: Monad m => T10 a b c d e f g h i (m a0) -> m (T10 a b c d e f g h i a0) # | |
Traversable (T11 a b c d e f g h i j) | |
Defined in Data.Tuple.Strict.T11 Methods traverse :: Applicative f0 => (a0 -> f0 b0) -> T11 a b c d e f g h i j a0 -> f0 (T11 a b c d e f g h i j b0) # sequenceA :: Applicative f0 => T11 a b c d e f g h i j (f0 a0) -> f0 (T11 a b c d e f g h i j a0) # mapM :: Monad m => (a0 -> m b0) -> T11 a b c d e f g h i j a0 -> m (T11 a b c d e f g h i j b0) # sequence :: Monad m => T11 a b c d e f g h i j (m a0) -> m (T11 a b c d e f g h i j a0) # | |
Traversable (T12 a b c d e f g h i j k) | |
Defined in Data.Tuple.Strict.T12 Methods traverse :: Applicative f0 => (a0 -> f0 b0) -> T12 a b c d e f g h i j k a0 -> f0 (T12 a b c d e f g h i j k b0) # sequenceA :: Applicative f0 => T12 a b c d e f g h i j k (f0 a0) -> f0 (T12 a b c d e f g h i j k a0) # mapM :: Monad m => (a0 -> m b0) -> T12 a b c d e f g h i j k a0 -> m (T12 a b c d e f g h i j k b0) # sequence :: Monad m => T12 a b c d e f g h i j k (m a0) -> m (T12 a b c d e f g h i j k a0) # | |
Traversable (T13 a b c d e f g h i j k l) | |
Defined in Data.Tuple.Strict.T13 Methods traverse :: Applicative f0 => (a0 -> f0 b0) -> T13 a b c d e f g h i j k l a0 -> f0 (T13 a b c d e f g h i j k l b0) # sequenceA :: Applicative f0 => T13 a b c d e f g h i j k l (f0 a0) -> f0 (T13 a b c d e f g h i j k l a0) # mapM :: Monad m => (a0 -> m b0) -> T13 a b c d e f g h i j k l a0 -> m (T13 a b c d e f g h i j k l b0) # sequence :: Monad m => T13 a b c d e f g h i j k l (m a0) -> m (T13 a b c d e f g h i j k l a0) # | |
Traversable (T14 a b c d e f g h i j k l m) | |
Defined in Data.Tuple.Strict.T14 Methods traverse :: Applicative f0 => (a0 -> f0 b0) -> T14 a b c d e f g h i j k l m a0 -> f0 (T14 a b c d e f g h i j k l m b0) # sequenceA :: Applicative f0 => T14 a b c d e f g h i j k l m (f0 a0) -> f0 (T14 a b c d e f g h i j k l m a0) # mapM :: Monad m0 => (a0 -> m0 b0) -> T14 a b c d e f g h i j k l m a0 -> m0 (T14 a b c d e f g h i j k l m b0) # sequence :: Monad m0 => T14 a b c d e f g h i j k l m (m0 a0) -> m0 (T14 a b c d e f g h i j k l m a0) # | |
Traversable (T15 a b c d e f g h i j k l m n) | |
Defined in Data.Tuple.Strict.T15 Methods traverse :: Applicative f0 => (a0 -> f0 b0) -> T15 a b c d e f g h i j k l m n a0 -> f0 (T15 a b c d e f g h i j k l m n b0) # sequenceA :: Applicative f0 => T15 a b c d e f g h i j k l m n (f0 a0) -> f0 (T15 a b c d e f g h i j k l m n a0) # mapM :: Monad m0 => (a0 -> m0 b0) -> T15 a b c d e f g h i j k l m n a0 -> m0 (T15 a b c d e f g h i j k l m n b0) # sequence :: Monad m0 => T15 a b c d e f g h i j k l m n (m0 a0) -> m0 (T15 a b c d e f g h i j k l m n a0) # | |
Traversable (T16 a b c d e f g h i j k l m n o) | |
Defined in Data.Tuple.Strict.T16 Methods traverse :: Applicative f0 => (a0 -> f0 b0) -> T16 a b c d e f g h i j k l m n o a0 -> f0 (T16 a b c d e f g h i j k l m n o b0) # sequenceA :: Applicative f0 => T16 a b c d e f g h i j k l m n o (f0 a0) -> f0 (T16 a b c d e f g h i j k l m n o a0) # mapM :: Monad m0 => (a0 -> m0 b0) -> T16 a b c d e f g h i j k l m n o a0 -> m0 (T16 a b c d e f g h i j k l m n o b0) # sequence :: Monad m0 => T16 a b c d e f g h i j k l m n o (m0 a0) -> m0 (T16 a b c d e f g h i j k l m n o a0) # | |
Traversable (T17 a b c d e f g h i j k l m n o p) | |
Defined in Data.Tuple.Strict.T17 Methods traverse :: Applicative f0 => (a0 -> f0 b0) -> T17 a b c d e f g h i j k l m n o p a0 -> f0 (T17 a b c d e f g h i j k l m n o p b0) # sequenceA :: Applicative f0 => T17 a b c d e f g h i j k l m n o p (f0 a0) -> f0 (T17 a b c d e f g h i j k l m n o p a0) # mapM :: Monad m0 => (a0 -> m0 b0) -> T17 a b c d e f g h i j k l m n o p a0 -> m0 (T17 a b c d e f g h i j k l m n o p b0) # sequence :: Monad m0 => T17 a b c d e f g h i j k l m n o p (m0 a0) -> m0 (T17 a b c d e f g h i j k l m n o p a0) # | |
Traversable (T18 a b c d e f g h i j k l m n o p q) | |
Defined in Data.Tuple.Strict.T18 Methods traverse :: Applicative f0 => (a0 -> f0 b0) -> T18 a b c d e f g h i j k l m n o p q a0 -> f0 (T18 a b c d e f g h i j k l m n o p q b0) # sequenceA :: Applicative f0 => T18 a b c d e f g h i j k l m n o p q (f0 a0) -> f0 (T18 a b c d e f g h i j k l m n o p q a0) # mapM :: Monad m0 => (a0 -> m0 b0) -> T18 a b c d e f g h i j k l m n o p q a0 -> m0 (T18 a b c d e f g h i j k l m n o p q b0) # sequence :: Monad m0 => T18 a b c d e f g h i j k l m n o p q (m0 a0) -> m0 (T18 a b c d e f g h i j k l m n o p q a0) # | |
Traversable (T19 a b c d e f g h i j k l m n o p q r) | |
Defined in Data.Tuple.Strict.T19 Methods traverse :: Applicative f0 => (a0 -> f0 b0) -> T19 a b c d e f g h i j k l m n o p q r a0 -> f0 (T19 a b c d e f g h i j k l m n o p q r b0) # sequenceA :: Applicative f0 => T19 a b c d e f g h i j k l m n o p q r (f0 a0) -> f0 (T19 a b c d e f g h i j k l m n o p q r a0) # mapM :: Monad m0 => (a0 -> m0 b0) -> T19 a b c d e f g h i j k l m n o p q r a0 -> m0 (T19 a b c d e f g h i j k l m n o p q r b0) # sequence :: Monad m0 => T19 a b c d e f g h i j k l m n o p q r (m0 a0) -> m0 (T19 a b c d e f g h i j k l m n o p q r a0) # |
Representable types of kind *
.
This class is derivable in GHC with the DeriveGeneric
flag on.
A Generic
instance must satisfy the following laws:
from
.to
≡id
to
.from
≡id
Instances
Generic Bool | Since: base-4.6.0.0 |
Generic Ordering | Since: base-4.6.0.0 |
Generic Exp | |
Generic Match | |
Generic Clause | |
Generic Pat | |
Generic Stmt | |
Generic Con | |
Generic Type | |
Generic Dec | |
Generic Name | |
Generic FunDep | |
Generic RuleBndr | |
Generic TySynEqn | |
Generic InjectivityAnn | |
Defined in Language.Haskell.TH.Syntax Associated Types type Rep InjectivityAnn :: Type -> Type # Methods from :: InjectivityAnn -> Rep InjectivityAnn x # to :: Rep InjectivityAnn x -> InjectivityAnn # | |
Generic Overlap | |
Generic DerivClause | |
Defined in Language.Haskell.TH.Syntax Associated Types type Rep DerivClause :: Type -> Type # | |
Generic DerivStrategy | |
Defined in Language.Haskell.TH.Syntax Associated Types type Rep DerivStrategy :: Type -> Type # | |
Generic ModName | |
Generic () | Since: base-4.6.0.0 |
Generic Doc | |
Generic Version | Since: base-4.9.0.0 |
Generic License | |
Generic Dependency | |
Defined in Distribution.Types.Dependency Associated Types type Rep Dependency :: Type -> Type # | |
Generic ExeDependency | |
Defined in Distribution.Types.ExeDependency Associated Types type Rep ExeDependency :: Type -> Type # | |
Generic LegacyExeDependency | |
Defined in Distribution.Types.LegacyExeDependency Associated Types type Rep LegacyExeDependency :: Type -> Type # Methods from :: LegacyExeDependency -> Rep LegacyExeDependency x # to :: Rep LegacyExeDependency x -> LegacyExeDependency # | |
Generic MungedPackageId | |
Defined in Distribution.Types.MungedPackageId Associated Types type Rep MungedPackageId :: Type -> Type # Methods from :: MungedPackageId -> Rep MungedPackageId x # to :: Rep MungedPackageId x -> MungedPackageId # | |
Generic Module | |
Generic UnitId | |
Generic DefUnitId | |
Generic PackageIdentifier | |
Defined in Distribution.Types.PackageId Associated Types type Rep PackageIdentifier :: Type -> Type # Methods from :: PackageIdentifier -> Rep PackageIdentifier x # to :: Rep PackageIdentifier x -> PackageIdentifier # | |
Generic ModuleName | |
Defined in Distribution.ModuleName Associated Types type Rep ModuleName :: Type -> Type # | |
Generic License | |
Generic LicenseExpression | |
Defined in Distribution.SPDX.LicenseExpression Associated Types type Rep LicenseExpression :: Type -> Type # Methods from :: LicenseExpression -> Rep LicenseExpression x # to :: Rep LicenseExpression x -> LicenseExpression # | |
Generic SimpleLicenseExpression | |
Defined in Distribution.SPDX.LicenseExpression Associated Types type Rep SimpleLicenseExpression :: Type -> Type # Methods from :: SimpleLicenseExpression -> Rep SimpleLicenseExpression x # to :: Rep SimpleLicenseExpression x -> SimpleLicenseExpression # | |
Generic LicenseExceptionId | |
Defined in Distribution.SPDX.LicenseExceptionId Associated Types type Rep LicenseExceptionId :: Type -> Type # Methods from :: LicenseExceptionId -> Rep LicenseExceptionId x # to :: Rep LicenseExceptionId x -> LicenseExceptionId # | |
Generic LicenseId | |
Generic LicenseRef | |
Defined in Distribution.SPDX.LicenseReference Associated Types type Rep LicenseRef :: Type -> Type # | |
Generic AbiHash | |
Generic ComponentId | |
Defined in Distribution.Types.ComponentId Associated Types type Rep ComponentId :: Type -> Type # | |
Generic ComponentName | |
Defined in Distribution.Types.ComponentName Associated Types type Rep ComponentName :: Type -> Type # | |
Generic MungedPackageName | |
Defined in Distribution.Types.MungedPackageName Associated Types type Rep MungedPackageName :: Type -> Type # Methods from :: MungedPackageName -> Rep MungedPackageName x # to :: Rep MungedPackageName x -> MungedPackageName # | |
Generic LibraryName | |
Defined in Distribution.Types.LibraryName Associated Types type Rep LibraryName :: Type -> Type # | |
Generic UnqualComponentName | |
Defined in Distribution.Types.UnqualComponentName Associated Types type Rep UnqualComponentName :: Type -> Type # Methods from :: UnqualComponentName -> Rep UnqualComponentName x # to :: Rep UnqualComponentName x -> UnqualComponentName # | |
Generic PackageName | |
Defined in Distribution.Types.PackageName Associated Types type Rep PackageName :: Type -> Type # | |
Generic PkgconfigName | |
Defined in Distribution.Types.PkgconfigName Associated Types type Rep PkgconfigName :: Type -> Type # | |
Generic VersionRange | |
Defined in Distribution.Types.VersionRange.Internal Associated Types type Rep VersionRange :: Type -> Type # | |
Generic Version | |
Generic CabalSpecVersion | |
Defined in Distribution.CabalSpecVersion Associated Types type Rep CabalSpecVersion :: Type -> Type # Methods from :: CabalSpecVersion -> Rep CabalSpecVersion x # to :: Rep CabalSpecVersion x -> CabalSpecVersion # | |
Generic PError | |
Generic PWarnType | |
Generic PWarning | |
Generic Position | |
Generic ShortText | |
Generic Structure | |
Generic Any | Since: base-4.7.0.0 |
Generic All | Since: base-4.7.0.0 |
Generic ExitCode | |
Generic Void | Since: base-4.8.0.0 |
Generic RTSStats | Since: base-4.15.0.0 |
Generic GCDetails | Since: base-4.15.0.0 |
Generic GiveGCStats | Since: base-4.15.0.0 |
Defined in GHC.RTS.Flags Associated Types type Rep GiveGCStats :: Type -> Type # | |
Generic GCFlags | Since: base-4.15.0.0 |
Generic ConcFlags | Since: base-4.15.0.0 |
Generic MiscFlags | Since: base-4.15.0.0 |
Generic DebugFlags | Since: base-4.15.0.0 |
Defined in GHC.RTS.Flags Associated Types type Rep DebugFlags :: Type -> Type # | |
Generic DoCostCentres | Since: base-4.15.0.0 |
Defined in GHC.RTS.Flags Associated Types type Rep DoCostCentres :: Type -> Type # | |
Generic CCFlags | Since: base-4.15.0.0 |
Generic DoHeapProfile | Since: base-4.15.0.0 |
Defined in GHC.RTS.Flags Associated Types type Rep DoHeapProfile :: Type -> Type # | |
Generic ProfFlags | Since: base-4.15.0.0 |
Generic DoTrace | Since: base-4.15.0.0 |
Generic TraceFlags | Since: base-4.15.0.0 |
Defined in GHC.RTS.Flags Associated Types type Rep TraceFlags :: Type -> Type # | |
Generic TickyFlags | Since: base-4.15.0.0 |
Defined in GHC.RTS.Flags Associated Types type Rep TickyFlags :: Type -> Type # | |
Generic ParFlags | Since: base-4.15.0.0 |
Generic RTSFlags | Since: base-4.15.0.0 |
Generic Fixity | Since: base-4.7.0.0 |
Generic Associativity | Since: base-4.7.0.0 |
Defined in GHC.Generics Associated Types type Rep Associativity :: Type -> Type # | |
Generic SourceUnpackedness | Since: base-4.9.0.0 |
Defined in GHC.Generics Associated Types type Rep SourceUnpackedness :: Type -> Type # Methods from :: SourceUnpackedness -> Rep SourceUnpackedness x # to :: Rep SourceUnpackedness x -> SourceUnpackedness # | |
Generic SourceStrictness | Since: base-4.9.0.0 |
Defined in GHC.Generics Associated Types type Rep SourceStrictness :: Type -> Type # Methods from :: SourceStrictness -> Rep SourceStrictness x # to :: Rep SourceStrictness x -> SourceStrictness # | |
Generic DecidedStrictness | Since: base-4.9.0.0 |
Defined in GHC.Generics Associated Types type Rep DecidedStrictness :: Type -> Type # Methods from :: DecidedStrictness -> Rep DecidedStrictness x # to :: Rep DecidedStrictness x -> DecidedStrictness # | |
Generic Fingerprint | Since: base-4.15.0.0 |
Defined in GHC.Generics Associated Types type Rep Fingerprint :: Type -> Type # | |
Generic GeneralCategory | Since: base-4.15.0.0 |
Defined in GHC.Generics Associated Types type Rep GeneralCategory :: Type -> Type # Methods from :: GeneralCategory -> Rep GeneralCategory x # to :: Rep GeneralCategory x -> GeneralCategory # | |
Generic SrcLoc | Since: base-4.15.0.0 |
Generic Extension | |
Generic ForeignSrcLang | |
Defined in GHC.ForeignSrcLang.Type Associated Types type Rep ForeignSrcLang :: Type -> Type # Methods from :: ForeignSrcLang -> Rep ForeignSrcLang x # to :: Rep ForeignSrcLang x -> ForeignSrcLang # | |
Generic TextDetails | |
Defined in Text.PrettyPrint.Annotated.HughesPJ Associated Types type Rep TextDetails :: Type -> Type # | |
Generic Style | |
Generic Mode | |
Generic PkgName | |
Generic Module | |
Generic OccName | |
Generic NameFlavour | |
Defined in Language.Haskell.TH.Syntax Associated Types type Rep NameFlavour :: Type -> Type # | |
Generic NameSpace | |
Generic Loc | |
Generic Info | |
Generic ModuleInfo | |
Defined in Language.Haskell.TH.Syntax Associated Types type Rep ModuleInfo :: Type -> Type # | |
Generic Fixity | |
Generic FixityDirection | |
Defined in Language.Haskell.TH.Syntax Associated Types type Rep FixityDirection :: Type -> Type # Methods from :: FixityDirection -> Rep FixityDirection x # to :: Rep FixityDirection x -> FixityDirection # | |
Generic Lit | |
Generic Bytes | |
Generic Body | |
Generic Guard | |
Generic Range | |
Generic TypeFamilyHead | |
Defined in Language.Haskell.TH.Syntax Associated Types type Rep TypeFamilyHead :: Type -> Type # Methods from :: TypeFamilyHead -> Rep TypeFamilyHead x # to :: Rep TypeFamilyHead x -> TypeFamilyHead # | |
Generic Foreign | |
Generic Callconv | |
Generic Safety | |
Generic Pragma | |
Generic Inline | |
Generic RuleMatch | |
Generic Phases | |
Generic AnnTarget | |
Generic SourceUnpackedness | |
Defined in Language.Haskell.TH.Syntax Associated Types type Rep SourceUnpackedness :: Type -> Type # Methods from :: SourceUnpackedness -> Rep SourceUnpackedness x # to :: Rep SourceUnpackedness x -> SourceUnpackedness # | |
Generic SourceStrictness | |
Defined in Language.Haskell.TH.Syntax Associated Types type Rep SourceStrictness :: Type -> Type # Methods from :: SourceStrictness -> Rep SourceStrictness x # to :: Rep SourceStrictness x -> SourceStrictness # | |
Generic DecidedStrictness | |
Defined in Language.Haskell.TH.Syntax Associated Types type Rep DecidedStrictness :: Type -> Type # Methods from :: DecidedStrictness -> Rep DecidedStrictness x # to :: Rep DecidedStrictness x -> DecidedStrictness # | |
Generic Bang | |
Generic PatSynDir | |
Generic PatSynArgs | |
Defined in Language.Haskell.TH.Syntax Associated Types type Rep PatSynArgs :: Type -> Type # | |
Generic Specificity | |
Defined in Language.Haskell.TH.Syntax Associated Types type Rep Specificity :: Type -> Type # | |
Generic FamilyResultSig | |
Defined in Language.Haskell.TH.Syntax Associated Types type Rep FamilyResultSig :: Type -> Type # Methods from :: FamilyResultSig -> Rep FamilyResultSig x # to :: Rep FamilyResultSig x -> FamilyResultSig # | |
Generic TyLit | |
Generic Role | |
Generic AnnLookup | |
Generic F2Poly | |
Generic Bit | |
Generic Bit | |
Generic F2Poly | |
Generic ConstructorInfo | |
Generic ConstructorVariant | |
Generic DatatypeInfo | |
Generic DatatypeVariant | |
Generic FieldStrictness | |
Generic Strictness | |
Generic Unpackedness | |
Generic LinePass | |
Generic Value | |
Generic ScanPoint Source # | |
Generic D8 Source # | |
Generic Dir Source # | |
Generic Config Source # | |
Generic InvalidPosException | |
Generic Pos | |
Generic SourcePos | |
Generic SolutionError Source # | |
Defined in AOC.Solver Associated Types type Rep SolutionError :: Type -> Type # | |
Generic AoCError | |
Generic AoCOpts | |
Generic Day | |
Generic NextDayTime | |
Generic Part | |
Generic SubmitRes | |
Generic ClientError | |
Generic Leaderboard | |
Generic DailyLeaderboard | |
Generic GlobalLeaderboard | |
Generic BaseUrl | |
Generic SubmitInfo | |
Generic PublicCode | |
Generic SrcLoc | |
Generic SrcSpan | |
Generic SrcSpanInfo | |
Generic Boxed | |
Generic Tool | |
Generic BuildType | |
Generic Condition | |
Generic CustomSetupSection | |
Generic ExecutableSection | |
Generic FlagSection | |
Generic LibrarySection | |
Generic DefaultsConfig | |
Generic URIAuth | |
Generic URI | |
Generic DailyLeaderboardMember | |
Generic GlobalLeaderboardMember | |
Generic LeaderboardMember | |
Generic Rank | |
Generic Form | |
Generic IP | |
Generic IPv4 | |
Generic IPv6 | |
Generic IPRange | |
Generic AcceptHeader | |
Generic NoContent | |
Generic IsSecure | |
Generic Scheme | |
Generic RequestBody | |
Generic CompressionLevel | |
Generic CompressionStrategy | |
Generic Format | |
Generic MemoryLevel | |
Generic Method | |
Generic WindowBits | |
Generic Local | |
Generic ParseGithub | |
Generic Mod2 | |
Generic HexDirection | |
Generic HexHexGrid | |
Generic ParaHexGrid | |
Generic UnboundedHexGrid | |
Generic Boundary | |
Generic Relation | |
Generic Ascending | |
Generic Descending | |
Generic Even | |
Generic IdPred | |
Generic Infinite | |
Generic NaN | |
Generic Odd | |
Generic RefineException | |
Generic PandocError | |
Generic Extension | |
Generic Extensions | |
Generic LogMessage | |
Generic Verbosity | |
Generic CiteMethod | |
Generic EPUBVersion | |
Generic HTMLMathMethod | |
Generic HTMLSlideVariant | |
Generic ObfuscationMethod | |
Generic ReaderOptions | |
Generic ReferenceLocation | |
Generic TopLevelDivision | |
Generic TrackChanges | |
Generic WrapOption | |
Generic WriterOptions | |
Generic Translations | |
Generic Alignment | |
Generic Block | |
Generic Caption | |
Generic Cell | |
Generic Citation | |
Generic CitationMode | |
Generic ColSpan | |
Generic ColWidth | |
Generic Format | |
Generic Inline | |
Generic ListNumberDelim | |
Generic ListNumberStyle | |
Generic MathType | |
Generic Meta | |
Generic MetaValue | |
Generic Pandoc | |
Generic QuoteType | |
Generic Row | |
Generic RowHeadColumns | |
Generic RowSpan | |
Generic TableBody | |
Generic TableFoot | |
Generic TableHead | |
Generic State | |
Generic Chomp | |
Generic Directives | |
Generic EvPos | |
Generic Event | |
Generic IndentOfs | |
Generic NodeStyle | |
Generic ScalarStyle | |
Generic Tag | |
Generic Pos | |
Generic Encoding | |
Generic Scalar | |
Generic Code | |
Generic Token | |
Generic Alignment | |
Generic Border | |
Generic Pipe | |
Generic Variable | |
Generic MimeBundle | |
Generic MimeData | |
Generic Source | |
Generic Style | |
Generic Syntax | |
Generic ANSIColorLevel | |
Generic Color | |
Generic Context | |
Generic ContextSwitch | |
Generic FormatOptions | |
Generic KeywordAttr | |
Generic ListItem | |
Generic Matcher | |
Generic Rule | |
Generic TokenStyle | |
Generic TokenType | |
Generic Xterm256ColorCode | |
Generic RE | |
Generic Term | |
Generic BodyRow | |
Generic Cell | |
Generic ColNumber | |
Generic HeaderRow | |
Generic RowNumber | |
Generic Table | |
Generic TableBody | |
Generic TableFoot | |
Generic TableHead | |
Generic BidiClass | |
Generic DecompositionType | |
Generic GeneralCategory | |
Generic UChar | |
Generic Content | |
Generic Doctype | |
Generic Document | |
Generic Element | |
Generic Event | |
Generic ExternalID | |
Generic Instruction | |
Generic Miscellaneous | |
Generic Name | |
Generic Node | |
Generic Prologue | |
Generic Report | |
Generic Config | |
Generic MatchType | |
Generic Mode | |
Generic Verbosity | |
Generic DataRecord | |
Generic KDE | |
Generic OutlierEffect | |
Generic OutlierVariance | |
Generic Outliers | |
Generic Regression | |
Generic SampleAnalysis | |
Generic Measured | |
Generic TemplateException | |
Generic GCStatistics | |
Generic NewtonParam | |
Generic NewtonStep | |
Generic RiddersParam | |
Generic RiddersStep | |
Generic Tolerance | |
Generic Key | |
Generic MustacheException | |
Generic MustacheWarning | |
Generic Node | |
Generic PName | |
Generic Template | |
Generic NormalDistribution | |
Generic ContParam | |
Generic Resample | |
Generic [a] | Since: base-4.6.0.0 |
Generic (Maybe a) | Since: base-4.6.0.0 |
Generic (Par1 p) | Since: base-4.7.0.0 |
Generic (a) | Since: base-4.15 |
Generic (First a) | Since: base-4.9.0.0 |
Generic (Last a) | Since: base-4.9.0.0 |
Generic (VersionRangeF a) | |
Defined in Distribution.Types.VersionRange.Internal Associated Types type Rep (VersionRangeF a) :: Type -> Type # Methods from :: VersionRangeF a -> Rep (VersionRangeF a) x # to :: Rep (VersionRangeF a) x -> VersionRangeF a # | |
Generic (Last' a) | |
Generic (Option' a) | |
Generic (SCC vertex) | Since: containers-0.5.9 |
Generic (NonEmpty a) | Since: base-4.6.0.0 |
Generic (Identity a) | Since: base-4.8.0.0 |
Generic (Complex a) | Since: base-4.9.0.0 |
Generic (Min a) | Since: base-4.9.0.0 |
Generic (Max a) | Since: base-4.9.0.0 |
Generic (WrappedMonoid m) | Since: base-4.9.0.0 |
Defined in Data.Semigroup Associated Types type Rep (WrappedMonoid m) :: Type -> Type # Methods from :: WrappedMonoid m -> Rep (WrappedMonoid m) x # to :: Rep (WrappedMonoid m) x -> WrappedMonoid m # | |
Generic (Option a) | Since: base-4.9.0.0 |
Generic (ZipList a) | Since: base-4.7.0.0 |
Generic (First a) | Since: base-4.7.0.0 |
Generic (Last a) | Since: base-4.7.0.0 |
Generic (Dual a) | Since: base-4.7.0.0 |
Generic (Endo a) | Since: base-4.7.0.0 |
Generic (Sum a) | Since: base-4.7.0.0 |
Generic (Product a) | Since: base-4.7.0.0 |
Generic (Down a) | Since: base-4.12.0.0 |
Generic (Tree a) | Since: containers-0.5.8 |
Generic (FingerTree a) | Since: containers-0.6.1 |
Defined in Data.Sequence.Internal Associated Types type Rep (FingerTree a) :: Type -> Type # | |
Generic (Digit a) | Since: containers-0.6.1 |
Generic (Node a) | Since: containers-0.6.1 |
Generic (Elem a) | Since: containers-0.6.1 |
Generic (ViewL a) | Since: containers-0.5.8 |
Generic (ViewR a) | Since: containers-0.5.8 |
Generic (Doc a) | |
Generic (TyVarBndr flag) | |
Generic (Finite n) | |
Generic (FinitarySet a) Source # | |
Defined in AOC.Common.FinitarySet Associated Types type Rep (FinitarySet a) :: Type -> Type # Methods from :: FinitarySet a -> Rep (FinitarySet a) x # to :: Rep (FinitarySet a) x -> FinitarySet a # | |
Generic (Only a) | |
Generic (T1 a) | |
Generic (Quaternion a) | |
Generic (V0 a) | |
Generic (V1 a) | |
Generic (V2 a) | |
Generic (V3 a) | |
Generic (V4 a) | |
Generic (Maybe a) | |
Generic (Plucker a) | |
Generic (Fix f) | |
Generic (ErrorFancy e) | |
Generic (ErrorItem t) | |
Generic (PosState s) | |
Generic (TokStream a) Source # | |
Generic (ClientM a) | |
Generic (Loc a) | |
Generic (Activation l) | |
Generic (Alt l) | |
Generic (Annotation l) | |
Generic (Assoc l) | |
Generic (Asst l) | |
Generic (BangType l) | |
Generic (Binds l) | |
Generic (BooleanFormula l) | |
Generic (Bracket l) | |
Generic (CName l) | |
Generic (CallConv l) | |
Generic (ClassDecl l) | |
Generic (ConDecl l) | |
Generic (Context l) | |
Generic (DataOrNew l) | |
Generic (Decl l) | |
Generic (DeclHead l) | |
Generic (DerivStrategy l) | |
Generic (Deriving l) | |
Generic (EWildcard l) | |
Generic (Exp l) | |
Generic (ExportSpec l) | |
Generic (ExportSpecList l) | |
Generic (FieldDecl l) | |
Generic (FieldUpdate l) | |
Generic (FunDep l) | |
Generic (GadtDecl l) | |
Generic (GuardedRhs l) | |
Generic (IPBind l) | |
Generic (IPName l) | |
Generic (ImportDecl l) | |
Generic (ImportSpec l) | |
Generic (ImportSpecList l) | |
Generic (InjectivityInfo l) | |
Generic (InstDecl l) | |
Generic (InstHead l) | |
Generic (InstRule l) | |
Generic (Literal l) | |
Generic (Match l) | |
Generic (MaybePromotedName l) | |
Generic (Module l) | |
Generic (ModuleHead l) | |
Generic (ModuleName l) | |
Generic (ModulePragma l) | |
Generic (Name l) | |
Generic (Namespace l) | |
Generic (Op l) | |
Generic (Overlap l) | |
Generic (PXAttr l) | |
Generic (Pat l) | |
Generic (PatField l) | |
Generic (PatternSynDirection l) | |
Generic (Promoted l) | |
Generic (QName l) | |
Generic (QOp l) | |
Generic (QualConDecl l) | |
Generic (QualStmt l) | |
Generic (RPat l) | |
Generic (RPatOp l) | |
Generic (ResultSig l) | |
Generic (Rhs l) | |
Generic (Role l) | |
Generic (Rule l) | |
Generic (RuleVar l) | |
Generic (Safety l) | |
Generic (Sign l) | |
Generic (SpecialCon l) | |
Generic (Splice l) | |
Generic (Stmt l) | |
Generic (TyVarBind l) | |
Generic (Type l) | |
Generic (TypeEqn l) | |
Generic (Unpackedness l) | |
Generic (WarningText l) | |
Generic (XAttr l) | |
Generic (XName l) | |
Generic (HistoriedResponse body) | |
Generic (AddrRange a) | |
Generic (ResponseF a) | |
Generic (I a) | |
Generic (Mod m) | |
Generic (Prime a) | |
Generic (Add a) | |
Generic (IntSetOf a) | |
Generic (Mul a) | |
Generic (WrappedNum a) | |
Generic (Join a) | |
Generic (Meet a) | |
Generic (GMonoid a) | |
Generic (DivisibleBy n) | |
Generic (EqualTo n) | |
Generic (From n) | |
Generic (GreaterThan n) | |
Generic (LessThan n) | |
Generic (Not p) | |
Generic (NotEqualTo n) | |
Generic (SizeEqualTo n) | |
Generic (SizeGreaterThan n) | |
Generic (SizeLessThan n) | |
Generic (To n) | |
Generic (Template a) | |
Generic (Many a) | |
Generic (Doc n) | |
Generic (Node loc) | |
Generic (Doc a) | |
Generic (Resolved a) | |
Generic (Cell a) | |
Generic (CellType a) | |
Generic (Notebook a) | |
Generic (Output a) | |
Generic (WordSet a) | |
Generic (CL a) | |
Generic (ConfInt a) | |
Generic (LowerLimit a) | |
Generic (NormalErr a) | |
Generic (PValue a) | |
Generic (UpperLimit a) | |
Generic (Root a) | |
Generic (Either a b) | Since: base-4.6.0.0 |
Generic (V1 p) | Since: base-4.9.0.0 |
Generic (U1 p) | Since: base-4.7.0.0 |
Generic (a, b) | Since: base-4.6.0.0 |
Generic (Proxy t) | Since: base-4.6.0.0 |
Generic (Arg a b) | Since: base-4.9.0.0 |
Generic (WrappedMonad m a) | Since: base-4.7.0.0 |
Defined in Control.Applicative Associated Types type Rep (WrappedMonad m a) :: Type -> Type # Methods from :: WrappedMonad m a -> Rep (WrappedMonad m a) x # to :: Rep (WrappedMonad m a) x -> WrappedMonad m a # | |
Generic (Cofree f a) | |
Generic (These a b) | |
Generic (T2 a b) | |
Generic (Free f a) | |
Generic (Pair a b) | |
Generic (Either a b) | |
Generic (These a b) | |
Generic (ListF a b) | |
Generic (NonEmptyF a b) | |
Generic (TreeF a b) | |
Generic (Gr a b) | |
Generic (ParseError s e) | |
Generic (ParseErrorBundle s e) | |
Generic (State s e) | |
Generic (PackageConfig_ library executable) | |
Generic (NoContentVerb method) | |
Generic (RequestF body path) | |
Generic (CyclicGroup a m) | |
Generic (SFactors a m) | |
Generic (IntMapOf k v) | |
Generic (And l r) | |
Generic (FromTo mn mx) | |
Generic (NegativeFromTo n m) | |
Generic (Or l r) | |
Generic (Xor l r) | |
Generic (These a b) | |
Generic (Container b a) | |
Generic (ErrorContainer b e) | |
Generic (Unit f) | |
Generic (Void f) | |
Generic (Estimate e a) | |
Generic (Bootstrap v a) | |
Generic (Rec1 f p) | Since: base-4.7.0.0 |
Generic (URec (Ptr ()) p) | Since: base-4.9.0.0 |
Generic (URec Char p) | Since: base-4.9.0.0 |
Generic (URec Double p) | Since: base-4.9.0.0 |
Generic (URec Float p) | |
Generic (URec Int p) | Since: base-4.9.0.0 |
Generic (URec Word p) | Since: base-4.9.0.0 |
Generic (a, b, c) | Since: base-4.6.0.0 |
Generic (Const a b) | Since: base-4.9.0.0 |
Generic (WrappedArrow a b c) | Since: base-4.7.0.0 |
Defined in Control.Applicative Associated Types type Rep (WrappedArrow a b c) :: Type -> Type # Methods from :: WrappedArrow a b c -> Rep (WrappedArrow a b c) x # to :: Rep (WrappedArrow a b c) x -> WrappedArrow a b c # | |
Generic (Kleisli m a b) | Since: base-4.14.0.0 |
Generic (Ap f a) | Since: base-4.12.0.0 |
Generic (Alt f a) | Since: base-4.8.0.0 |
Generic (FreeF f a b) | |
Generic (Join p a) | |
Generic (Tagged s b) | |
Generic (T3 a b c) | |
Generic (Fix p a) | |
Generic (CofreeF f a b) | |
Generic (V n a) | |
Generic (These1 f g a) | |
Generic (K a b) | |
Generic (K1 i c p) | Since: base-4.7.0.0 |
Generic ((f :+: g) p) | Since: base-4.7.0.0 |
Generic ((f :*: g) p) | Since: base-4.7.0.0 |
Generic (a, b, c, d) | Since: base-4.6.0.0 |
Generic (Product f g a) | Since: base-4.9.0.0 |
Generic (Sum f g a) | Since: base-4.9.0.0 |
Generic (T4 a b c d) | |
Generic (CommonOptions cSources cxxSources jsSources a) | |
Defined in Hpack.Config | |
Generic (ThenElse cSources cxxSources jsSources a) | |
Defined in Hpack.Config | |
Generic (StreamBody' mods framing contentType a) | |
Defined in Servant.API.Stream | |
Generic (M1 i c f p) | Since: base-4.7.0.0 |
Generic ((f :.: g) p) | Since: base-4.7.0.0 |
Generic (a, b, c, d, e) | Since: base-4.6.0.0 |
Generic (Compose f g a) | Since: base-4.9.0.0 |
Generic (Clown f a b) | |
Generic (Flip p a b) | |
Generic (Joker g a b) | |
Generic (WrappedBifunctor p a b) | |
Generic (T5 a b c d e) | |
Generic (Verb method statusCode contentTypes a) | |
Defined in Servant.API.Verbs | |
Generic ((f :.: g) p) | |
Generic (a, b, c, d, e, f) | Since: base-4.6.0.0 |
Generic (Product f g a b) | |
Generic (Sum p q a b) | |
Generic (T6 a b c d e f) | |
Generic (Stream method status framing contentType a) | |
Defined in Servant.API.Stream | |
Generic (a, b, c, d, e, f, g) | Since: base-4.6.0.0 |
Generic (Tannen f p a b) | |
Generic (T7 a b c d e f g) | |
Generic (T8 a b c d e f g h) | |
Generic (Biff p f g a b) | |
Generic (T9 a b c d e f g h i) | |
Generic (T10 a b c d e f g h i j) | |
Generic (T11 a b c d e f g h i j k) | |
Generic (T12 a b c d e f g h i j k l) | |
Generic (T13 a b c d e f g h i j k l m) | |
Generic (T14 a b c d e f g h i j k l m n) | |
Generic (T15 a b c d e f g h i j k l m n o) | |
Generic (T16 a b c d e f g h i j k l m n o p) | |
Defined in Data.Tuple.Strict.T16 | |
Generic (T17 a b c d e f g h i j k l m n o p q) | |
Defined in Data.Tuple.Strict.T17 | |
Generic (T18 a b c d e f g h i j k l m n o p q r) | |
Defined in Data.Tuple.Strict.T18 | |
Generic (T19 a b c d e f g h i j k l m n o p q r s) | |
Defined in Data.Tuple.Strict.T19 |
The class of semigroups (types with an associative binary operation).
Instances should satisfy the following:
Since: base-4.9.0.0
Minimal complete definition
Methods
(<>) :: a -> a -> a infixr 6 #
An associative operation.
>>>
[1,2,3] <> [4,5,6]
[1,2,3,4,5,6]
Reduce a non-empty list with <>
The default definition should be sufficient, but this can be overridden for efficiency.
>>>
import Data.List.NonEmpty
>>>
sconcat $ "Hello" :| [" ", "Haskell", "!"]
"Hello Haskell!"
stimes :: Integral b => b -> a -> a #
Repeat a value n
times.
Given that this works on a Semigroup
it is allowed to fail if
you request 0 or fewer repetitions, and the default definition
will do so.
By making this a member of the class, idempotent semigroups
and monoids can upgrade this to execute in \(\mathcal{O}(1)\) by
picking stimes =
or stimesIdempotent
stimes =
respectively.stimesIdempotentMonoid
>>>
stimes 4 [1]
[1,1,1,1]
Instances
Semigroup Ordering | Since: base-4.9.0.0 |
Semigroup () | Since: base-4.9.0.0 |
Semigroup Doc | |
Semigroup ByteString | |
Defined in Data.ByteString.Internal Methods (<>) :: ByteString -> ByteString -> ByteString # sconcat :: NonEmpty ByteString -> ByteString # stimes :: Integral b => b -> ByteString -> ByteString # | |
Semigroup ShortByteString | |
Defined in Data.ByteString.Short.Internal Methods (<>) :: ShortByteString -> ShortByteString -> ShortByteString # sconcat :: NonEmpty ShortByteString -> ShortByteString # stimes :: Integral b => b -> ShortByteString -> ShortByteString # | |
Semigroup ByteString | |
Defined in Data.ByteString.Lazy.Internal Methods (<>) :: ByteString -> ByteString -> ByteString # sconcat :: NonEmpty ByteString -> ByteString # stimes :: Integral b => b -> ByteString -> ByteString # | |
Semigroup UnqualComponentName | |
Defined in Distribution.Types.UnqualComponentName Methods (<>) :: UnqualComponentName -> UnqualComponentName -> UnqualComponentName # sconcat :: NonEmpty UnqualComponentName -> UnqualComponentName # stimes :: Integral b => b -> UnqualComponentName -> UnqualComponentName # | |
Semigroup ShortText | |
Semigroup Any | Since: base-4.9.0.0 |
Semigroup All | Since: base-4.9.0.0 |
Semigroup Void | Since: base-4.9.0.0 |
Semigroup Builder | |
Semigroup IntSet | Since: containers-0.5.7 |
Semigroup PluginRecompile | |
Defined in GHC.Driver.Plugins Methods (<>) :: PluginRecompile -> PluginRecompile -> PluginRecompile # sconcat :: NonEmpty PluginRecompile -> PluginRecompile # stimes :: Integral b => b -> PluginRecompile -> PluginRecompile # | |
Semigroup CalendarDiffTime | Additive |
Defined in Data.Time.LocalTime.Internal.CalendarDiffTime Methods (<>) :: CalendarDiffTime -> CalendarDiffTime -> CalendarDiffTime # sconcat :: NonEmpty CalendarDiffTime -> CalendarDiffTime # stimes :: Integral b => b -> CalendarDiffTime -> CalendarDiffTime # | |
Semigroup CalendarDiffDays | Additive |
Defined in Data.Time.Calendar.CalendarDiffDays Methods (<>) :: CalendarDiffDays -> CalendarDiffDays -> CalendarDiffDays # sconcat :: NonEmpty CalendarDiffDays -> CalendarDiffDays # stimes :: Integral b => b -> CalendarDiffDays -> CalendarDiffDays # | |
Semigroup ByteArray | |
Semigroup More | |
Semigroup D8 Source # | |
Semigroup Dir Source # | |
Semigroup Series | |
Semigroup Pos | |
Semigroup DynoMap Source # | |
Semigroup NEIntSet | |
Semigroup SystemBuildTools | |
Semigroup Dependencies | |
Semigroup Empty | |
Semigroup ExecutableSection | |
Semigroup LibrarySection | |
Semigroup BuildTools | |
Semigroup CookieJar | |
Semigroup RequestBody | |
Semigroup Form | |
Semigroup String | |
Semigroup FileTree | |
Semigroup Extensions | |
Semigroup Translations | |
Semigroup Meta | |
Semigroup Pandoc | |
Semigroup Name | |
Semigroup Inlines | |
Semigroup Locale | |
Semigroup UnicodeWidthMatch | |
Semigroup Variable | |
Semigroup MimeBundle | |
Semigroup Source | |
Semigroup Sources | |
Semigroup Formatting | |
Semigroup ItemId | |
Semigroup Variable | |
Semigroup Blocks | |
Semigroup Outliers | |
Semigroup KB2Sum | |
Semigroup KBNSum | |
Semigroup KahanSum | |
Semigroup Key | |
Semigroup Template | |
Semigroup ShortText | |
Semigroup [a] | Since: base-4.9.0.0 |
Semigroup a => Semigroup (Maybe a) | Since: base-4.9.0.0 |
Semigroup a => Semigroup (IO a) | Since: base-4.10.0.0 |
Semigroup p => Semigroup (Par1 p) | Since: base-4.12.0.0 |
Semigroup a => Semigroup (Q a) | Since: template-haskell-2.17.0.0 |
Semigroup a => Semigroup (a) | Since: base-4.15 |
Semigroup (First a) | Since: base-4.9.0.0 |
Semigroup (Last a) | Since: base-4.9.0.0 |
Ord a => Semigroup (NonEmptySet a) | Note: there aren't |
Defined in Distribution.Compat.NonEmptySet Methods (<>) :: NonEmptySet a -> NonEmptySet a -> NonEmptySet a # sconcat :: NonEmpty (NonEmptySet a) -> NonEmptySet a # stimes :: Integral b => b -> NonEmptySet a -> NonEmptySet a # | |
Semigroup (First' a) | |
Semigroup (Last' a) | |
Semigroup a => Semigroup (Option' a) | |
Ord a => Semigroup (Set a) | Since: containers-0.5.7 |
Semigroup (NonEmpty a) | Since: base-4.9.0.0 |
Semigroup a => Semigroup (Identity a) | Since: base-4.9.0.0 |
Semigroup (Predicate a) |
(<>) :: Predicate a -> Predicate a -> Predicate a Predicate pred <> Predicate pred' = Predicate a -> pred a && pred' a |
Semigroup (Comparison a) |
(<>) :: Comparison a -> Comparison a -> Comparison a Comparison cmp <> Comparison cmp' = Comparison a a' -> cmp a a' <> cmp a a' |
Defined in Data.Functor.Contravariant Methods (<>) :: Comparison a -> Comparison a -> Comparison a # sconcat :: NonEmpty (Comparison a) -> Comparison a # stimes :: Integral b => b -> Comparison a -> Comparison a # | |
Semigroup (Equivalence a) |
(<>) :: Equivalence a -> Equivalence a -> Equivalence a Equivalence equiv <> Equivalence equiv' = Equivalence a b -> equiv a b && equiv a b |
Defined in Data.Functor.Contravariant Methods (<>) :: Equivalence a -> Equivalence a -> Equivalence a # sconcat :: NonEmpty (Equivalence a) -> Equivalence a # stimes :: Integral b => b -> Equivalence a -> Equivalence a # | |
Ord a => Semigroup (Min a) | Since: base-4.9.0.0 |
Ord a => Semigroup (Max a) | Since: base-4.9.0.0 |
Monoid m => Semigroup (WrappedMonoid m) | Since: base-4.9.0.0 |
Defined in Data.Semigroup Methods (<>) :: WrappedMonoid m -> WrappedMonoid m -> WrappedMonoid m # sconcat :: NonEmpty (WrappedMonoid m) -> WrappedMonoid m # stimes :: Integral b => b -> WrappedMonoid m -> WrappedMonoid m # | |
Semigroup a => Semigroup (Option a) | Since: base-4.9.0.0 |
Semigroup (First a) | Since: base-4.9.0.0 |
Semigroup (Last a) | Since: base-4.9.0.0 |
Semigroup a => Semigroup (Dual a) | Since: base-4.9.0.0 |
Semigroup (Endo a) | Since: base-4.9.0.0 |
Num a => Semigroup (Sum a) | Since: base-4.9.0.0 |
Num a => Semigroup (Product a) | Since: base-4.9.0.0 |
Semigroup a => Semigroup (Down a) | Since: base-4.11.0.0 |
Semigroup (IntMap a) | Since: containers-0.5.7 |
Semigroup (Seq a) | Since: containers-0.5.7 |
Semigroup (Doc a) | |
Semigroup (MergeSet a) | |
(Hashable a, Eq a) => Semigroup (HashSet a) | |
Semigroup (Vector a) | |
Storable a => Semigroup (Vector a) | |
Prim a => Semigroup (Vector a) | |
Semigroup (Array a) | |
Semigroup (PrimArray a) | |
Semigroup (SmallArray a) | |
Semigroup (Leftmost a) | |
Semigroup (Rightmost a) | |
Semigroup a => Semigroup (JoinWith a) | |
Ord a => Semigroup (NESet a) | |
Semigroup (MergeNESet a) | |
Semigroup a => Semigroup (T1 a) | |
Semigroup a => Semigroup (Quaternion a) | |
Semigroup (V0 a) | |
Semigroup a => Semigroup (V1 a) | |
Semigroup a => Semigroup (V2 a) | |
Semigroup a => Semigroup (V3 a) | |
Semigroup a => Semigroup (V4 a) | |
Semigroup a => Semigroup (Maybe a) | |
Semigroup a => Semigroup (Plucker a) | |
Semigroup (IResult a) | |
Semigroup (Parser a) | |
Semigroup (Result a) | |
Semigroup (DNonEmpty a) | |
Semigroup (DList a) | |
Semigroup (NonEmptyDList a) | |
Semigroup (Hints t) | |
Semigroup (NEIntMap a) | |
Semigroup s => Semigroup (CI s) | |
Semigroup m => Semigroup (ParseResult m) | |
Semigroup (List a) | |
PrimType ty => Semigroup (UArray ty) | |
PrimType ty => Semigroup (Block ty) | |
Semigroup (CountOf ty) | |
Semigroup a => Semigroup (I a) | |
KnownNat m => Semigroup (MultMod m) | |
Semiring a => Semigroup (Add a) | |
Semigroup (IntSetOf a) | |
Semiring a => Semigroup (Mul a) | |
Semiring a => Semigroup (Add' a) | |
Semigroup (NESeq a) | |
Semigroup a => Semigroup (MonoidalIntMap a) | |
Lattice a => Semigroup (Join a) | |
Lattice a => Semigroup (Meet a) | |
Ord r => Semigroup (IntervalSet r) | |
(ADTRecord a, Constraints a Semigroup) => Semigroup (GMonoid a) | |
Semigroup a => Semigroup (MovableMonoid a) | |
Semigroup (Endo a) | |
Semigroup a => Semigroup (Template a) | |
Semigroup (Context a) | |
Num a => Semigroup (AlphaColour a) | |
Num a => Semigroup (Colour a) | |
Semigroup (Doc a) | |
Semigroup (Resolved a) | |
Semigroup (Notebook a) | |
(Semigroup mono, GrowingAppend mono) => Semigroup (NonNull mono) | |
Semigroup a => Semigroup (NonLinear a) | |
Semigroup b => Semigroup (a -> b) | Since: base-4.9.0.0 |
Semigroup (Either a b) | Since: base-4.9.0.0 |
Semigroup (V1 p) | Since: base-4.12.0.0 |
Semigroup (U1 p) | Since: base-4.12.0.0 |
(Semigroup a, Semigroup b) => Semigroup (a, b) | Since: base-4.9.0.0 |
Semigroup a => Semigroup (ST s a) | Since: base-4.11.0.0 |
Ord k => Semigroup (Map k v) | |
Semigroup (Proxy s) | Since: base-4.9.0.0 |
Semigroup a => Semigroup (Op a b) |
(<>) :: Op a b -> Op a b -> Op a b Op f <> Op g = Op a -> f a <> g a |
(Eq k, Hashable k) => Semigroup (HashMap k v) | |
Monad m => Semigroup (Sequenced a m) | |
Applicative f => Semigroup (Traversed a f) | |
Semigroup (ReifiedFold s a) | |
Defined in Control.Lens.Reified Methods (<>) :: ReifiedFold s a -> ReifiedFold s a -> ReifiedFold s a # sconcat :: NonEmpty (ReifiedFold s a) -> ReifiedFold s a # stimes :: Integral b => b -> ReifiedFold s a -> ReifiedFold s a # | |
Apply f => Semigroup (Act f a) | |
Alt f => Semigroup (Alt_ f a) | |
(Semigroup a, Semigroup b) => Semigroup (These a b) | |
(Semigroup a, Semigroup b) => Semigroup (T2 a b) | |
Ord k => Semigroup (NEMap k a) | |
Semigroup (Parser i a) | |
Semigroup (f a) => Semigroup (Indexing f a) | |
(Semigroup a, Semigroup b) => Semigroup (Pair a b) | |
Semigroup (Either a b) | |
(Semigroup a, Semigroup b) => Semigroup (These a b) | |
Apply f => Semigroup (TraversedF a f) | |
(Contravariant f, Applicative f) => Semigroup (Folding f a) | |
Monad m => Semigroup (EndoM m a) | |
Semigroup b => Semigroup (Fold a b) | |
(Stream s, Ord e) => Semigroup (ParseError s e) | |
Semigroup (Deepening i a) | |
(Semigroup a, Semigroup b) => Semigroup (Product a b) | |
Semigroup (IntMapOf k v) | |
(Ord k, Semigroup a) => Semigroup (MonoidalMap k a) | |
Ord k => Semigroup (IntervalMap k a) | |
(Semigroup a, Semigroup b) => Semigroup (These a b) | |
Semigroup (Unit f) | |
Semigroup (Void f) | |
Semigroup a => Semigroup (Vec n a) | |
Semigroup a => Semigroup (Vec n a) | |
Semigroup (f p) => Semigroup (Rec1 f p) | Since: base-4.12.0.0 |
(Semigroup a, Semigroup b, Semigroup c) => Semigroup (a, b, c) | Since: base-4.9.0.0 |
Semigroup a => Semigroup (Const a b) | Since: base-4.9.0.0 |
(Applicative f, Semigroup a) => Semigroup (Ap f a) | Since: base-4.12.0.0 |
Alternative f => Semigroup (Alt f a) | Since: base-4.9.0.0 |
Semigroup a => Semigroup (Tagged s a) | |
Semigroup (ReifiedIndexedFold i s a) | |
Defined in Control.Lens.Reified Methods (<>) :: ReifiedIndexedFold i s a -> ReifiedIndexedFold i s a -> ReifiedIndexedFold i s a # sconcat :: NonEmpty (ReifiedIndexedFold i s a) -> ReifiedIndexedFold i s a # stimes :: Integral b => b -> ReifiedIndexedFold i s a -> ReifiedIndexedFold i s a # | |
(Semigroup a, Semigroup b, Semigroup c) => Semigroup (T3 a b c) | |
Reifies s (ReifiedMonoid a) => Semigroup (ReflectedMonoid a s) | |
(Dim n, Semigroup a) => Semigroup (V n a) | |
ArrowPlus p => Semigroup (Tambara p a b) | |
(Profunctor p, Arrow p, Semigroup b) => Semigroup (Closure p a b) | |
(Semigroup b, Monad m) => Semigroup (FoldM m a b) | |
Monad m => Semigroup (Sequenced a m) | |
Applicative f => Semigroup (Traversed a f) | |
Semigroup a => Semigroup (K a b) | |
All (Compose Semigroup f) xs => Semigroup (NP f xs) | |
Semigroup (NP (NP f) xss) => Semigroup (POP f xss) | |
(ConstraintsB b, ApplicativeB b, AllBF Semigroup f b) => Semigroup (Barbie b f) | |
Semigroup c => Semigroup (K1 i c p) | Since: base-4.12.0.0 |
(Semigroup (f p), Semigroup (g p)) => Semigroup ((f :*: g) p) | Since: base-4.12.0.0 |
(Semigroup a, Semigroup b, Semigroup c, Semigroup d) => Semigroup (a, b, c, d) | Since: base-4.9.0.0 |
(Semigroup a, Semigroup b, Semigroup c, Semigroup d) => Semigroup (T4 a b c d) | |
Semigroup r => Semigroup (Forget r a b) | |
Monad m => Semigroup (ConduitT i o m ()) | |
(Stream s, Semigroup a) => Semigroup (ParsecT e s m a) | |
(Semigroup cSources, Semigroup cxxSources, Semigroup jsSources) => Semigroup (CommonOptions cSources cxxSources jsSources a) | |
Defined in Hpack.Config Methods (<>) :: CommonOptions cSources cxxSources jsSources a -> CommonOptions cSources cxxSources jsSources a -> CommonOptions cSources cxxSources jsSources a # sconcat :: NonEmpty (CommonOptions cSources cxxSources jsSources a) -> CommonOptions cSources cxxSources jsSources a # stimes :: Integral b => b -> CommonOptions cSources cxxSources jsSources a -> CommonOptions cSources cxxSources jsSources a # | |
Semigroup (f p) => Semigroup (M1 i c f p) | Since: base-4.12.0.0 |
Semigroup (f (g p)) => Semigroup ((f :.: g) p) | Since: base-4.12.0.0 |
(Semigroup a, Semigroup b, Semigroup c, Semigroup d, Semigroup e) => Semigroup (a, b, c, d, e) | Since: base-4.9.0.0 |
(Semigroup a, Semigroup b, Semigroup c, Semigroup d, Semigroup e) => Semigroup (T5 a b c d e) | |
Contravariant g => Semigroup (BazaarT p g a b t) | |
Contravariant g => Semigroup (BazaarT1 p g a b t) | |
Semigroup (f (g x)) => Semigroup ((f :.: g) x) | |
(Semigroup a, Semigroup b, Semigroup c, Semigroup d, Semigroup e, Semigroup f) => Semigroup (T6 a b c d e f) | |
Monad m => Semigroup (Pipe l i o u m ()) | |
(Semigroup a, Semigroup b, Semigroup c, Semigroup d, Semigroup e, Semigroup f, Semigroup g) => Semigroup (T7 a b c d e f g) | |
(Semigroup a, Semigroup b, Semigroup c, Semigroup d, Semigroup e, Semigroup f, Semigroup g, Semigroup h) => Semigroup (T8 a b c d e f g h) | |
(Semigroup a, Semigroup b, Semigroup c, Semigroup d, Semigroup e, Semigroup f, Semigroup g, Semigroup h, Semigroup i) => Semigroup (T9 a b c d e f g h i) | |
(Semigroup a, Semigroup b, Semigroup c, Semigroup d, Semigroup e, Semigroup f, Semigroup g, Semigroup h, Semigroup i, Semigroup j) => Semigroup (T10 a b c d e f g h i j) | |
(Semigroup a, Semigroup b, Semigroup c, Semigroup d, Semigroup e, Semigroup f, Semigroup g, Semigroup h, Semigroup i, Semigroup j, Semigroup k) => Semigroup (T11 a b c d e f g h i j k) | |
(Semigroup a, Semigroup b, Semigroup c, Semigroup d, Semigroup e, Semigroup f, Semigroup g, Semigroup h, Semigroup i, Semigroup j, Semigroup k, Semigroup l) => Semigroup (T12 a b c d e f g h i j k l) | |
Defined in Data.Tuple.Strict.T12 | |
(Semigroup a, Semigroup b, Semigroup c, Semigroup d, Semigroup e, Semigroup f, Semigroup g, Semigroup h, Semigroup i, Semigroup j, Semigroup k, Semigroup l, Semigroup m) => Semigroup (T13 a b c d e f g h i j k l m) | |
Defined in Data.Tuple.Strict.T13 | |
(Semigroup a, Semigroup b, Semigroup c, Semigroup d, Semigroup e, Semigroup f, Semigroup g, Semigroup h, Semigroup i, Semigroup j, Semigroup k, Semigroup l, Semigroup m, Semigroup n) => Semigroup (T14 a b c d e f g h i j k l m n) | |
Defined in Data.Tuple.Strict.T14 Methods (<>) :: T14 a b c d e f g h i j k l m n -> T14 a b c d e f g h i j k l m n -> T14 a b c d e f g h i j k l m n # sconcat :: NonEmpty (T14 a b c d e f g h i j k l m n) -> T14 a b c d e f g h i j k l m n # stimes :: Integral b0 => b0 -> T14 a b c d e f g h i j k l m n -> T14 a b c d e f g h i j k l m n # | |
(Semigroup a, Semigroup b, Semigroup c, Semigroup d, Semigroup e, Semigroup f, Semigroup g, Semigroup h, Semigroup i, Semigroup j, Semigroup k, Semigroup l, Semigroup m, Semigroup n, Semigroup o) => Semigroup (T15 a b c d e f g h i j k l m n o) | |
Defined in Data.Tuple.Strict.T15 Methods (<>) :: T15 a b c d e f g h i j k l m n o -> T15 a b c d e f g h i j k l m n o -> T15 a b c d e f g h i j k l m n o # sconcat :: NonEmpty (T15 a b c d e f g h i j k l m n o) -> T15 a b c d e f g h i j k l m n o # stimes :: Integral b0 => b0 -> T15 a b c d e f g h i j k l m n o -> T15 a b c d e f g h i j k l m n o # | |
(Semigroup a, Semigroup b, Semigroup c, Semigroup d, Semigroup e, Semigroup f, Semigroup g, Semigroup h, Semigroup i, Semigroup j, Semigroup k, Semigroup l, Semigroup m, Semigroup n, Semigroup o, Semigroup p) => Semigroup (T16 a b c d e f g h i j k l m n o p) | |
Defined in Data.Tuple.Strict.T16 Methods (<>) :: T16 a b c d e f g h i j k l m n o p -> T16 a b c d e f g h i j k l m n o p -> T16 a b c d e f g h i j k l m n o p # sconcat :: NonEmpty (T16 a b c d e f g h i j k l m n o p) -> T16 a b c d e f g h i j k l m n o p # stimes :: Integral b0 => b0 -> T16 a b c d e f g h i j k l m n o p -> T16 a b c d e f g h i j k l m n o p # | |
(Semigroup a, Semigroup b, Semigroup c, Semigroup d, Semigroup e, Semigroup f, Semigroup g, Semigroup h, Semigroup i, Semigroup j, Semigroup k, Semigroup l, Semigroup m, Semigroup n, Semigroup o, Semigroup p, Semigroup q) => Semigroup (T17 a b c d e f g h i j k l m n o p q) | |
Defined in Data.Tuple.Strict.T17 Methods (<>) :: T17 a b c d e f g h i j k l m n o p q -> T17 a b c d e f g h i j k l m n o p q -> T17 a b c d e f g h i j k l m n o p q # sconcat :: NonEmpty (T17 a b c d e f g h i j k l m n o p q) -> T17 a b c d e f g h i j k l m n o p q # stimes :: Integral b0 => b0 -> T17 a b c d e f g h i j k l m n o p q -> T17 a b c d e f g h i j k l m n o p q # | |
(Semigroup a, Semigroup b, Semigroup c, Semigroup d, Semigroup e, Semigroup f, Semigroup g, Semigroup h, Semigroup i, Semigroup j, Semigroup k, Semigroup l, Semigroup m, Semigroup n, Semigroup o, Semigroup p, Semigroup q, Semigroup r) => Semigroup (T18 a b c d e f g h i j k l m n o p q r) | |
Defined in Data.Tuple.Strict.T18 Methods (<>) :: T18 a b c d e f g h i j k l m n o p q r -> T18 a b c d e f g h i j k l m n o p q r -> T18 a b c d e f g h i j k l m n o p q r # sconcat :: NonEmpty (T18 a b c d e f g h i j k l m n o p q r) -> T18 a b c d e f g h i j k l m n o p q r # stimes :: Integral b0 => b0 -> T18 a b c d e f g h i j k l m n o p q r -> T18 a b c d e f g h i j k l m n o p q r # | |
(Semigroup a, Semigroup b, Semigroup c, Semigroup d, Semigroup e, Semigroup f, Semigroup g, Semigroup h, Semigroup i, Semigroup j, Semigroup k, Semigroup l, Semigroup m, Semigroup n, Semigroup o, Semigroup p, Semigroup q, Semigroup r, Semigroup s) => Semigroup (T19 a b c d e f g h i j k l m n o p q r s) | |
Defined in Data.Tuple.Strict.T19 Methods (<>) :: T19 a b c d e f g h i j k l m n o p q r s -> T19 a b c d e f g h i j k l m n o p q r s -> T19 a b c d e f g h i j k l m n o p q r s # sconcat :: NonEmpty (T19 a b c d e f g h i j k l m n o p q r s) -> T19 a b c d e f g h i j k l m n o p q r s # stimes :: Integral b0 => b0 -> T19 a b c d e f g h i j k l m n o p q r s -> T19 a b c d e f g h i j k l m n o p q r s # |
The character type Char
is an enumeration whose values represent
Unicode (or equivalently ISO/IEC 10646) code points (i.e. characters, see
http://www.unicode.org/ for details). This set extends the ISO 8859-1
(Latin-1) character set (the first 256 characters), which is itself an extension
of the ASCII character set (the first 128 characters). A character literal in
Haskell has type Char
.
To convert a Char
to or from the corresponding Int
value defined
by Unicode, use toEnum
and fromEnum
from the
Enum
class respectively (or equivalently ord
and
chr
).
Instances
Bounded Char | Since: base-2.1 |
Enum Char | Since: base-2.1 |
Eq Char | |
Data Char | Since: base-4.0.0.0 |
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Char -> c Char # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Char # dataTypeOf :: Char -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Char) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Char) # gmapT :: (forall b. Data b => b -> b) -> Char -> Char # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Char -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Char -> r # gmapQ :: (forall d. Data d => d -> u) -> Char -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Char -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Char -> m Char # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Char -> m Char # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Char -> m Char # | |
Ord Char | |
Read Char | Since: base-2.1 |
Show Char | Since: base-2.1 |
Ix Char | Since: base-2.1 |
Structured Char | |
Defined in Distribution.Utils.Structured | |
NFData Char | |
Defined in Control.DeepSeq | |
PrintfArg Char | Since: base-2.1 |
Defined in Text.Printf | |
IsChar Char | Since: base-2.1 |
Storable Char | Since: base-2.1 |
Defined in Foreign.Storable | |
ErrorList Char | |
Defined in Control.Monad.Trans.Error | |
Hashable Char | |
Defined in Data.Hashable.Class | |
Finitary Char | |
Unbox Char | |
Defined in Data.Vector.Unboxed.Base | |
Prim Char | |
Defined in Data.Primitive.Types Methods alignment# :: Char -> Int# indexByteArray# :: ByteArray# -> Int# -> Char readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Char #) writeByteArray# :: MutableByteArray# s -> Int# -> Char -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Char -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> Char readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Char #) writeOffAddr# :: Addr# -> Int# -> Char -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> Char -> State# s -> State# s | |
Uniform Char | |
Defined in System.Random.Internal | |
UniformRange Char | |
Defined in System.Random.Internal | |
FromJSON Char | |
Defined in Data.Aeson.Types.FromJSON | |
ToJSON Char | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Char -> Encoding toJSONList :: [Char] -> Value toEncodingList :: [Char] -> Encoding | |
FromJSONKey Char | |
Defined in Data.Aeson.Types.FromJSON | |
ToJSONKey Char | |
Defined in Data.Aeson.Types.ToJSON | |
TraversableStream String | |
Defined in Text.Megaparsec.Stream Methods reachOffset :: Int -> PosState String -> (Maybe String, PosState String) reachOffsetNoLine :: Int -> PosState String -> PosState String | |
VisualStream String | |
Defined in Text.Megaparsec.Stream | |
FoldCase Char | |
Defined in Data.CaseInsensitive.Internal | |
FromValue ParsePackageConfig | |
Defined in Hpack.Config Methods fromValue :: Value -> Parser ParsePackageConfig | |
PrimType Char | |
Defined in Basement.PrimType Methods primSizeInBytes :: Proxy Char -> CountOf Word8 primShiftToBytes :: Proxy Char -> Int primBaUIndex :: ByteArray# -> Offset Char -> Char primMbaURead :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset Char -> prim Char primMbaUWrite :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset Char -> Char -> prim () primAddrIndex :: Addr# -> Offset Char -> Char primAddrRead :: PrimMonad prim => Addr# -> Offset Char -> prim Char primAddrWrite :: PrimMonad prim => Addr# -> Offset Char -> Char -> prim () | |
PrimMemoryComparable Char | |
Defined in Basement.PrimType | |
Subtractive Char | |
FromFormKey String | |
Defined in Web.Internal.FormUrlEncoded Methods parseFormKey :: Text -> Either Text String | |
FromFormKey Char | |
Defined in Web.Internal.FormUrlEncoded Methods parseFormKey :: Text -> Either Text Char | |
ToFormKey String | |
Defined in Web.Internal.FormUrlEncoded | |
ToFormKey Char | |
Defined in Web.Internal.FormUrlEncoded | |
HasChars String | |
FromColor String | |
Defined in Skylighting.Types | |
ToColor String | |
Defined in Skylighting.Types | |
FromStyleId String | |
Defined in Text.Pandoc.Readers.Docx.Parse.Styles Methods fromStyleId :: String -> Text | |
FromStyleName String | |
Defined in Text.Pandoc.Readers.Docx.Parse.Styles Methods fromStyleName :: String -> Text | |
ToMetaValue String | |
Defined in Text.Pandoc.Builder Methods toMetaValue :: String -> MetaValue | |
Lift Char | |
IArray UArray Char | |
Defined in Data.Array.Base Methods bounds :: Ix i => UArray i Char -> (i, i) # numElements :: Ix i => UArray i Char -> Int unsafeArray :: Ix i => (i, i) -> [(Int, Char)] -> UArray i Char unsafeAt :: Ix i => UArray i Char -> Int -> Char unsafeReplace :: Ix i => UArray i Char -> [(Int, Char)] -> UArray i Char unsafeAccum :: Ix i => (Char -> e' -> Char) -> UArray i Char -> [(Int, e')] -> UArray i Char unsafeAccumArray :: Ix i => (Char -> e' -> Char) -> Char -> (i, i) -> [(Int, e')] -> UArray i Char | |
Vector Vector Char | |
Defined in Data.Vector.Unboxed.Base Methods basicUnsafeFreeze :: PrimMonad m => Mutable Vector (PrimState m) Char -> m (Vector Char) basicUnsafeThaw :: PrimMonad m => Vector Char -> m (Mutable Vector (PrimState m) Char) basicLength :: Vector Char -> Int basicUnsafeSlice :: Int -> Int -> Vector Char -> Vector Char basicUnsafeIndexM :: Monad m => Vector Char -> Int -> m Char basicUnsafeCopy :: PrimMonad m => Mutable Vector (PrimState m) Char -> Vector Char -> m () | |
MVector MVector Char | |
Defined in Data.Vector.Unboxed.Base Methods basicLength :: MVector s Char -> Int basicUnsafeSlice :: Int -> Int -> MVector s Char -> MVector s Char basicOverlaps :: MVector s Char -> MVector s Char -> Bool basicUnsafeNew :: PrimMonad m => Int -> m (MVector (PrimState m) Char) basicInitialize :: PrimMonad m => MVector (PrimState m) Char -> m () basicUnsafeReplicate :: PrimMonad m => Int -> Char -> m (MVector (PrimState m) Char) basicUnsafeRead :: PrimMonad m => MVector (PrimState m) Char -> Int -> m Char basicUnsafeWrite :: PrimMonad m => MVector (PrimState m) Char -> Int -> Char -> m () basicClear :: PrimMonad m => MVector (PrimState m) Char -> m () basicSet :: PrimMonad m => MVector (PrimState m) Char -> Char -> m () basicUnsafeCopy :: PrimMonad m => MVector (PrimState m) Char -> MVector (PrimState m) Char -> m () basicUnsafeMove :: PrimMonad m => MVector (PrimState m) Char -> MVector (PrimState m) Char -> m () basicUnsafeGrow :: PrimMonad m => MVector (PrimState m) Char -> Int -> m (MVector (PrimState m) Char) | |
Match String () | |
Defined in Data.YAML.Token | |
Match Char () | |
Defined in Data.YAML.Token | |
UpdateSourcePos Text Char | |
Defined in Text.Pandoc.Sources Methods updateSourcePos :: SourcePos -> Char -> Text -> SourcePos | |
UpdateSourcePos Sources Char | |
Defined in Text.Pandoc.Sources Methods updateSourcePos :: SourcePos -> Char -> Sources -> SourcePos | |
Monad m => Stream Sources m Char | |
Defined in Text.Pandoc.Sources | |
KnownSymbol n => Reifies (n :: Symbol) String | |
Defined in Data.Reflection | |
Cons Text Text Char Char | |
Cons Text Text Char Char | |
Snoc Text Text Char Char | |
Snoc Text Text Char Char | |
Selector s => GFromForm (t :: k) (M1 S s (K1 i String :: Type -> Type)) | |
Selector s => GToForm (t :: k) (M1 S s (K1 i String :: Type -> Type)) | |
Generic1 (URec Char :: k -> Type) | Since: base-4.9.0.0 |
Foldable (UChar :: Type -> Type) | Since: base-4.9.0.0 |
Defined in Data.Foldable Methods fold :: Monoid m => UChar m -> m # foldMap :: Monoid m => (a -> m) -> UChar a -> m # foldMap' :: Monoid m => (a -> m) -> UChar a -> m # foldr :: (a -> b -> b) -> b -> UChar a -> b # foldr' :: (a -> b -> b) -> b -> UChar a -> b # foldl :: (b -> a -> b) -> b -> UChar a -> b # foldl' :: (b -> a -> b) -> b -> UChar a -> b # foldr1 :: (a -> a -> a) -> UChar a -> a # foldl1 :: (a -> a -> a) -> UChar a -> a # elem :: Eq a => a -> UChar a -> Bool # maximum :: Ord a => UChar a -> a # minimum :: Ord a => UChar a -> a # | |
Traversable (UChar :: Type -> Type) | Since: base-4.9.0.0 |
FromValue a => FromValue (ParseCommonOptions a) | |
Defined in Hpack.Config Methods fromValue :: Value -> Parser (ParseCommonOptions a) | |
FromValue a => FromValue (ParseConditionalSection a) | |
Defined in Hpack.Config Methods fromValue :: Value -> Parser (ParseConditionalSection a) | |
FromValue a => FromValue (ParseThenElse a) | |
Defined in Hpack.Config Methods fromValue :: Value -> Parser (ParseThenElse a) | |
ToSources [(FilePath, Text)] | |
Defined in Text.Pandoc.Sources | |
MimeRender PlainText String | |
Defined in Servant.API.ContentTypes Methods mimeRender :: Proxy PlainText -> String -> ByteString | |
MimeUnrender PlainText String | |
Defined in Servant.API.ContentTypes Methods mimeUnrender :: Proxy PlainText -> ByteString -> Either String String mimeUnrenderWithType :: Proxy PlainText -> MediaType -> ByteString -> Either String String | |
MArray (STUArray s) Char (ST s) | |
Defined in Data.Array.Base Methods getBounds :: Ix i => STUArray s i Char -> ST s (i, i) # getNumElements :: Ix i => STUArray s i Char -> ST s Int newArray :: Ix i => (i, i) -> Char -> ST s (STUArray s i Char) # newArray_ :: Ix i => (i, i) -> ST s (STUArray s i Char) # unsafeNewArray_ :: Ix i => (i, i) -> ST s (STUArray s i Char) unsafeRead :: Ix i => STUArray s i Char -> Int -> ST s Char unsafeWrite :: Ix i => STUArray s i Char -> Int -> Char -> ST s () | |
Functor (URec Char :: Type -> Type) | Since: base-4.9.0.0 |
ToMetaValue a => ToMetaValue (Map String a) | |
Defined in Text.Pandoc.Builder Methods toMetaValue :: Map String a -> MetaValue | |
Match (Char, Char) () | |
Defined in Data.YAML.Token | |
Monad m => MonadError (Pos, String) (PT n m) | |
Defined in Data.YAML.Loader Methods throwError :: (Pos, String) -> PT n m a # catchError :: PT n m a -> ((Pos, String) -> PT n m a) -> PT n m a # | |
Eq (URec Char p) | Since: base-4.9.0.0 |
Ord (URec Char p) | Since: base-4.9.0.0 |
Defined in GHC.Generics | |
Show (URec Char p) | Since: base-4.9.0.0 |
Generic (URec Char p) | Since: base-4.9.0.0 |
newtype Vector Char | |
Defined in Data.Vector.Unboxed.Base | |
type Cardinality Char | |
Defined in Data.Finitary type Cardinality Char = 1114112 | |
type NatNumMaxBound Char | |
Defined in Basement.Nat type NatNumMaxBound Char = 1114111 | |
type Difference Char | |
Defined in Basement.Numerical.Subtractive | |
type PrimSize Char | |
Defined in Basement.PrimType type PrimSize Char = 4 | |
data URec Char (p :: k) | Used for marking occurrences of Since: base-4.9.0.0 |
newtype MVector s Char | |
Defined in Data.Vector.Unboxed.Base | |
type Rep1 (URec Char :: k -> Type) | |
Defined in GHC.Generics | |
type Rep (URec Char p) | |
Defined in GHC.Generics |
Natural number
Invariant: numbers <= 0xffffffffffffffff use the NS
constructor
Instances
Enum Natural | Since: base-4.8.0.0 |
Eq Natural | |
Integral Natural | Since: base-4.8.0.0 |
Defined in GHC.Real | |
Data Natural | Since: base-4.8.0.0 |
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Natural -> c Natural # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Natural # toConstr :: Natural -> Constr # dataTypeOf :: Natural -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Natural) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Natural) # gmapT :: (forall b. Data b => b -> b) -> Natural -> Natural # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Natural -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Natural -> r # gmapQ :: (forall d. Data d => d -> u) -> Natural -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Natural -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Natural -> m Natural # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Natural -> m Natural # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Natural -> m Natural # | |
Num Natural | Note that Since: base-4.8.0.0 |
Ord Natural | |
Read Natural | Since: base-4.8.0.0 |
Real Natural | Since: base-4.8.0.0 |
Defined in GHC.Real Methods toRational :: Natural -> Rational # | |
Show Natural | Since: base-4.8.0.0 |
Ix Natural | Since: base-4.8.0.0 |
Defined in GHC.Ix | |
NFData Natural | Since: deepseq-1.4.0.0 |
Defined in Control.DeepSeq | |
PrintfArg Natural | Since: base-4.8.0.0 |
Defined in Text.Printf | |
Bits Natural | Since: base-4.8.0 |
Defined in Data.Bits Methods (.&.) :: Natural -> Natural -> Natural # (.|.) :: Natural -> Natural -> Natural # xor :: Natural -> Natural -> Natural # complement :: Natural -> Natural # shift :: Natural -> Int -> Natural # rotate :: Natural -> Int -> Natural # setBit :: Natural -> Int -> Natural # clearBit :: Natural -> Int -> Natural # complementBit :: Natural -> Int -> Natural # testBit :: Natural -> Int -> Bool # bitSizeMaybe :: Natural -> Maybe Int # shiftL :: Natural -> Int -> Natural # unsafeShiftL :: Natural -> Int -> Natural # shiftR :: Natural -> Int -> Natural # unsafeShiftR :: Natural -> Int -> Natural # rotateL :: Natural -> Int -> Natural # | |
Hashable Natural | |
Defined in Data.Hashable.Class | |
UniformRange Natural | |
Defined in System.Random.Internal | |
FromJSON Natural | |
Defined in Data.Aeson.Types.FromJSON | |
ToJSON Natural | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Natural -> Encoding toJSONList :: [Natural] -> Value toEncodingList :: [Natural] -> Encoding | |
FromJSONKey Natural | |
Defined in Data.Aeson.Types.FromJSON | |
ToJSONKey Natural | |
Defined in Data.Aeson.Types.ToJSON | |
Corecursive Natural | |
Defined in Data.Functor.Foldable Methods embed :: Base Natural Natural -> Natural ana :: (a -> Base Natural a) -> a -> Natural apo :: (a -> Base Natural (Either Natural a)) -> a -> Natural postpro :: Recursive Natural => (forall b. Base Natural b -> Base Natural b) -> (a -> Base Natural a) -> a -> Natural gpostpro :: (Recursive Natural, Monad m) => (forall b. m (Base Natural b) -> Base Natural (m b)) -> (forall c. Base Natural c -> Base Natural c) -> (a -> Base Natural (m a)) -> a -> Natural | |
Recursive Natural | |
Defined in Data.Functor.Foldable Methods project :: Natural -> Base Natural Natural cata :: (Base Natural a -> a) -> Natural -> a para :: (Base Natural (Natural, a) -> a) -> Natural -> a gpara :: (Corecursive Natural, Comonad w) => (forall b. Base Natural (w b) -> w (Base Natural b)) -> (Base Natural (EnvT Natural w a) -> a) -> Natural -> a prepro :: Corecursive Natural => (forall b. Base Natural b -> Base Natural b) -> (Base Natural a -> a) -> Natural -> a gprepro :: (Corecursive Natural, Comonad w) => (forall b. Base Natural (w b) -> w (Base Natural b)) -> (forall c. Base Natural c -> Base Natural c) -> (Base Natural (w a) -> a) -> Natural -> a | |
Subtractive Natural | |
FromFormKey Natural | |
Defined in Web.Internal.FormUrlEncoded Methods parseFormKey :: Text -> Either Text Natural | |
ToFormKey Natural | |
Defined in Web.Internal.FormUrlEncoded | |
UniqueFactorisation Natural | |
Semiring Natural | |
Lift Natural | |
type Base Natural | |
Defined in Data.Functor.Foldable | |
type Difference Natural | |
Defined in Basement.Numerical.Subtractive |
The Maybe
type encapsulates an optional value. A value of type
either contains a value of type Maybe
aa
(represented as
),
or it is empty (represented as Just
aNothing
). Using Maybe
is a good way to
deal with errors or exceptional cases without resorting to drastic
measures such as error
.
The Maybe
type is also a monad. It is a simple kind of error
monad, where all errors are represented by Nothing
. A richer
error monad can be built using the Either
type.
Instances
Monad Maybe | Since: base-2.1 |
Functor Maybe | Since: base-2.1 |
MonadFix Maybe | Since: base-2.1 |
Defined in Control.Monad.Fix | |
MonadFail Maybe | Since: base-4.9.0.0 |
Defined in Control.Monad.Fail | |
Applicative Maybe | Since: base-2.1 |
Foldable Maybe | Since: base-2.1 |
Defined in Data.Foldable Methods fold :: Monoid m => Maybe m -> m # foldMap :: Monoid m => (a -> m) -> Maybe a -> m # foldMap' :: Monoid m => (a -> m) -> Maybe a -> m # foldr :: (a -> b -> b) -> b -> Maybe a -> b # foldr' :: (a -> b -> b) -> b -> Maybe a -> b # foldl :: (b -> a -> b) -> b -> Maybe a -> b # foldl' :: (b -> a -> b) -> b -> Maybe a -> b # foldr1 :: (a -> a -> a) -> Maybe a -> a # foldl1 :: (a -> a -> a) -> Maybe a -> a # elem :: Eq a => a -> Maybe a -> Bool # maximum :: Ord a => Maybe a -> a # minimum :: Ord a => Maybe a -> a # | |
Traversable Maybe | Since: base-2.1 |
MonadPlus Maybe | Since: base-2.1 |
Alternative Maybe | Since: base-2.1 |
Eq1 Maybe | Since: base-4.9.0.0 |
Ord1 Maybe | Since: base-4.9.0.0 |
Defined in Data.Functor.Classes | |
Read1 Maybe | Since: base-4.9.0.0 |
Defined in Data.Functor.Classes | |
Show1 Maybe | Since: base-4.9.0.0 |
NFData1 Maybe | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
MonadThrow Maybe | |
Defined in Control.Monad.Catch | |
Hashable1 Maybe | |
Defined in Data.Hashable.Class | |
Apply Maybe | |
Bind Maybe | |
Metric Maybe | |
Additive Maybe | |
Defined in Linear.Vector | |
FromJSON1 Maybe | |
Defined in Data.Aeson.Types.FromJSON Methods liftParseJSON :: (Value -> Parser a) -> (Value -> Parser [a]) -> Value -> Parser (Maybe a) liftParseJSONList :: (Value -> Parser a) -> (Value -> Parser [a]) -> Value -> Parser [Maybe a] | |
ToJSON1 Maybe | |
Defined in Data.Aeson.Types.ToJSON Methods liftToJSON :: (a -> Value) -> ([a] -> Value) -> Maybe a -> Value liftToJSONList :: (a -> Value) -> ([a] -> Value) -> [Maybe a] -> Value liftToEncoding :: (a -> Encoding) -> ([a] -> Encoding) -> Maybe a -> Encoding liftToEncodingList :: (a -> Encoding) -> ([a] -> Encoding) -> [Maybe a] -> Encoding | |
FromValue ParsePackageConfig | |
Defined in Hpack.Config Methods fromValue :: Value -> Parser ParsePackageConfig | |
MonadFailure Maybe | |
Defined in Basement.Monad Associated Types type Failure Maybe | |
MonadError () Maybe | Since: mtl-2.2.2 |
Defined in Control.Monad.Error.Class | |
FoldableWithIndex () Maybe | |
FunctorWithIndex () Maybe | |
TraversableWithIndex () Maybe | |
MonadBaseControl Maybe Maybe | |
Defined in Control.Monad.Trans.Control Associated Types type StM Maybe a | |
(Selector s, GToJSON' enc arity (K1 i (Maybe a) :: Type -> Type), KeyValuePair enc pairs, Monoid pairs) => RecordToPairs enc pairs arity (S1 s (K1 i (Maybe a) :: Type -> Type)) | |
Defined in Data.Aeson.Types.ToJSON Methods recordToPairs :: Options -> ToArgs enc arity a0 -> S1 s (K1 i (Maybe a)) a0 -> pairs | |
(Selector s, FromHttpApiData c) => GFromForm (t :: k) (M1 S s (K1 i (Maybe c) :: Type -> Type)) | |
(Selector s, ToHttpApiData c) => GToForm (t :: k) (M1 S s (K1 i (Maybe c) :: Type -> Type)) | |
Lift a => Lift (Maybe a :: Type) | |
(Selector s, FromJSON a) => RecordFromJSON' arity (S1 s (K1 i (Maybe a) :: Type -> Type)) | |
Defined in Data.Aeson.Types.FromJSON Methods recordParseJSON' :: (ConName :* (TypeName :* (Options :* FromArgs arity a0))) -> Object -> Parser (S1 s (K1 i (Maybe a)) a0) | |
Eq a => Eq (Maybe a) | Since: base-2.1 |
Data a => Data (Maybe a) | Since: base-4.0.0.0 |
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Maybe a -> c (Maybe a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Maybe a) # toConstr :: Maybe a -> Constr # dataTypeOf :: Maybe a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Maybe a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Maybe a)) # gmapT :: (forall b. Data b => b -> b) -> Maybe a -> Maybe a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Maybe a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Maybe a -> r # gmapQ :: (forall d. Data d => d -> u) -> Maybe a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Maybe a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Maybe a -> m (Maybe a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Maybe a -> m (Maybe a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Maybe a -> m (Maybe a) # | |
Ord a => Ord (Maybe a) | Since: base-2.1 |
Read a => Read (Maybe a) | Since: base-2.1 |
Show a => Show (Maybe a) | Since: base-2.1 |
Generic (Maybe a) | Since: base-4.6.0.0 |
Semigroup a => Semigroup (Maybe a) | Since: base-4.9.0.0 |
Semigroup a => Monoid (Maybe a) | Lift a semigroup into Since 4.11.0: constraint on inner Since: base-2.1 |
Structured a => Structured (Maybe a) | |
Defined in Distribution.Utils.Structured | |
NFData a => NFData (Maybe a) | |
Defined in Control.DeepSeq | |
Hashable a => Hashable (Maybe a) | |
Defined in Data.Hashable.Class | |
SingKind a => SingKind (Maybe a) | Since: base-4.9.0.0 |
Defined in GHC.Generics Associated Types type DemoteRep (Maybe a) | |
Finitary a => Finitary (Maybe a) | |
At (Maybe a) | |
Ixed (Maybe a) | |
Defined in Control.Lens.At | |
AsEmpty (Maybe a) | |
Defined in Control.Lens.Empty | |
FromJSON a => FromJSON (Maybe a) | |
Defined in Data.Aeson.Types.FromJSON | |
ToJSON a => ToJSON (Maybe a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Maybe a -> Encoding toJSONList :: [Maybe a] -> Value toEncodingList :: [Maybe a] -> Encoding | |
Default (Maybe a) | |
Defined in Data.Default.Class | |
Corecursive (Maybe a) | |
Defined in Data.Functor.Foldable Methods embed :: Base (Maybe a) (Maybe a) -> Maybe a ana :: (a0 -> Base (Maybe a) a0) -> a0 -> Maybe a apo :: (a0 -> Base (Maybe a) (Either (Maybe a) a0)) -> a0 -> Maybe a postpro :: Recursive (Maybe a) => (forall b. Base (Maybe a) b -> Base (Maybe a) b) -> (a0 -> Base (Maybe a) a0) -> a0 -> Maybe a gpostpro :: (Recursive (Maybe a), Monad m) => (forall b. m (Base (Maybe a) b) -> Base (Maybe a) (m b)) -> (forall c. Base (Maybe a) c -> Base (Maybe a) c) -> (a0 -> Base (Maybe a) (m a0)) -> a0 -> Maybe a | |
Recursive (Maybe a) | |
Defined in Data.Functor.Foldable Methods project :: Maybe a -> Base (Maybe a) (Maybe a) cata :: (Base (Maybe a) a0 -> a0) -> Maybe a -> a0 para :: (Base (Maybe a) (Maybe a, a0) -> a0) -> Maybe a -> a0 gpara :: (Corecursive (Maybe a), Comonad w) => (forall b. Base (Maybe a) (w b) -> w (Base (Maybe a) b)) -> (Base (Maybe a) (EnvT (Maybe a) w a0) -> a0) -> Maybe a -> a0 prepro :: Corecursive (Maybe a) => (forall b. Base (Maybe a) b -> Base (Maybe a) b) -> (Base (Maybe a) a0 -> a0) -> Maybe a -> a0 gprepro :: (Corecursive (Maybe a), Comonad w) => (forall b. Base (Maybe a) (w b) -> w (Base (Maybe a) b)) -> (forall c. Base (Maybe a) c -> Base (Maybe a) c) -> (Base (Maybe a) (w a0) -> a0) -> Maybe a -> a0 | |
FromValue a => FromValue (ParseCommonOptions a) | |
Defined in Hpack.Config Methods fromValue :: Value -> Parser (ParseCommonOptions a) | |
FromValue a => FromValue (ParseConditionalSection a) | |
Defined in Hpack.Config Methods fromValue :: Value -> Parser (ParseConditionalSection a) | |
FromValue a => FromValue (ParseThenElse a) | |
Defined in Hpack.Config Methods fromValue :: Value -> Parser (ParseThenElse a) | |
Semiring a => Semiring (Maybe a) | |
MonoFoldable (Maybe a) | |
Defined in Data.MonoTraversable Methods ofoldMap :: Monoid m => (Element (Maybe a) -> m) -> Maybe a -> m ofoldr :: (Element (Maybe a) -> b -> b) -> b -> Maybe a -> b ofoldl' :: (a0 -> Element (Maybe a) -> a0) -> a0 -> Maybe a -> a0 otoList :: Maybe a -> [Element (Maybe a)] oall :: (Element (Maybe a) -> Bool) -> Maybe a -> Bool oany :: (Element (Maybe a) -> Bool) -> Maybe a -> Bool ocompareLength :: Integral i => Maybe a -> i -> Ordering otraverse_ :: Applicative f => (Element (Maybe a) -> f b) -> Maybe a -> f () ofor_ :: Applicative f => Maybe a -> (Element (Maybe a) -> f b) -> f () omapM_ :: Applicative m => (Element (Maybe a) -> m ()) -> Maybe a -> m () oforM_ :: Applicative m => Maybe a -> (Element (Maybe a) -> m ()) -> m () ofoldlM :: Monad m => (a0 -> Element (Maybe a) -> m a0) -> a0 -> Maybe a -> m a0 ofoldMap1Ex :: Semigroup m => (Element (Maybe a) -> m) -> Maybe a -> m ofoldr1Ex :: (Element (Maybe a) -> Element (Maybe a) -> Element (Maybe a)) -> Maybe a -> Element (Maybe a) ofoldl1Ex' :: (Element (Maybe a) -> Element (Maybe a) -> Element (Maybe a)) -> Maybe a -> Element (Maybe a) headEx :: Maybe a -> Element (Maybe a) lastEx :: Maybe a -> Element (Maybe a) unsafeHead :: Maybe a -> Element (Maybe a) unsafeLast :: Maybe a -> Element (Maybe a) maximumByEx :: (Element (Maybe a) -> Element (Maybe a) -> Ordering) -> Maybe a -> Element (Maybe a) minimumByEx :: (Element (Maybe a) -> Element (Maybe a) -> Ordering) -> Maybe a -> Element (Maybe a) | |
MonoFunctor (Maybe a) | |
MonoPointed (Maybe a) | |
Defined in Data.MonoTraversable | |
MonoTraversable (Maybe a) | |
Defined in Data.MonoTraversable | |
Generic1 Maybe | Since: base-4.6.0.0 |
SingI ('Nothing :: Maybe a) | Since: base-4.9.0.0 |
Defined in GHC.Generics | |
Strict (Maybe a) (Maybe a) | |
Defined in Data.Strict.Classes | |
Each (Maybe a) (Maybe b) a b | |
SingI a2 => SingI ('Just a2 :: Maybe a1) | Since: base-4.9.0.0 |
Defined in GHC.Generics | |
type Failure Maybe | |
Defined in Basement.Monad type Failure Maybe = () | |
type StM Maybe a | |
Defined in Control.Monad.Trans.Control type StM Maybe a = a | |
type Rep (Maybe a) | |
Defined in GHC.Generics | |
type DemoteRep (Maybe a) | |
Defined in GHC.Generics | |
data Sing (b :: Maybe a) | |
type Cardinality (Maybe a) | |
Defined in Data.Finitary | |
type Index (Maybe a) | |
Defined in Control.Lens.At | |
type IxValue (Maybe a) | |
Defined in Control.Lens.At | |
type Base (Maybe a) | |
type Element (Maybe a) | |
Defined in Data.MonoTraversable type Element (Maybe a) = a | |
type Rep1 Maybe | |
type Eval (HasTotalFieldPSym sym :: (Type -> Type) -> Maybe Type -> Type) (tt :: Type -> Type) | |
type Eval (HasTotalPositionPSym t :: (Type -> Type) -> Maybe Type -> Type) (tt :: Type -> Type) | |
type Eval (HasTotalFieldPSym sym :: (Type -> Type) -> Maybe Type -> Type) (tt :: Type -> Type) | |
type Eval (HasTotalTypePSym t :: (Type -> Type) -> Maybe Type -> Type) (tt :: Type -> Type) | |
Instances
Bounded Ordering | Since: base-2.1 |
Enum Ordering | Since: base-2.1 |
Eq Ordering | |
Data Ordering | Since: base-4.0.0.0 |
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Ordering -> c Ordering # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Ordering # toConstr :: Ordering -> Constr # dataTypeOf :: Ordering -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Ordering) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Ordering) # gmapT :: (forall b. Data b => b -> b) -> Ordering -> Ordering # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Ordering -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Ordering -> r # gmapQ :: (forall d. Data d => d -> u) -> Ordering -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Ordering -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Ordering -> m Ordering # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Ordering -> m Ordering # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Ordering -> m Ordering # | |
Ord Ordering | |
Defined in GHC.Classes | |
Read Ordering | Since: base-2.1 |
Show Ordering | Since: base-2.1 |
Ix Ordering | Since: base-2.1 |
Defined in GHC.Ix Methods range :: (Ordering, Ordering) -> [Ordering] # index :: (Ordering, Ordering) -> Ordering -> Int # unsafeIndex :: (Ordering, Ordering) -> Ordering -> Int # inRange :: (Ordering, Ordering) -> Ordering -> Bool # rangeSize :: (Ordering, Ordering) -> Int # unsafeRangeSize :: (Ordering, Ordering) -> Int # | |
Generic Ordering | Since: base-4.6.0.0 |
Semigroup Ordering | Since: base-4.9.0.0 |
Monoid Ordering | Since: base-2.1 |
Structured Ordering | |
Defined in Distribution.Utils.Structured | |
NFData Ordering | |
Defined in Control.DeepSeq | |
Hashable Ordering | |
Defined in Data.Hashable.Class | |
Finitary Ordering | |
AsEmpty Ordering | |
Defined in Control.Lens.Empty | |
FromJSON Ordering | |
Defined in Data.Aeson.Types.FromJSON | |
ToJSON Ordering | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Ordering -> Encoding toJSONList :: [Ordering] -> Value toEncodingList :: [Ordering] -> Encoding | |
Default Ordering | |
Defined in Data.Default.Class | |
FromFormKey Ordering | |
Defined in Web.Internal.FormUrlEncoded Methods parseFormKey :: Text -> Either Text Ordering | |
ToFormKey Ordering | |
Defined in Web.Internal.FormUrlEncoded | |
Monoid Ordering | |
Defined in Data.Monoid.Linear.Internal.Monoid | |
Semigroup Ordering | |
Defined in Data.Monoid.Linear.Internal.Semigroup | |
type Rep Ordering | |
type Cardinality Ordering | |
Defined in Data.Finitary |
The Either
type represents values with two possibilities: a value of
type
is either Either
a b
or Left
a
.Right
b
The Either
type is sometimes used to represent a value which is
either correct or an error; by convention, the Left
constructor is
used to hold an error value and the Right
constructor is used to
hold a correct value (mnemonic: "right" also means "correct").
Examples
The type
is the type of values which can be either
a Either
String
Int
String
or an Int
. The Left
constructor can be used only on
String
s, and the Right
constructor can be used only on Int
s:
>>>
let s = Left "foo" :: Either String Int
>>>
s
Left "foo">>>
let n = Right 3 :: Either String Int
>>>
n
Right 3>>>
:type s
s :: Either String Int>>>
:type n
n :: Either String Int
The fmap
from our Functor
instance will ignore Left
values, but
will apply the supplied function to values contained in a Right
:
>>>
let s = Left "foo" :: Either String Int
>>>
let n = Right 3 :: Either String Int
>>>
fmap (*2) s
Left "foo">>>
fmap (*2) n
Right 6
The Monad
instance for Either
allows us to chain together multiple
actions which may fail, and fail overall if any of the individual
steps failed. First we'll write a function that can either parse an
Int
from a Char
, or fail.
>>>
import Data.Char ( digitToInt, isDigit )
>>>
:{
let parseEither :: Char -> Either String Int parseEither c | isDigit c = Right (digitToInt c) | otherwise = Left "parse error">>>
:}
The following should work, since both '1'
and '2'
can be
parsed as Int
s.
>>>
:{
let parseMultiple :: Either String Int parseMultiple = do x <- parseEither '1' y <- parseEither '2' return (x + y)>>>
:}
>>>
parseMultiple
Right 3
But the following should fail overall, since the first operation where
we attempt to parse 'm'
as an Int
will fail:
>>>
:{
let parseMultiple :: Either String Int parseMultiple = do x <- parseEither 'm' y <- parseEither '2' return (x + y)>>>
:}
>>>
parseMultiple
Left "parse error"
Instances
Bitraversable Either | Since: base-4.10.0.0 |
Defined in Data.Bitraversable Methods bitraverse :: Applicative f => (a -> f c) -> (b -> f d) -> Either a b -> f (Either c d) # | |
Bifoldable Either | Since: base-4.10.0.0 |
Bifunctor Either | Since: base-4.8.0.0 |
Eq2 Either | Since: base-4.9.0.0 |
Ord2 Either | Since: base-4.9.0.0 |
Defined in Data.Functor.Classes | |
Read2 Either | Since: base-4.9.0.0 |
Defined in Data.Functor.Classes Methods liftReadsPrec2 :: (Int -> ReadS a) -> ReadS [a] -> (Int -> ReadS b) -> ReadS [b] -> Int -> ReadS (Either a b) # liftReadList2 :: (Int -> ReadS a) -> ReadS [a] -> (Int -> ReadS b) -> ReadS [b] -> ReadS [Either a b] # liftReadPrec2 :: ReadPrec a -> ReadPrec [a] -> ReadPrec b -> ReadPrec [b] -> ReadPrec (Either a b) # liftReadListPrec2 :: ReadPrec a -> ReadPrec [a] -> ReadPrec b -> ReadPrec [b] -> ReadPrec [Either a b] # | |
Show2 Either | Since: base-4.9.0.0 |
NFData2 Either | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
Hashable2 Either | |
Defined in Data.Hashable.Class | |
Swap Either | |
Defined in Data.Bifunctor.Swap | |
Bifoldable1 Either | |
Defined in Data.Semigroup.Foldable.Class | |
FromJSON2 Either | |
Defined in Data.Aeson.Types.FromJSON Methods liftParseJSON2 :: (Value -> Parser a) -> (Value -> Parser [a]) -> (Value -> Parser b) -> (Value -> Parser [b]) -> Value -> Parser (Either a b) liftParseJSONList2 :: (Value -> Parser a) -> (Value -> Parser [a]) -> (Value -> Parser b) -> (Value -> Parser [b]) -> Value -> Parser [Either a b] | |
ToJSON2 Either | |
Defined in Data.Aeson.Types.ToJSON Methods liftToJSON2 :: (a -> Value) -> ([a] -> Value) -> (b -> Value) -> ([b] -> Value) -> Either a b -> Value liftToJSONList2 :: (a -> Value) -> ([a] -> Value) -> (b -> Value) -> ([b] -> Value) -> [Either a b] -> Value liftToEncoding2 :: (a -> Encoding) -> ([a] -> Encoding) -> (b -> Encoding) -> ([b] -> Encoding) -> Either a b -> Encoding liftToEncodingList2 :: (a -> Encoding) -> ([a] -> Encoding) -> (b -> Encoding) -> ([b] -> Encoding) -> [Either a b] -> Encoding | |
Bitraversable1 Either | |
Defined in Data.Semigroup.Traversable.Class Methods bitraverse1 :: Apply f => (a -> f b) -> (c -> f d) -> Either a c -> f (Either b d) bisequence1 :: Apply f => Either (f a) (f b) -> f (Either a b) | |
Monoidal Either Void LinearArrow | |
Strong Either Void LinearArrow | |
Functor f => Monoidal Either Void (Kleisli f) | |
Applicative f => Strong Either Void (Kleisli f) | |
Monoidal Either Void (->) | |
Strong Either Void (->) | |
Strong Either Void (Market a b) | |
MonadError e (Either e) | |
Defined in Control.Monad.Error.Class | |
(Lift a, Lift b) => Lift (Either a b :: Type) | |
Monad (Either e) | Since: base-4.4.0.0 |
Functor (Either a) | Since: base-3.0 |
MonadFix (Either e) | Since: base-4.3.0.0 |
Defined in Control.Monad.Fix | |
Applicative (Either e) | Since: base-3.0 |
Foldable (Either a) | Since: base-4.7.0.0 |
Defined in Data.Foldable Methods fold :: Monoid m => Either a m -> m # foldMap :: Monoid m => (a0 -> m) -> Either a a0 -> m # foldMap' :: Monoid m => (a0 -> m) -> Either a a0 -> m # foldr :: (a0 -> b -> b) -> b -> Either a a0 -> b # foldr' :: (a0 -> b -> b) -> b -> Either a a0 -> b # foldl :: (b -> a0 -> b) -> b -> Either a a0 -> b # foldl' :: (b -> a0 -> b) -> b -> Either a a0 -> b # foldr1 :: (a0 -> a0 -> a0) -> Either a a0 -> a0 # foldl1 :: (a0 -> a0 -> a0) -> Either a a0 -> a0 # toList :: Either a a0 -> [a0] # length :: Either a a0 -> Int # elem :: Eq a0 => a0 -> Either a a0 -> Bool # maximum :: Ord a0 => Either a a0 -> a0 # minimum :: Ord a0 => Either a a0 -> a0 # | |
Traversable (Either a) | Since: base-4.7.0.0 |
Defined in Data.Traversable | |
Eq a => Eq1 (Either a) | Since: base-4.9.0.0 |
Ord a => Ord1 (Either a) | Since: base-4.9.0.0 |
Defined in Data.Functor.Classes | |
Read a => Read1 (Either a) | Since: base-4.9.0.0 |
Defined in Data.Functor.Classes Methods liftReadsPrec :: (Int -> ReadS a0) -> ReadS [a0] -> Int -> ReadS (Either a a0) # liftReadList :: (Int -> ReadS a0) -> ReadS [a0] -> ReadS [Either a a0] # liftReadPrec :: ReadPrec a0 -> ReadPrec [a0] -> ReadPrec (Either a a0) # liftReadListPrec :: ReadPrec a0 -> ReadPrec [a0] -> ReadPrec [Either a a0] # | |
Show a => Show1 (Either a) | Since: base-4.9.0.0 |
NFData a => NFData1 (Either a) | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
e ~ SomeException => MonadThrow (Either e) | |
Defined in Control.Monad.Catch | |
e ~ SomeException => MonadCatch (Either e) | Since: exceptions-0.8.3 |
e ~ SomeException => MonadMask (Either e) | Since: exceptions-0.8.3 |
Defined in Control.Monad.Catch | |
Hashable a => Hashable1 (Either a) | |
Defined in Data.Hashable.Class | |
Apply (Either a) | |
Bind (Either a) | |
FromJSON a => FromJSON1 (Either a) | |
Defined in Data.Aeson.Types.FromJSON Methods liftParseJSON :: (Value -> Parser a0) -> (Value -> Parser [a0]) -> Value -> Parser (Either a a0) liftParseJSONList :: (Value -> Parser a0) -> (Value -> Parser [a0]) -> Value -> Parser [Either a a0] | |
ToJSON a => ToJSON1 (Either a) | |
Defined in Data.Aeson.Types.ToJSON Methods liftToJSON :: (a0 -> Value) -> ([a0] -> Value) -> Either a a0 -> Value liftToJSONList :: (a0 -> Value) -> ([a0] -> Value) -> [Either a a0] -> Value liftToEncoding :: (a0 -> Encoding) -> ([a0] -> Encoding) -> Either a a0 -> Encoding liftToEncodingList :: (a0 -> Encoding) -> ([a0] -> Encoding) -> [Either a a0] -> Encoding | |
MonadFailure (Either a) | |
Defined in Basement.Monad Associated Types type Failure (Either a) | |
Generic1 (Either a :: Type -> Type) | Since: base-4.6.0.0 |
MonadBaseControl (Either e) (Either e) | |
Defined in Control.Monad.Trans.Control Associated Types type StM (Either e) a | |
(Eq a, Eq b) => Eq (Either a b) | Since: base-2.1 |
(Data a, Data b) => Data (Either a b) | Since: base-4.0.0.0 |
Defined in Data.Data Methods gfoldl :: (forall d b0. Data d => c (d -> b0) -> d -> c b0) -> (forall g. g -> c g) -> Either a b -> c (Either a b) # gunfold :: (forall b0 r. Data b0 => c (b0 -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Either a b) # toConstr :: Either a b -> Constr # dataTypeOf :: Either a b -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Either a b)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Either a b)) # gmapT :: (forall b0. Data b0 => b0 -> b0) -> Either a b -> Either a b # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Either a b -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Either a b -> r # gmapQ :: (forall d. Data d => d -> u) -> Either a b -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Either a b -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Either a b -> m (Either a b) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Either a b -> m (Either a b) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Either a b -> m (Either a b) # | |
(Ord a, Ord b) => Ord (Either a b) | Since: base-2.1 |
(Read a, Read b) => Read (Either a b) | Since: base-3.0 |
(Show a, Show b) => Show (Either a b) | Since: base-3.0 |
Generic (Either a b) | Since: base-4.6.0.0 |
Semigroup (Either a b) | Since: base-4.9.0.0 |
(Structured a, Structured b) => Structured (Either a b) | |
Defined in Distribution.Utils.Structured | |
(NFData a, NFData b) => NFData (Either a b) | |
Defined in Control.DeepSeq | |
(Hashable a, Hashable b) => Hashable (Either a b) | |
Defined in Data.Hashable.Class | |
(Finitary a, Finitary b) => Finitary (Either a b) | |
Defined in Data.Finitary | |
(FromJSON a, FromJSON b) => FromJSON (Either a b) | |
Defined in Data.Aeson.Types.FromJSON | |
(ToJSON a, ToJSON b) => ToJSON (Either a b) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Either a b -> Encoding toJSONList :: [Either a b] -> Value toEncodingList :: [Either a b] -> Encoding | |
Corecursive (Either a b) | |
Defined in Data.Functor.Foldable Methods embed :: Base (Either a b) (Either a b) -> Either a b ana :: (a0 -> Base (Either a b) a0) -> a0 -> Either a b apo :: (a0 -> Base (Either a b) (Either (Either a b) a0)) -> a0 -> Either a b postpro :: Recursive (Either a b) => (forall b0. Base (Either a b) b0 -> Base (Either a b) b0) -> (a0 -> Base (Either a b) a0) -> a0 -> Either a b gpostpro :: (Recursive (Either a b), Monad m) => (forall b0. m (Base (Either a b) b0) -> Base (Either a b) (m b0)) -> (forall c. Base (Either a b) c -> Base (Either a b) c) -> (a0 -> Base (Either a b) (m a0)) -> a0 -> Either a b | |
Recursive (Either a b) | |
Defined in Data.Functor.Foldable Methods project :: Either a b -> Base (Either a b) (Either a b) cata :: (Base (Either a b) a0 -> a0) -> Either a b -> a0 para :: (Base (Either a b) (Either a b, a0) -> a0) -> Either a b -> a0 gpara :: (Corecursive (Either a b), Comonad w) => (forall b0. Base (Either a b) (w b0) -> w (Base (Either a b) b0)) -> (Base (Either a b) (EnvT (Either a b) w a0) -> a0) -> Either a b -> a0 prepro :: Corecursive (Either a b) => (forall b0. Base (Either a b) b0 -> Base (Either a b) b0) -> (Base (Either a b) a0 -> a0) -> Either a b -> a0 gprepro :: (Corecursive (Either a b), Comonad w) => (forall b0. Base (Either a b) (w b0) -> w (Base (Either a b) b0)) -> (forall c. Base (Either a b) c -> Base (Either a b) c) -> (Base (Either a b) (w a0) -> a0) -> Either a b -> a0 | |
MonoFoldable (Either a b) | |
Defined in Data.MonoTraversable Methods ofoldMap :: Monoid m => (Element (Either a b) -> m) -> Either a b -> m ofoldr :: (Element (Either a b) -> b0 -> b0) -> b0 -> Either a b -> b0 ofoldl' :: (a0 -> Element (Either a b) -> a0) -> a0 -> Either a b -> a0 otoList :: Either a b -> [Element (Either a b)] oall :: (Element (Either a b) -> Bool) -> Either a b -> Bool oany :: (Element (Either a b) -> Bool) -> Either a b -> Bool olength64 :: Either a b -> Int64 ocompareLength :: Integral i => Either a b -> i -> Ordering otraverse_ :: Applicative f => (Element (Either a b) -> f b0) -> Either a b -> f () ofor_ :: Applicative f => Either a b -> (Element (Either a b) -> f b0) -> f () omapM_ :: Applicative m => (Element (Either a b) -> m ()) -> Either a b -> m () oforM_ :: Applicative m => Either a b -> (Element (Either a b) -> m ()) -> m () ofoldlM :: Monad m => (a0 -> Element (Either a b) -> m a0) -> a0 -> Either a b -> m a0 ofoldMap1Ex :: Semigroup m => (Element (Either a b) -> m) -> Either a b -> m ofoldr1Ex :: (Element (Either a b) -> Element (Either a b) -> Element (Either a b)) -> Either a b -> Element (Either a b) ofoldl1Ex' :: (Element (Either a b) -> Element (Either a b) -> Element (Either a b)) -> Either a b -> Element (Either a b) headEx :: Either a b -> Element (Either a b) lastEx :: Either a b -> Element (Either a b) unsafeHead :: Either a b -> Element (Either a b) unsafeLast :: Either a b -> Element (Either a b) maximumByEx :: (Element (Either a b) -> Element (Either a b) -> Ordering) -> Either a b -> Element (Either a b) minimumByEx :: (Element (Either a b) -> Element (Either a b) -> Ordering) -> Either a b -> Element (Either a b) | |
MonoFunctor (Either a b) | |
MonoPointed (Either a b) | |
Defined in Data.MonoTraversable | |
MonoTraversable (Either a b) | |
Defined in Data.MonoTraversable | |
Strict (Either a b) (Either a b) | |
Defined in Data.Strict.Classes | |
(a ~ a', b ~ b') => Each (Either a a') (Either b b') a b | |
(FoldableWithIndex i f, FoldableWithIndex j g) => FoldableWithIndex (Either i j) (Sum f g) | |
Defined in WithIndex Methods ifoldMap :: Monoid m => (Either i j -> a -> m) -> Sum f g a -> m # ifoldMap' :: Monoid m => (Either i j -> a -> m) -> Sum f g a -> m # ifoldr :: (Either i j -> a -> b -> b) -> b -> Sum f g a -> b # ifoldl :: (Either i j -> b -> a -> b) -> b -> Sum f g a -> b # ifoldr' :: (Either i j -> a -> b -> b) -> b -> Sum f g a -> b # ifoldl' :: (Either i j -> b -> a -> b) -> b -> Sum f g a -> b # | |
(FoldableWithIndex i f, FoldableWithIndex j g) => FoldableWithIndex (Either i j) (Product f g) | |
Defined in WithIndex Methods ifoldMap :: Monoid m => (Either i j -> a -> m) -> Product f g a -> m # ifoldMap' :: Monoid m => (Either i j -> a -> m) -> Product f g a -> m # ifoldr :: (Either i j -> a -> b -> b) -> b -> Product f g a -> b # ifoldl :: (Either i j -> b -> a -> b) -> b -> Product f g a -> b # ifoldr' :: (Either i j -> a -> b -> b) -> b -> Product f g a -> b # ifoldl' :: (Either i j -> b -> a -> b) -> b -> Product f g a -> b # | |
(FoldableWithIndex i f, FoldableWithIndex j g) => FoldableWithIndex (Either i j) (f :+: g) | |
Defined in WithIndex Methods ifoldMap :: Monoid m => (Either i j -> a -> m) -> (f :+: g) a -> m # ifoldMap' :: Monoid m => (Either i j -> a -> m) -> (f :+: g) a -> m # ifoldr :: (Either i j -> a -> b -> b) -> b -> (f :+: g) a -> b # ifoldl :: (Either i j -> b -> a -> b) -> b -> (f :+: g) a -> b # ifoldr' :: (Either i j -> a -> b -> b) -> b -> (f :+: g) a -> b # ifoldl' :: (Either i j -> b -> a -> b) -> b -> (f :+: g) a -> b # | |
(FoldableWithIndex i f, FoldableWithIndex j g) => FoldableWithIndex (Either i j) (f :*: g) | |
Defined in WithIndex Methods ifoldMap :: Monoid m => (Either i j -> a -> m) -> (f :*: g) a -> m # ifoldMap' :: Monoid m => (Either i j -> a -> m) -> (f :*: g) a -> m # ifoldr :: (Either i j -> a -> b -> b) -> b -> (f :*: g) a -> b # ifoldl :: (Either i j -> b -> a -> b) -> b -> (f :*: g) a -> b # ifoldr' :: (Either i j -> a -> b -> b) -> b -> (f :*: g) a -> b # ifoldl' :: (Either i j -> b -> a -> b) -> b -> (f :*: g) a -> b # | |
(FunctorWithIndex i f, FunctorWithIndex j g) => FunctorWithIndex (Either i j) (Sum f g) | |
(FunctorWithIndex i f, FunctorWithIndex j g) => FunctorWithIndex (Either i j) (Product f g) | |
(FunctorWithIndex i f, FunctorWithIndex j g) => FunctorWithIndex (Either i j) (f :+: g) | |
(FunctorWithIndex i f, FunctorWithIndex j g) => FunctorWithIndex (Either i j) (f :*: g) | |
(TraversableWithIndex i f, TraversableWithIndex j g) => TraversableWithIndex (Either i j) (Sum f g) | |
(TraversableWithIndex i f, TraversableWithIndex j g) => TraversableWithIndex (Either i j) (Product f g) | |
(TraversableWithIndex i f, TraversableWithIndex j g) => TraversableWithIndex (Either i j) (f :+: g) | |
(TraversableWithIndex i f, TraversableWithIndex j g) => TraversableWithIndex (Either i j) (f :*: g) | |
type Failure (Either a) | |
Defined in Basement.Monad type Failure (Either a) = a | |
type StM (Either e) a | |
Defined in Control.Monad.Trans.Control type StM (Either e) a = a | |
type Rep1 (Either a :: Type -> Type) | |
Defined in GHC.Generics type Rep1 (Either a :: Type -> Type) = D1 ('MetaData "Either" "Data.Either" "base" 'False) (C1 ('MetaCons "Left" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "Right" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)) | |
type Rep (Either a b) | |
Defined in GHC.Generics type Rep (Either a b) = D1 ('MetaData "Either" "Data.Either" "base" 'False) (C1 ('MetaCons "Left" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "Right" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b))) | |
type Cardinality (Either a b) | |
Defined in Data.Finitary | |
type Base (Either a b) | |
type Element (Either a b) | |
Defined in Data.MonoTraversable type Element (Either a b) = b |
data Constraint #
The kind of constraints, like Show a
class a ~R# b => Coercible (a :: k) (b :: k) #
Coercible
is a two-parameter class that has instances for types a
and b
if
the compiler can infer that they have the same representation. This class
does not have regular instances; instead they are created on-the-fly during
type-checking. Trying to manually declare an instance of Coercible
is an error.
Nevertheless one can pretend that the following three kinds of instances exist. First, as a trivial base-case:
instance Coercible a a
Furthermore, for every type constructor there is
an instance that allows to coerce under the type constructor. For
example, let D
be a prototypical type constructor (data
or
newtype
) with three type arguments, which have roles nominal
,
representational
resp. phantom
. Then there is an instance of
the form
instance Coercible b b' => Coercible (D a b c) (D a b' c')
Note that the nominal
type arguments are equal, the
representational
type arguments can differ, but need to have a
Coercible
instance themself, and the phantom
type arguments can be
changed arbitrarily.
The third kind of instance exists for every newtype NT = MkNT T
and
comes in two variants, namely
instance Coercible a T => Coercible a NT
instance Coercible T b => Coercible NT b
This instance is only usable if the constructor MkNT
is in scope.
If, as a library author of a type constructor like Set a
, you
want to prevent a user of your module to write
coerce :: Set T -> Set NT
,
you need to set the role of Set
's type parameter to nominal
,
by writing
type role Set nominal
For more details about this feature, please refer to Safe Coercions by Joachim Breitner, Richard A. Eisenberg, Simon Peyton Jones and Stephanie Weirich.
Since: ghc-prim-4.7.0.0
data UnsafeEquality (a :: k) (b :: k) where #
This type is treated magically within GHC. Any pattern match of the
form case unsafeEqualityProof of UnsafeRefl -> body
gets transformed just into body
.
This is ill-typed, but the transformation takes place after type-checking is
complete. It is used to implement unsafeCoerce
. You probably don't want to
use UnsafeRefl
in an expression, but you might conceivably want to pattern-match
on it. Use unsafeEqualityProof
to create one of these.
Constructors
UnsafeRefl :: forall {k} (a :: k). UnsafeEquality a a |
Instances
Monad First | Since: base-4.9.0.0 |
Functor First | Since: base-4.9.0.0 |
MonadFix First | Since: base-4.9.0.0 |
Defined in Data.Semigroup | |
Applicative First | Since: base-4.9.0.0 |
Foldable First | Since: base-4.9.0.0 |
Defined in Data.Semigroup Methods fold :: Monoid m => First m -> m # foldMap :: Monoid m => (a -> m) -> First a -> m # foldMap' :: Monoid m => (a -> m) -> First a -> m # foldr :: (a -> b -> b) -> b -> First a -> b # foldr' :: (a -> b -> b) -> b -> First a -> b # foldl :: (b -> a -> b) -> b -> First a -> b # foldl' :: (b -> a -> b) -> b -> First a -> b # foldr1 :: (a -> a -> a) -> First a -> a # foldl1 :: (a -> a -> a) -> First a -> a # elem :: Eq a => a -> First a -> Bool # maximum :: Ord a => First a -> a # minimum :: Ord a => First a -> a # | |
Traversable First | Since: base-4.9.0.0 |
NFData1 First | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
Hashable1 First | |
Defined in Data.Hashable.Class | |
Apply First | |
Bind First | |
Distributive First | |
Foldable1 First | |
Defined in Data.Semigroup.Foldable.Class | |
Traversable1 First | |
FromJSON1 First | |
Defined in Data.Aeson.Types.FromJSON Methods liftParseJSON :: (Value -> Parser a) -> (Value -> Parser [a]) -> Value -> Parser (First a) liftParseJSONList :: (Value -> Parser a) -> (Value -> Parser [a]) -> Value -> Parser [First a] | |
ToJSON1 First | |
Defined in Data.Aeson.Types.ToJSON Methods liftToJSON :: (a -> Value) -> ([a] -> Value) -> First a -> Value liftToJSONList :: (a -> Value) -> ([a] -> Value) -> [First a] -> Value liftToEncoding :: (a -> Encoding) -> ([a] -> Encoding) -> First a -> Encoding liftToEncodingList :: (a -> Encoding) -> ([a] -> Encoding) -> [First a] -> Encoding | |
Unbox a => Vector Vector (First a) | |
Defined in Data.Vector.Unboxed.Base Methods basicUnsafeFreeze :: PrimMonad m => Mutable Vector (PrimState m) (First a) -> m (Vector (First a)) basicUnsafeThaw :: PrimMonad m => Vector (First a) -> m (Mutable Vector (PrimState m) (First a)) basicLength :: Vector (First a) -> Int basicUnsafeSlice :: Int -> Int -> Vector (First a) -> Vector (First a) basicUnsafeIndexM :: Monad m => Vector (First a) -> Int -> m (First a) basicUnsafeCopy :: PrimMonad m => Mutable Vector (PrimState m) (First a) -> Vector (First a) -> m () | |
Unbox a => MVector MVector (First a) | |
Defined in Data.Vector.Unboxed.Base Methods basicLength :: MVector s (First a) -> Int basicUnsafeSlice :: Int -> Int -> MVector s (First a) -> MVector s (First a) basicOverlaps :: MVector s (First a) -> MVector s (First a) -> Bool basicUnsafeNew :: PrimMonad m => Int -> m (MVector (PrimState m) (First a)) basicInitialize :: PrimMonad m => MVector (PrimState m) (First a) -> m () basicUnsafeReplicate :: PrimMonad m => Int -> First a -> m (MVector (PrimState m) (First a)) basicUnsafeRead :: PrimMonad m => MVector (PrimState m) (First a) -> Int -> m (First a) basicUnsafeWrite :: PrimMonad m => MVector (PrimState m) (First a) -> Int -> First a -> m () basicClear :: PrimMonad m => MVector (PrimState m) (First a) -> m () basicSet :: PrimMonad m => MVector (PrimState m) (First a) -> First a -> m () basicUnsafeCopy :: PrimMonad m => MVector (PrimState m) (First a) -> MVector (PrimState m) (First a) -> m () basicUnsafeMove :: PrimMonad m => MVector (PrimState m) (First a) -> MVector (PrimState m) (First a) -> m () basicUnsafeGrow :: PrimMonad m => MVector (PrimState m) (First a) -> Int -> m (MVector (PrimState m) (First a)) | |
Bounded a => Bounded (First a) | Since: base-4.9.0.0 |
Enum a => Enum (First a) | Since: base-4.9.0.0 |
Eq a => Eq (First a) | Since: base-4.9.0.0 |
Data a => Data (First a) | Since: base-4.9.0.0 |
Defined in Data.Semigroup Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> First a -> c (First a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (First a) # toConstr :: First a -> Constr # dataTypeOf :: First a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (First a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (First a)) # gmapT :: (forall b. Data b => b -> b) -> First a -> First a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> First a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> First a -> r # gmapQ :: (forall d. Data d => d -> u) -> First a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> First a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> First a -> m (First a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> First a -> m (First a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> First a -> m (First a) # | |
Ord a => Ord (First a) | Since: base-4.9.0.0 |
Read a => Read (First a) | Since: base-4.9.0.0 |
Show a => Show (First a) | Since: base-4.9.0.0 |
Generic (First a) | Since: base-4.9.0.0 |
Semigroup (First a) | Since: base-4.9.0.0 |
NFData a => NFData (First a) | Since: deepseq-1.4.2.0 |
Defined in Control.DeepSeq | |
Hashable a => Hashable (First a) | |
Defined in Data.Hashable.Class | |
Finitary a => Finitary (First a) | |
Unbox a => Unbox (First a) | |
Defined in Data.Vector.Unboxed.Base | |
Prim a => Prim (First a) | |
Defined in Data.Primitive.Types Methods alignment# :: First a -> Int# indexByteArray# :: ByteArray# -> Int# -> First a readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, First a #) writeByteArray# :: MutableByteArray# s -> Int# -> First a -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> First a -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> First a readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, First a #) writeOffAddr# :: Addr# -> Int# -> First a -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> First a -> State# s -> State# s | |
Wrapped (First a) | |
FromJSON a => FromJSON (First a) | |
Defined in Data.Aeson.Types.FromJSON | |
ToJSON a => ToJSON (First a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: First a -> Encoding toJSONList :: [First a] -> Value toEncodingList :: [First a] -> Encoding | |
FromFormKey a => FromFormKey (First a) | |
Defined in Web.Internal.FormUrlEncoded Methods parseFormKey :: Text -> Either Text (First a) | |
ToFormKey a => ToFormKey (First a) | |
Defined in Web.Internal.FormUrlEncoded | |
Generic1 First | Since: base-4.9.0.0 |
t ~ First b => Rewrapped (First a) t | |
Defined in Control.Lens.Wrapped | |
newtype MVector s (First a) | |
Defined in Data.Vector.Unboxed.Base | |
type Rep (First a) | |
Defined in Data.Semigroup | |
newtype Vector (First a) | |
Defined in Data.Vector.Unboxed.Base | |
type Cardinality (First a) | |
Defined in Data.Finitary | |
type Unwrapped (First a) | |
Defined in Control.Lens.Wrapped | |
type Rep1 First | |
Defined in Data.Semigroup |
Instances
Monad Last | Since: base-4.9.0.0 |
Functor Last | Since: base-4.9.0.0 |
MonadFix Last | Since: base-4.9.0.0 |
Defined in Data.Semigroup | |
Applicative Last | Since: base-4.9.0.0 |
Foldable Last | Since: base-4.9.0.0 |
Defined in Data.Semigroup Methods fold :: Monoid m => Last m -> m # foldMap :: Monoid m => (a -> m) -> Last a -> m # foldMap' :: Monoid m => (a -> m) -> Last a -> m # foldr :: (a -> b -> b) -> b -> Last a -> b # foldr' :: (a -> b -> b) -> b -> Last a -> b # foldl :: (b -> a -> b) -> b -> Last a -> b # foldl' :: (b -> a -> b) -> b -> Last a -> b # foldr1 :: (a -> a -> a) -> Last a -> a # foldl1 :: (a -> a -> a) -> Last a -> a # elem :: Eq a => a -> Last a -> Bool # maximum :: Ord a => Last a -> a # | |
Traversable Last | Since: base-4.9.0.0 |
NFData1 Last | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
Hashable1 Last | |
Defined in Data.Hashable.Class | |
Apply Last | |
Bind Last | |
Distributive Last | |
Foldable1 Last | |
Defined in Data.Semigroup.Foldable.Class | |
Traversable1 Last | |
FromJSON1 Last | |
Defined in Data.Aeson.Types.FromJSON Methods liftParseJSON :: (Value -> Parser a) -> (Value -> Parser [a]) -> Value -> Parser (Last a) liftParseJSONList :: (Value -> Parser a) -> (Value -> Parser [a]) -> Value -> Parser [Last a] | |
ToJSON1 Last | |
Defined in Data.Aeson.Types.ToJSON Methods liftToJSON :: (a -> Value) -> ([a] -> Value) -> Last a -> Value liftToJSONList :: (a -> Value) -> ([a] -> Value) -> [Last a] -> Value liftToEncoding :: (a -> Encoding) -> ([a] -> Encoding) -> Last a -> Encoding liftToEncodingList :: (a -> Encoding) -> ([a] -> Encoding) -> [Last a] -> Encoding | |
Unbox a => Vector Vector (Last a) | |
Defined in Data.Vector.Unboxed.Base Methods basicUnsafeFreeze :: PrimMonad m => Mutable Vector (PrimState m) (Last a) -> m (Vector (Last a)) basicUnsafeThaw :: PrimMonad m => Vector (Last a) -> m (Mutable Vector (PrimState m) (Last a)) basicLength :: Vector (Last a) -> Int basicUnsafeSlice :: Int -> Int -> Vector (Last a) -> Vector (Last a) basicUnsafeIndexM :: Monad m => Vector (Last a) -> Int -> m (Last a) basicUnsafeCopy :: PrimMonad m => Mutable Vector (PrimState m) (Last a) -> Vector (Last a) -> m () | |
Unbox a => MVector MVector (Last a) | |
Defined in Data.Vector.Unboxed.Base Methods basicLength :: MVector s (Last a) -> Int basicUnsafeSlice :: Int -> Int -> MVector s (Last a) -> MVector s (Last a) basicOverlaps :: MVector s (Last a) -> MVector s (Last a) -> Bool basicUnsafeNew :: PrimMonad m => Int -> m (MVector (PrimState m) (Last a)) basicInitialize :: PrimMonad m => MVector (PrimState m) (Last a) -> m () basicUnsafeReplicate :: PrimMonad m => Int -> Last a -> m (MVector (PrimState m) (Last a)) basicUnsafeRead :: PrimMonad m => MVector (PrimState m) (Last a) -> Int -> m (Last a) basicUnsafeWrite :: PrimMonad m => MVector (PrimState m) (Last a) -> Int -> Last a -> m () basicClear :: PrimMonad m => MVector (PrimState m) (Last a) -> m () basicSet :: PrimMonad m => MVector (PrimState m) (Last a) -> Last a -> m () basicUnsafeCopy :: PrimMonad m => MVector (PrimState m) (Last a) -> MVector (PrimState m) (Last a) -> m () basicUnsafeMove :: PrimMonad m => MVector (PrimState m) (Last a) -> MVector (PrimState m) (Last a) -> m () basicUnsafeGrow :: PrimMonad m => MVector (PrimState m) (Last a) -> Int -> m (MVector (PrimState m) (Last a)) | |
Bounded a => Bounded (Last a) | Since: base-4.9.0.0 |
Enum a => Enum (Last a) | Since: base-4.9.0.0 |
Defined in Data.Semigroup | |
Eq a => Eq (Last a) | Since: base-4.9.0.0 |
Data a => Data (Last a) | Since: base-4.9.0.0 |
Defined in Data.Semigroup Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Last a -> c (Last a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Last a) # toConstr :: Last a -> Constr # dataTypeOf :: Last a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Last a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Last a)) # gmapT :: (forall b. Data b => b -> b) -> Last a -> Last a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Last a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Last a -> r # gmapQ :: (forall d. Data d => d -> u) -> Last a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Last a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Last a -> m (Last a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Last a -> m (Last a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Last a -> m (Last a) # | |
Ord a => Ord (Last a) | Since: base-4.9.0.0 |
Read a => Read (Last a) | Since: base-4.9.0.0 |
Show a => Show (Last a) | Since: base-4.9.0.0 |
Generic (Last a) | Since: base-4.9.0.0 |
Semigroup (Last a) | Since: base-4.9.0.0 |
NFData a => NFData (Last a) | Since: deepseq-1.4.2.0 |
Defined in Control.DeepSeq | |
Hashable a => Hashable (Last a) | |
Defined in Data.Hashable.Class | |
Finitary a => Finitary (Last a) | |
Unbox a => Unbox (Last a) | |
Defined in Data.Vector.Unboxed.Base | |
Prim a => Prim (Last a) | |
Defined in Data.Primitive.Types Methods alignment# :: Last a -> Int# indexByteArray# :: ByteArray# -> Int# -> Last a readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Last a #) writeByteArray# :: MutableByteArray# s -> Int# -> Last a -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Last a -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> Last a readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Last a #) writeOffAddr# :: Addr# -> Int# -> Last a -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> Last a -> State# s -> State# s | |
Wrapped (Last a) | |
FromJSON a => FromJSON (Last a) | |
Defined in Data.Aeson.Types.FromJSON | |
ToJSON a => ToJSON (Last a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Last a -> Encoding toJSONList :: [Last a] -> Value toEncodingList :: [Last a] -> Encoding | |
FromFormKey a => FromFormKey (Last a) | |
Defined in Web.Internal.FormUrlEncoded Methods parseFormKey :: Text -> Either Text (Last a) | |
ToFormKey a => ToFormKey (Last a) | |
Defined in Web.Internal.FormUrlEncoded | |
Generic1 Last | Since: base-4.9.0.0 |
t ~ Last b => Rewrapped (Last a) t | |
Defined in Control.Lens.Wrapped | |
newtype MVector s (Last a) | |
Defined in Data.Vector.Unboxed.Base | |
type Rep (Last a) | |
Defined in Data.Semigroup | |
newtype Vector (Last a) | |
Defined in Data.Vector.Unboxed.Base | |
type Cardinality (Last a) | |
Defined in Data.Finitary | |
type Unwrapped (Last a) | |
Defined in Control.Lens.Wrapped | |
type Rep1 Last | |
Defined in Data.Semigroup |
A class of types that can be fully evaluated.
Since: deepseq-1.1.0.0
Minimal complete definition
Nothing
Methods
rnf
should reduce its argument to normal form (that is, fully
evaluate all sub-components), and then return ()
.
Generic
NFData
deriving
Starting with GHC 7.2, you can automatically derive instances
for types possessing a Generic
instance.
Note: Generic1
can be auto-derived starting with GHC 7.4
{-# LANGUAGE DeriveGeneric #-} import GHC.Generics (Generic, Generic1) import Control.DeepSeq data Foo a = Foo a String deriving (Eq, Generic, Generic1) instance NFData a => NFData (Foo a) instance NFData1 Foo data Colour = Red | Green | Blue deriving Generic instance NFData Colour
Starting with GHC 7.10, the example above can be written more
concisely by enabling the new DeriveAnyClass
extension:
{-# LANGUAGE DeriveGeneric, DeriveAnyClass #-} import GHC.Generics (Generic) import Control.DeepSeq data Foo a = Foo a String deriving (Eq, Generic, Generic1, NFData, NFData1) data Colour = Red | Green | Blue deriving (Generic, NFData)
Compatibility with previous deepseq
versions
Prior to version 1.4.0.0, the default implementation of the rnf
method was defined as
rnf
a =seq
a ()
However, starting with deepseq-1.4.0.0
, the default
implementation is based on DefaultSignatures
allowing for
more accurate auto-derived NFData
instances. If you need the
previously used exact default rnf
method implementation
semantics, use
instance NFData Colour where rnf x = seq x ()
or alternatively
instance NFData Colour where rnf = rwhnf
or
{-# LANGUAGE BangPatterns #-} instance NFData Colour where rnf !_ = ()
Instances
deepseq :: NFData a => a -> b -> b #
deepseq
: fully evaluates the first argument, before returning the
second.
The name deepseq
is used to illustrate the relationship to seq
:
where seq
is shallow in the sense that it only evaluates the top
level of its argument, deepseq
traverses the entire data structure
evaluating it completely.
deepseq
can be useful for forcing pending exceptions,
eradicating space leaks, or forcing lazy I/O to happen. It is
also useful in conjunction with parallel Strategies (see the
parallel
package).
There is no guarantee about the ordering of evaluation. The
implementation may evaluate the components of the structure in
any order or in parallel. To impose an actual order on
evaluation, use pseq
from Control.Parallel in the
parallel
package.
Since: deepseq-1.1.0.0
a variant of deepseq
that is useful in some circumstances:
force x = x `deepseq` x
force x
fully evaluates x
, and then returns it. Note that
force x
only performs evaluation when the value of force x
itself is demanded, so essentially it turns shallow evaluation into
deep evaluation.
force
can be conveniently used in combination with ViewPatterns
:
{-# LANGUAGE BangPatterns, ViewPatterns #-} import Control.DeepSeq someFun :: ComplexData -> SomeResult someFun (force -> !arg) = {- 'arg' will be fully evaluated -}
Another useful application is to combine force
with
evaluate
in order to force deep evaluation
relative to other IO
operations:
import Control.Exception (evaluate) import Control.DeepSeq main = do result <- evaluate $ force $ pureComputation {- 'result' will be fully evaluated at this point -} return ()
Finally, here's an exception safe variant of the readFile'
example:
readFile' :: FilePath -> IO String readFile' fn = bracket (openFile fn ReadMode) hClose $ \h -> evaluate . force =<< hGetContents h
Since: deepseq-1.2.0.0
A set of values a
.
Instances
Foldable Set | Folds in order of increasing key. |
Defined in Data.Set.Internal Methods fold :: Monoid m => Set m -> m # foldMap :: Monoid m => (a -> m) -> Set a -> m # foldMap' :: Monoid m => (a -> m) -> Set a -> m # foldr :: (a -> b -> b) -> b -> Set a -> b # foldr' :: (a -> b -> b) -> b -> Set a -> b # foldl :: (b -> a -> b) -> b -> Set a -> b # foldl' :: (b -> a -> b) -> b -> Set a -> b # foldr1 :: (a -> a -> a) -> Set a -> a # foldl1 :: (a -> a -> a) -> Set a -> a # elem :: Eq a => a -> Set a -> Bool # maximum :: Ord a => Set a -> a # | |
Eq1 Set | Since: containers-0.5.9 |
Ord1 Set | Since: containers-0.5.9 |
Defined in Data.Set.Internal | |
Show1 Set | Since: containers-0.5.9 |
Hashable1 Set | |
Defined in Data.Hashable.Class | |
ToJSON1 Set | |
Defined in Data.Aeson.Types.ToJSON Methods liftToJSON :: (a -> Value) -> ([a] -> Value) -> Set a -> Value liftToJSONList :: (a -> Value) -> ([a] -> Value) -> [Set a] -> Value liftToEncoding :: (a -> Encoding) -> ([a] -> Encoding) -> Set a -> Encoding liftToEncodingList :: (a -> Encoding) -> ([a] -> Encoding) -> [Set a] -> Encoding | |
Ord a => IsList (Set a) | Since: containers-0.5.6.2 |
Eq a => Eq (Set a) | |
(Data a, Ord a) => Data (Set a) | |
Defined in Data.Set.Internal Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Set a -> c (Set a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Set a) # dataTypeOf :: Set a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Set a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Set a)) # gmapT :: (forall b. Data b => b -> b) -> Set a -> Set a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Set a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Set a -> r # gmapQ :: (forall d. Data d => d -> u) -> Set a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Set a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Set a -> m (Set a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Set a -> m (Set a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Set a -> m (Set a) # | |
Ord a => Ord (Set a) | |
(Read a, Ord a) => Read (Set a) | |
Show a => Show (Set a) | |
Ord a => Semigroup (Set a) | Since: containers-0.5.7 |
Ord a => Monoid (Set a) | |
Structured k => Structured (Set k) | |
Defined in Distribution.Utils.Structured | |
NFData a => NFData (Set a) | |
Defined in Data.Set.Internal | |
Hashable v => Hashable (Set v) | |
Defined in Data.Hashable.Class | |
Ord k => At (Set k) | |
Ord a => Contains (Set a) | |
Ord k => Ixed (Set k) | |
Defined in Control.Lens.At | |
AsEmpty (Set a) | |
Defined in Control.Lens.Empty | |
Ord a => Wrapped (Set a) | |
(Ord a, FromJSON a) => FromJSON (Set a) | |
Defined in Data.Aeson.Types.FromJSON | |
ToJSON a => ToJSON (Set a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Set a -> Encoding toJSONList :: [Set a] -> Value toEncodingList :: [Set a] -> Encoding | |
(Ord a, Monoid a) => Semiring (Set a) | |
Ord a => BoundedJoinSemiLattice (Set a) | |
Defined in Algebra.Lattice | |
(Ord a, Finite a) => BoundedMeetSemiLattice (Set a) | |
Defined in Algebra.Lattice | |
Ord a => Lattice (Set a) | |
Ord v => GrowingAppend (Set v) | |
Defined in Data.MonoTraversable | |
Ord e => MonoFoldable (Set e) | |
Defined in Data.MonoTraversable Methods ofoldMap :: Monoid m => (Element (Set e) -> m) -> Set e -> m ofoldr :: (Element (Set e) -> b -> b) -> b -> Set e -> b ofoldl' :: (a -> Element (Set e) -> a) -> a -> Set e -> a otoList :: Set e -> [Element (Set e)] oall :: (Element (Set e) -> Bool) -> Set e -> Bool oany :: (Element (Set e) -> Bool) -> Set e -> Bool ocompareLength :: Integral i => Set e -> i -> Ordering otraverse_ :: Applicative f => (Element (Set e) -> f b) -> Set e -> f () ofor_ :: Applicative f => Set e -> (Element (Set e) -> f b) -> f () omapM_ :: Applicative m => (Element (Set e) -> m ()) -> Set e -> m () oforM_ :: Applicative m => Set e -> (Element (Set e) -> m ()) -> m () ofoldlM :: Monad m => (a -> Element (Set e) -> m a) -> a -> Set e -> m a ofoldMap1Ex :: Semigroup m => (Element (Set e) -> m) -> Set e -> m ofoldr1Ex :: (Element (Set e) -> Element (Set e) -> Element (Set e)) -> Set e -> Element (Set e) ofoldl1Ex' :: (Element (Set e) -> Element (Set e) -> Element (Set e)) -> Set e -> Element (Set e) headEx :: Set e -> Element (Set e) lastEx :: Set e -> Element (Set e) unsafeHead :: Set e -> Element (Set e) unsafeLast :: Set e -> Element (Set e) maximumByEx :: (Element (Set e) -> Element (Set e) -> Ordering) -> Set e -> Element (Set e) minimumByEx :: (Element (Set e) -> Element (Set e) -> Ordering) -> Set e -> Element (Set e) | |
MonoPointed (Set a) | |
Defined in Data.MonoTraversable | |
(t ~ Set a', Ord a) => Rewrapped (Set a) t | |
Defined in Control.Lens.Wrapped | |
type Item (Set a) | |
Defined in Data.Set.Internal | |
type Index (Set a) | |
Defined in Control.Lens.At | |
type IxValue (Set k) | |
Defined in Control.Lens.At | |
type Unwrapped (Set a) | |
Defined in Control.Lens.Wrapped | |
type Element (Set e) | |
Defined in Data.MonoTraversable type Element (Set e) = e |
A Map from keys k
to values a
.
The Semigroup
operation for Map
is union
, which prefers
values from the left operand. If m1
maps a key k
to a value
a1
, and m2
maps the same key to a different value a2
, then
their union m1 <> m2
maps k
to a1
.
Instances
Bifoldable Map | Since: containers-0.6.3.1 |
Eq2 Map | Since: containers-0.5.9 |
Ord2 Map | Since: containers-0.5.9 |
Defined in Data.Map.Internal | |
Show2 Map | Since: containers-0.5.9 |
Hashable2 Map | |
Defined in Data.Hashable.Class | |
FoldableWithIndex k (Map k) | |
FunctorWithIndex k (Map k) | |
TraversableWithIndex k (Map k) | |
Ord k => TraverseMax k (Map k) | |
Defined in Control.Lens.Traversal Methods traverseMax :: IndexedTraversal' k (Map k v) v # | |
Ord k => TraverseMin k (Map k) | |
Defined in Control.Lens.Traversal Methods traverseMin :: IndexedTraversal' k (Map k v) v # | |
ToContext a b => ToContext a (Map Text b) | |
Functor (Map k) | |
Foldable (Map k) | Folds in order of increasing key. |
Defined in Data.Map.Internal Methods fold :: Monoid m => Map k m -> m # foldMap :: Monoid m => (a -> m) -> Map k a -> m # foldMap' :: Monoid m => (a -> m) -> Map k a -> m # foldr :: (a -> b -> b) -> b -> Map k a -> b # foldr' :: (a -> b -> b) -> b -> Map k a -> b # foldl :: (b -> a -> b) -> b -> Map k a -> b # foldl' :: (b -> a -> b) -> b -> Map k a -> b # foldr1 :: (a -> a -> a) -> Map k a -> a # foldl1 :: (a -> a -> a) -> Map k a -> a # elem :: Eq a => a -> Map k a -> Bool # maximum :: Ord a => Map k a -> a # minimum :: Ord a => Map k a -> a # | |
Traversable (Map k) | Traverses in order of increasing key. |
Eq k => Eq1 (Map k) | Since: containers-0.5.9 |
Ord k => Ord1 (Map k) | Since: containers-0.5.9 |
Defined in Data.Map.Internal | |
(Ord k, Read k) => Read1 (Map k) | Since: containers-0.5.9 |
Defined in Data.Map.Internal | |
Show k => Show1 (Map k) | Since: containers-0.5.9 |
Hashable k => Hashable1 (Map k) | |
Defined in Data.Hashable.Class | |
Ord k => Apply (Map k) | |
Ord k => Bind (Map k) | |
Ord k => Metric (Map k) | |
Ord k => Trace (Map k) | |
Ord k => Additive (Map k) | |
Defined in Linear.Vector | |
(FromJSONKey k, Ord k) => FromJSON1 (Map k) | |
Defined in Data.Aeson.Types.FromJSON Methods liftParseJSON :: (Value -> Parser a) -> (Value -> Parser [a]) -> Value -> Parser (Map k a) liftParseJSONList :: (Value -> Parser a) -> (Value -> Parser [a]) -> Value -> Parser [Map k a] | |
ToJSONKey k => ToJSON1 (Map k) | |
Defined in Data.Aeson.Types.ToJSON Methods liftToJSON :: (a -> Value) -> ([a] -> Value) -> Map k a -> Value liftToJSONList :: (a -> Value) -> ([a] -> Value) -> [Map k a] -> Value liftToEncoding :: (a -> Encoding) -> ([a] -> Encoding) -> Map k a -> Encoding liftToEncodingList :: (a -> Encoding) -> ([a] -> Encoding) -> [Map k a] -> Encoding | |
Ord k => IsList (Map k v) | Since: containers-0.5.6.2 |
(Eq k, Eq a) => Eq (Map k a) | |
(Data k, Data a, Ord k) => Data (Map k a) | |
Defined in Data.Map.Internal Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Map k a -> c (Map k a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Map k a) # toConstr :: Map k a -> Constr # dataTypeOf :: Map k a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Map k a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Map k a)) # gmapT :: (forall b. Data b => b -> b) -> Map k a -> Map k a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Map k a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Map k a -> r # gmapQ :: (forall d. Data d => d -> u) -> Map k a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Map k a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Map k a -> m (Map k a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Map k a -> m (Map k a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Map k a -> m (Map k a) # | |
(Ord k, Ord v) => Ord (Map k v) | |
(Ord k, Read k, Read e) => Read (Map k e) | |
(Show k, Show a) => Show (Map k a) | |
Ord k => Semigroup (Map k v) | |
Ord k => Monoid (Map k v) | |
(Structured k, Structured v) => Structured (Map k v) | |
Defined in Distribution.Utils.Structured | |
(NFData k, NFData a) => NFData (Map k a) | |
Defined in Data.Map.Internal | |
(Hashable k, Hashable v) => Hashable (Map k v) | |
Defined in Data.Hashable.Class | |
Ord k => At (Map k a) | |
Ord k => Ixed (Map k a) | |
Defined in Control.Lens.At | |
AsEmpty (Map k a) | |
Defined in Control.Lens.Empty | |
Ord k => Wrapped (Map k a) | |
(FromJSONKey k, Ord k, FromJSON v) => FromJSON (Map k v) | |
Defined in Data.Aeson.Types.FromJSON | |
(ToJSON v, ToJSONKey k) => ToJSON (Map k v) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Map k v -> Encoding toJSONList :: [Map k v] -> Value toEncodingList :: [Map k v] -> Encoding | |
(ToFormKey k, ToHttpApiData v) => ToForm (Map k [v]) | |
Defined in Web.Internal.FormUrlEncoded | |
(Ord k, FromFormKey k, FromHttpApiData v) => FromForm (Map k [v]) | |
Defined in Web.Internal.FormUrlEncoded | |
(Ord k, Monoid k, Semiring v) => Semiring (Map k v) | |
(Ord k, Lattice v) => BoundedJoinSemiLattice (Map k v) | |
Defined in Algebra.Lattice | |
(Ord k, Finite k, BoundedMeetSemiLattice v) => BoundedMeetSemiLattice (Map k v) | |
Defined in Algebra.Lattice | |
(Ord k, Lattice v) => Lattice (Map k v) | |
Ord k => GrowingAppend (Map k v) | |
Defined in Data.MonoTraversable | |
MonoFoldable (Map k v) | |
Defined in Data.MonoTraversable Methods ofoldMap :: Monoid m => (Element (Map k v) -> m) -> Map k v -> m ofoldr :: (Element (Map k v) -> b -> b) -> b -> Map k v -> b ofoldl' :: (a -> Element (Map k v) -> a) -> a -> Map k v -> a otoList :: Map k v -> [Element (Map k v)] oall :: (Element (Map k v) -> Bool) -> Map k v -> Bool oany :: (Element (Map k v) -> Bool) -> Map k v -> Bool ocompareLength :: Integral i => Map k v -> i -> Ordering otraverse_ :: Applicative f => (Element (Map k v) -> f b) -> Map k v -> f () ofor_ :: Applicative f => Map k v -> (Element (Map k v) -> f b) -> f () omapM_ :: Applicative m => (Element (Map k v) -> m ()) -> Map k v -> m () oforM_ :: Applicative m => Map k v -> (Element (Map k v) -> m ()) -> m () ofoldlM :: Monad m => (a -> Element (Map k v) -> m a) -> a -> Map k v -> m a ofoldMap1Ex :: Semigroup m => (Element (Map k v) -> m) -> Map k v -> m ofoldr1Ex :: (Element (Map k v) -> Element (Map k v) -> Element (Map k v)) -> Map k v -> Element (Map k v) ofoldl1Ex' :: (Element (Map k v) -> Element (Map k v) -> Element (Map k v)) -> Map k v -> Element (Map k v) headEx :: Map k v -> Element (Map k v) lastEx :: Map k v -> Element (Map k v) unsafeHead :: Map k v -> Element (Map k v) unsafeLast :: Map k v -> Element (Map k v) maximumByEx :: (Element (Map k v) -> Element (Map k v) -> Ordering) -> Map k v -> Element (Map k v) minimumByEx :: (Element (Map k v) -> Element (Map k v) -> Ordering) -> Map k v -> Element (Map k v) | |
MonoFunctor (Map k v) | |
MonoTraversable (Map k v) | |
Defined in Data.MonoTraversable | |
ToMetaValue a => ToMetaValue (Map String a) | |
Defined in Text.Pandoc.Builder Methods toMetaValue :: Map String a -> MetaValue | |
ToMetaValue a => ToMetaValue (Map Text a) | |
Defined in Text.Pandoc.Builder Methods toMetaValue :: Map Text a -> MetaValue | |
(t ~ Map k' a', Ord k) => Rewrapped (Map k a) t | |
Defined in Control.Lens.Wrapped | |
Newtype (MonoidalMap k a) (Map k a) | |
Defined in Data.Map.Monoidal.Strict | |
c ~ d => Each (Map c a) (Map d b) a b | |
type Item (Map k v) | |
Defined in Data.Map.Internal | |
type Index (Map k a) | |
Defined in Control.Lens.At | |
type IxValue (Map k a) | |
Defined in Control.Lens.At | |
type Unwrapped (Map k a) | |
Defined in Control.Lens.Wrapped | |
type Element (Map k v) | |
Defined in Data.MonoTraversable type Element (Map k v) = v |
Non-empty (and non-strict) list type.
Since: base-4.9.0.0
Constructors
a :| [a] infixr 5 |
Instances
Monad NonEmpty | Since: base-4.9.0.0 |
Functor NonEmpty | Since: base-4.9.0.0 |
MonadFix NonEmpty | Since: base-4.9.0.0 |
Defined in Control.Monad.Fix | |
Applicative NonEmpty | Since: base-4.9.0.0 |
Foldable NonEmpty | Since: base-4.9.0.0 |
Defined in Data.Foldable Methods fold :: Monoid m => NonEmpty m -> m # foldMap :: Monoid m => (a -> m) -> NonEmpty a -> m # foldMap' :: Monoid m => (a -> m) -> NonEmpty a -> m # foldr :: (a -> b -> b) -> b -> NonEmpty a -> b # foldr' :: (a -> b -> b) -> b -> NonEmpty a -> b # foldl :: (b -> a -> b) -> b -> NonEmpty a -> b # foldl' :: (b -> a -> b) -> b -> NonEmpty a -> b # foldr1 :: (a -> a -> a) -> NonEmpty a -> a # foldl1 :: (a -> a -> a) -> NonEmpty a -> a # elem :: Eq a => a -> NonEmpty a -> Bool # maximum :: Ord a => NonEmpty a -> a # minimum :: Ord a => NonEmpty a -> a # | |
Traversable NonEmpty | Since: base-4.9.0.0 |
Eq1 NonEmpty | Since: base-4.10.0.0 |
Ord1 NonEmpty | Since: base-4.10.0.0 |
Defined in Data.Functor.Classes | |
Read1 NonEmpty | Since: base-4.10.0.0 |
Defined in Data.Functor.Classes | |
Show1 NonEmpty | Since: base-4.10.0.0 |
NFData1 NonEmpty | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
Hashable1 NonEmpty | |
Defined in Data.Hashable.Class | |
Comonad NonEmpty | |
Apply NonEmpty | |
Bind NonEmpty | |
ComonadApply NonEmpty | |
Foldable1 NonEmpty | |
Defined in Data.Semigroup.Foldable.Class | |
Traversable1 NonEmpty | |
FromJSON1 NonEmpty | |
Defined in Data.Aeson.Types.FromJSON Methods liftParseJSON :: (Value -> Parser a) -> (Value -> Parser [a]) -> Value -> Parser (NonEmpty a) liftParseJSONList :: (Value -> Parser a) -> (Value -> Parser [a]) -> Value -> Parser [NonEmpty a] | |
ToJSON1 NonEmpty | |
Defined in Data.Aeson.Types.ToJSON Methods liftToJSON :: (a -> Value) -> ([a] -> Value) -> NonEmpty a -> Value liftToJSONList :: (a -> Value) -> ([a] -> Value) -> [NonEmpty a] -> Value liftToEncoding :: (a -> Encoding) -> ([a] -> Encoding) -> NonEmpty a -> Encoding liftToEncodingList :: (a -> Encoding) -> ([a] -> Encoding) -> [NonEmpty a] -> Encoding | |
FoldableWithIndex Int NonEmpty | |
Defined in WithIndex | |
FunctorWithIndex Int NonEmpty | |
TraversableWithIndex Int NonEmpty | |
Lift a => Lift (NonEmpty a :: Type) | Since: template-haskell-2.15.0.0 |
ToSourceIO a (NonEmpty a) | |
Defined in Servant.API.Stream Methods toSourceIO :: NonEmpty a -> SourceIO a | |
IsList (NonEmpty a) | Since: base-4.9.0.0 |
Eq a => Eq (NonEmpty a) | Since: base-4.9.0.0 |
Data a => Data (NonEmpty a) | Since: base-4.9.0.0 |
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> NonEmpty a -> c (NonEmpty a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (NonEmpty a) # toConstr :: NonEmpty a -> Constr # dataTypeOf :: NonEmpty a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (NonEmpty a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (NonEmpty a)) # gmapT :: (forall b. Data b => b -> b) -> NonEmpty a -> NonEmpty a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> NonEmpty a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> NonEmpty a -> r # gmapQ :: (forall d. Data d => d -> u) -> NonEmpty a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> NonEmpty a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> NonEmpty a -> m (NonEmpty a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> NonEmpty a -> m (NonEmpty a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> NonEmpty a -> m (NonEmpty a) # | |
Ord a => Ord (NonEmpty a) | Since: base-4.9.0.0 |
Read a => Read (NonEmpty a) | Since: base-4.11.0.0 |
Show a => Show (NonEmpty a) | Since: base-4.11.0.0 |
Generic (NonEmpty a) | Since: base-4.6.0.0 |
Semigroup (NonEmpty a) | Since: base-4.9.0.0 |
Structured a => Structured (NonEmpty a) | |
Defined in Distribution.Utils.Structured | |
NFData a => NFData (NonEmpty a) | Since: deepseq-1.4.2.0 |
Defined in Control.DeepSeq | |
Hashable a => Hashable (NonEmpty a) | |
Defined in Data.Hashable.Class | |
Ixed (NonEmpty a) | |
Defined in Control.Lens.At | |
Reversing (NonEmpty a) | |
Defined in Control.Lens.Internal.Iso | |
Wrapped (NonEmpty a) | |
FromJSON a => FromJSON (NonEmpty a) | |
Defined in Data.Aeson.Types.FromJSON | |
ToJSON a => ToJSON (NonEmpty a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: NonEmpty a -> Encoding toJSONList :: [NonEmpty a] -> Value toEncodingList :: [NonEmpty a] -> Encoding | |
Corecursive (NonEmpty a) | |
Defined in Data.Functor.Foldable Methods embed :: Base (NonEmpty a) (NonEmpty a) -> NonEmpty a ana :: (a0 -> Base (NonEmpty a) a0) -> a0 -> NonEmpty a apo :: (a0 -> Base (NonEmpty a) (Either (NonEmpty a) a0)) -> a0 -> NonEmpty a postpro :: Recursive (NonEmpty a) => (forall b. Base (NonEmpty a) b -> Base (NonEmpty a) b) -> (a0 -> Base (NonEmpty a) a0) -> a0 -> NonEmpty a gpostpro :: (Recursive (NonEmpty a), Monad m) => (forall b. m (Base (NonEmpty a) b) -> Base (NonEmpty a) (m b)) -> (forall c. Base (NonEmpty a) c -> Base (NonEmpty a) c) -> (a0 -> Base (NonEmpty a) (m a0)) -> a0 -> NonEmpty a | |
Recursive (NonEmpty a) | |
Defined in Data.Functor.Foldable Methods project :: NonEmpty a -> Base (NonEmpty a) (NonEmpty a) cata :: (Base (NonEmpty a) a0 -> a0) -> NonEmpty a -> a0 para :: (Base (NonEmpty a) (NonEmpty a, a0) -> a0) -> NonEmpty a -> a0 gpara :: (Corecursive (NonEmpty a), Comonad w) => (forall b. Base (NonEmpty a) (w b) -> w (Base (NonEmpty a) b)) -> (Base (NonEmpty a) (EnvT (NonEmpty a) w a0) -> a0) -> NonEmpty a -> a0 prepro :: Corecursive (NonEmpty a) => (forall b. Base (NonEmpty a) b -> Base (NonEmpty a) b) -> (Base (NonEmpty a) a0 -> a0) -> NonEmpty a -> a0 gprepro :: (Corecursive (NonEmpty a), Comonad w) => (forall b. Base (NonEmpty a) (w b) -> w (Base (NonEmpty a) b)) -> (forall c. Base (NonEmpty a) c -> Base (NonEmpty a) c) -> (Base (NonEmpty a) (w a0) -> a0) -> NonEmpty a -> a0 | |
GrowingAppend (NonEmpty a) | |
Defined in Data.MonoTraversable | |
MonoFoldable (NonEmpty a) | |
Defined in Data.MonoTraversable Methods ofoldMap :: Monoid m => (Element (NonEmpty a) -> m) -> NonEmpty a -> m ofoldr :: (Element (NonEmpty a) -> b -> b) -> b -> NonEmpty a -> b ofoldl' :: (a0 -> Element (NonEmpty a) -> a0) -> a0 -> NonEmpty a -> a0 otoList :: NonEmpty a -> [Element (NonEmpty a)] oall :: (Element (NonEmpty a) -> Bool) -> NonEmpty a -> Bool oany :: (Element (NonEmpty a) -> Bool) -> NonEmpty a -> Bool olength64 :: NonEmpty a -> Int64 ocompareLength :: Integral i => NonEmpty a -> i -> Ordering otraverse_ :: Applicative f => (Element (NonEmpty a) -> f b) -> NonEmpty a -> f () ofor_ :: Applicative f => NonEmpty a -> (Element (NonEmpty a) -> f b) -> f () omapM_ :: Applicative m => (Element (NonEmpty a) -> m ()) -> NonEmpty a -> m () oforM_ :: Applicative m => NonEmpty a -> (Element (NonEmpty a) -> m ()) -> m () ofoldlM :: Monad m => (a0 -> Element (NonEmpty a) -> m a0) -> a0 -> NonEmpty a -> m a0 ofoldMap1Ex :: Semigroup m => (Element (NonEmpty a) -> m) -> NonEmpty a -> m ofoldr1Ex :: (Element (NonEmpty a) -> Element (NonEmpty a) -> Element (NonEmpty a)) -> NonEmpty a -> Element (NonEmpty a) ofoldl1Ex' :: (Element (NonEmpty a) -> Element (NonEmpty a) -> Element (NonEmpty a)) -> NonEmpty a -> Element (NonEmpty a) headEx :: NonEmpty a -> Element (NonEmpty a) lastEx :: NonEmpty a -> Element (NonEmpty a) unsafeHead :: NonEmpty a -> Element (NonEmpty a) unsafeLast :: NonEmpty a -> Element (NonEmpty a) maximumByEx :: (Element (NonEmpty a) -> Element (NonEmpty a) -> Ordering) -> NonEmpty a -> Element (NonEmpty a) minimumByEx :: (Element (NonEmpty a) -> Element (NonEmpty a) -> Ordering) -> NonEmpty a -> Element (NonEmpty a) | |
MonoFunctor (NonEmpty a) | |
MonoPointed (NonEmpty a) | |
Defined in Data.MonoTraversable | |
MonoTraversable (NonEmpty a) | |
Defined in Data.MonoTraversable | |
SemiSequence (NonEmpty a) | |
Defined in Data.Sequences Associated Types type Index (NonEmpty a) Methods intersperse :: Element (NonEmpty a) -> NonEmpty a -> NonEmpty a reverse :: NonEmpty a -> NonEmpty a find :: (Element (NonEmpty a) -> Bool) -> NonEmpty a -> Maybe (Element (NonEmpty a)) sortBy :: (Element (NonEmpty a) -> Element (NonEmpty a) -> Ordering) -> NonEmpty a -> NonEmpty a | |
Generic1 NonEmpty | Since: base-4.6.0.0 |
t ~ NonEmpty b => Rewrapped (NonEmpty a) t | |
Defined in Control.Lens.Wrapped | |
Each (NonEmpty a) (NonEmpty b) a b | |
type Rep (NonEmpty a) | |
Defined in GHC.Generics type Rep (NonEmpty a) = D1 ('MetaData "NonEmpty" "GHC.Base" "base" 'False) (C1 ('MetaCons ":|" ('InfixI 'LeftAssociative 9) 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [a]))) | |
type Item (NonEmpty a) | |
type Index (NonEmpty a) | |
Defined in Control.Lens.At | |
type IxValue (NonEmpty a) | |
Defined in Control.Lens.At | |
type Unwrapped (NonEmpty a) | |
Defined in Control.Lens.Wrapped | |
type Base (NonEmpty a) | |
Defined in Data.Functor.Foldable type Base (NonEmpty a) = NonEmptyF a | |
type Element (NonEmpty a) | |
Defined in Data.MonoTraversable type Element (NonEmpty a) = a | |
type Index (NonEmpty a) | |
Defined in Data.Sequences | |
type Rep1 NonEmpty | |
Defined in GHC.Generics type Rep1 NonEmpty = D1 ('MetaData "NonEmpty" "GHC.Base" "base" 'False) (C1 ('MetaCons ":|" ('InfixI 'LeftAssociative 9) 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1 :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 []))) |
class (Alternative m, Monad m) => MonadPlus (m :: Type -> Type) where #
Monads that also support choice and failure.
Minimal complete definition
Nothing
Methods
The identity of mplus
. It should also satisfy the equations
mzero >>= f = mzero v >> mzero = mzero
The default definition is
mzero = empty
An associative operation. The default definition is
mplus = (<|>
)
Instances
class Applicative f => Alternative (f :: Type -> Type) where #
A monoid on applicative functors.
If defined, some
and many
should be the least solutions
of the equations:
Methods
The identity of <|>
(<|>) :: f a -> f a -> f a infixl 3 #
An associative binary operation
One or more.
Zero or more.
Instances
(=<<) :: Monad m => (a -> m b) -> m a -> m b infixr 1 #
Same as >>=
, but with the arguments interchanged.
when :: Applicative f => Bool -> f () -> f () #
Conditional execution of Applicative
expressions. For example,
when debug (putStrLn "Debugging")
will output the string Debugging
if the Boolean value debug
is True
, and otherwise do nothing.
liftM2 :: Monad m => (a1 -> a2 -> r) -> m a1 -> m a2 -> m r #
Promote a function to a monad, scanning the monadic arguments from left to right. For example,
liftM2 (+) [0,1] [0,2] = [0,2,1,3] liftM2 (+) (Just 1) Nothing = Nothing
const x
is a unary function which evaluates to x
for all inputs.
>>>
const 42 "hello"
42
>>>
map (const 42) [0..3]
[42,42,42,42]
flip :: (a -> b -> c) -> b -> a -> c #
takes its (first) two arguments in the reverse order of flip
ff
.
>>>
flip (++) "hello" "world"
"worldhello"
uncurry :: (a -> b -> c) -> (a, b) -> c #
uncurry
converts a curried function to a function on pairs.
Examples
>>>
uncurry (+) (1,2)
3
>>>
uncurry ($) (show, 1)
"1"
>>>
map (uncurry max) [(1,2), (3,4), (6,8)]
[2,4,8]
(<$>) :: Functor f => (a -> b) -> f a -> f b infixl 4 #
An infix synonym for fmap
.
The name of this operator is an allusion to $
.
Note the similarities between their types:
($) :: (a -> b) -> a -> b (<$>) :: Functor f => (a -> b) -> f a -> f b
Whereas $
is function application, <$>
is function
application lifted over a Functor
.
Examples
Convert from a
to a Maybe
Int
using Maybe
String
show
:
>>>
show <$> Nothing
Nothing>>>
show <$> Just 3
Just "3"
Convert from an
to an
Either
Int
Int
Either
Int
String
using show
:
>>>
show <$> Left 17
Left 17>>>
show <$> Right 17
Right "17"
Double each element of a list:
>>>
(*2) <$> [1,2,3]
[2,4,6]
Apply even
to the second element of a pair:
>>>
even <$> (2,2)
(2,True)
void :: Functor f => f a -> f () #
discards or ignores the result of evaluation, such
as the return value of an void
valueIO
action.
Using ApplicativeDo
: '
' can be understood as the
void
asdo
expression
do as pure ()
with an inferred Functor
constraint.
Examples
Replace the contents of a
with unit:Maybe
Int
>>>
void Nothing
Nothing>>>
void (Just 3)
Just ()
Replace the contents of an
with unit, resulting in an Either
Int
Int
:Either
Int
()
>>>
void (Left 8675309)
Left 8675309>>>
void (Right 8675309)
Right ()
Replace every element of a list with unit:
>>>
void [1,2,3]
[(),(),()]
Replace the second element of a pair with unit:
>>>
void (1,2)
(1,())
Discard the result of an IO
action:
>>>
mapM print [1,2]
1 2 [(),()]>>>
void $ mapM print [1,2]
1 2
maybe :: b -> (a -> b) -> Maybe a -> b #
The maybe
function takes a default value, a function, and a Maybe
value. If the Maybe
value is Nothing
, the function returns the
default value. Otherwise, it applies the function to the value inside
the Just
and returns the result.
Examples
Basic usage:
>>>
maybe False odd (Just 3)
True
>>>
maybe False odd Nothing
False
Read an integer from a string using readMaybe
. If we succeed,
return twice the integer; that is, apply (*2)
to it. If instead
we fail to parse an integer, return 0
by default:
>>>
import Text.Read ( readMaybe )
>>>
maybe 0 (*2) (readMaybe "5")
10>>>
maybe 0 (*2) (readMaybe "")
0
Apply show
to a Maybe Int
. If we have Just n
, we want to show
the underlying Int
n
. But if we have Nothing
, we return the
empty string instead of (for example) "Nothing":
>>>
maybe "" show (Just 5)
"5">>>
maybe "" show Nothing
""
fromMaybe :: a -> Maybe a -> a #
The fromMaybe
function takes a default value and a Maybe
value. If the Maybe
is Nothing
, it returns the default value;
otherwise, it returns the value contained in the Maybe
.
Examples
Basic usage:
>>>
fromMaybe "" (Just "Hello, World!")
"Hello, World!"
>>>
fromMaybe "" Nothing
""
Read an integer from a string using readMaybe
. If we fail to
parse an integer, we want to return 0
by default:
>>>
import Text.Read ( readMaybe )
>>>
fromMaybe 0 (readMaybe "5")
5>>>
fromMaybe 0 (readMaybe "")
0
maybeToList :: Maybe a -> [a] #
The maybeToList
function returns an empty list when given
Nothing
or a singleton list when given Just
.
Examples
Basic usage:
>>>
maybeToList (Just 7)
[7]
>>>
maybeToList Nothing
[]
One can use maybeToList
to avoid pattern matching when combined
with a function that (safely) works on lists:
>>>
import Text.Read ( readMaybe )
>>>
sum $ maybeToList (readMaybe "3")
3>>>
sum $ maybeToList (readMaybe "")
0
listToMaybe :: [a] -> Maybe a #
The listToMaybe
function returns Nothing
on an empty list
or
where Just
aa
is the first element of the list.
Examples
Basic usage:
>>>
listToMaybe []
Nothing
>>>
listToMaybe [9]
Just 9
>>>
listToMaybe [1,2,3]
Just 1
Composing maybeToList
with listToMaybe
should be the identity
on singleton/empty lists:
>>>
maybeToList $ listToMaybe [5]
[5]>>>
maybeToList $ listToMaybe []
[]
But not on lists with more than one element:
>>>
maybeToList $ listToMaybe [1,2,3]
[1]
catMaybes :: [Maybe a] -> [a] #
The catMaybes
function takes a list of Maybe
s and returns
a list of all the Just
values.
Examples
Basic usage:
>>>
catMaybes [Just 1, Nothing, Just 3]
[1,3]
When constructing a list of Maybe
values, catMaybes
can be used
to return all of the "success" results (if the list is the result
of a map
, then mapMaybe
would be more appropriate):
>>>
import Text.Read ( readMaybe )
>>>
[readMaybe x :: Maybe Int | x <- ["1", "Foo", "3"] ]
[Just 1,Nothing,Just 3]>>>
catMaybes $ [readMaybe x :: Maybe Int | x <- ["1", "Foo", "3"] ]
[1,3]
mapMaybe :: (a -> Maybe b) -> [a] -> [b] #
The mapMaybe
function is a version of map
which can throw
out elements. In particular, the functional argument returns
something of type
. If this is Maybe
bNothing
, no element
is added on to the result list. If it is
, then Just
bb
is
included in the result list.
Examples
Using
is a shortcut for mapMaybe
f x
in most cases:catMaybes
$ map
f x
>>>
import Text.Read ( readMaybe )
>>>
let readMaybeInt = readMaybe :: String -> Maybe Int
>>>
mapMaybe readMaybeInt ["1", "Foo", "3"]
[1,3]>>>
catMaybes $ map readMaybeInt ["1", "Foo", "3"]
[1,3]
If we map the Just
constructor, the entire list should be returned:
>>>
mapMaybe Just [1,2,3]
[1,2,3]
scanl :: (b -> a -> b) -> b -> [a] -> [b] #
\(\mathcal{O}(n)\). scanl
is similar to foldl
, but returns a list of
successive reduced values from the left:
scanl f z [x1, x2, ...] == [z, z `f` x1, (z `f` x1) `f` x2, ...]
Note that
last (scanl f z xs) == foldl f z xs
>>>
scanl (+) 0 [1..4]
[0,1,3,6,10]>>>
scanl (+) 42 []
[42]>>>
scanl (-) 100 [1..4]
[100,99,97,94,90]>>>
scanl (\reversedString nextChar -> nextChar : reversedString) "foo" ['a', 'b', 'c', 'd']
["foo","afoo","bafoo","cbafoo","dcbafoo"]>>>
scanl (+) 0 [1..]
* Hangs forever *
scanl1 :: (a -> a -> a) -> [a] -> [a] #
\(\mathcal{O}(n)\). scanl1
is a variant of scanl
that has no starting
value argument:
scanl1 f [x1, x2, ...] == [x1, x1 `f` x2, ...]
>>>
scanl1 (+) [1..4]
[1,3,6,10]>>>
scanl1 (+) []
[]>>>
scanl1 (-) [1..4]
[1,-1,-4,-8]>>>
scanl1 (&&) [True, False, True, True]
[True,False,False,False]>>>
scanl1 (||) [False, False, True, True]
[False,False,True,True]>>>
scanl1 (+) [1..]
* Hangs forever *
scanr :: (a -> b -> b) -> b -> [a] -> [b] #
\(\mathcal{O}(n)\). scanr
is the right-to-left dual of scanl
. Note that the order of parameters on the accumulating function are reversed compared to scanl
.
Also note that
head (scanr f z xs) == foldr f z xs.
>>>
scanr (+) 0 [1..4]
[10,9,7,4,0]>>>
scanr (+) 42 []
[42]>>>
scanr (-) 100 [1..4]
[98,-97,99,-96,100]>>>
scanr (\nextChar reversedString -> nextChar : reversedString) "foo" ['a', 'b', 'c', 'd']
["abcdfoo","bcdfoo","cdfoo","dfoo","foo"]>>>
scanr (+) 0 [1..]
* Hangs forever *
scanr1 :: (a -> a -> a) -> [a] -> [a] #
\(\mathcal{O}(n)\). scanr1
is a variant of scanr
that has no starting
value argument.
>>>
scanr1 (+) [1..4]
[10,9,7,4]>>>
scanr1 (+) []
[]>>>
scanr1 (-) [1..4]
[-2,3,-1,4]>>>
scanr1 (&&) [True, False, True, True]
[False,False,True,True]>>>
scanr1 (||) [True, True, False, False]
[True,True,False,False]>>>
scanr1 (+) [1..]
* Hangs forever *
iterate :: (a -> a) -> a -> [a] #
iterate
f x
returns an infinite list of repeated applications
of f
to x
:
iterate f x == [x, f x, f (f x), ...]
Note that iterate
is lazy, potentially leading to thunk build-up if
the consumer doesn't force each iterate. See iterate'
for a strict
variant of this function.
>>>
iterate not True
[True,False,True,False...>>>
iterate (+3) 42
[42,45,48,51,54,57,60,63...
repeat
x
is an infinite list, with x
the value of every element.
>>>
repeat 17
[17,17,17,17,17,17,17,17,17...
replicate :: Int -> a -> [a] #
replicate
n x
is a list of length n
with x
the value of
every element.
It is an instance of the more general genericReplicate
,
in which n
may be of any integral type.
>>>
replicate 0 True
[]>>>
replicate (-1) True
[]>>>
replicate 4 True
[True,True,True,True]
cycle
ties a finite list into a circular one, or equivalently,
the infinite repetition of the original list. It is the identity
on infinite lists.
>>>
cycle []
Exception: Prelude.cycle: empty list>>>
cycle [42]
[42,42,42,42,42,42,42,42,42,42...>>>
cycle [2, 5, 7]
[2,5,7,2,5,7,2,5,7,2,5,7...
takeWhile :: (a -> Bool) -> [a] -> [a] #
takeWhile
, applied to a predicate p
and a list xs
, returns the
longest prefix (possibly empty) of xs
of elements that satisfy p
.
>>>
takeWhile (< 3) [1,2,3,4,1,2,3,4]
[1,2]>>>
takeWhile (< 9) [1,2,3]
[1,2,3]>>>
takeWhile (< 0) [1,2,3]
[]
take
n
, applied to a list xs
, returns the prefix of xs
of length n
, or xs
itself if n >
.length
xs
>>>
take 5 "Hello World!"
"Hello">>>
take 3 [1,2,3,4,5]
[1,2,3]>>>
take 3 [1,2]
[1,2]>>>
take 3 []
[]>>>
take (-1) [1,2]
[]>>>
take 0 [1,2]
[]
It is an instance of the more general genericTake
,
in which n
may be of any integral type.
drop
n xs
returns the suffix of xs
after the first n
elements, or []
if n >
.length
xs
>>>
drop 6 "Hello World!"
"World!">>>
drop 3 [1,2,3,4,5]
[4,5]>>>
drop 3 [1,2]
[]>>>
drop 3 []
[]>>>
drop (-1) [1,2]
[1,2]>>>
drop 0 [1,2]
[1,2]
It is an instance of the more general genericDrop
,
in which n
may be of any integral type.
splitAt :: Int -> [a] -> ([a], [a]) #
splitAt
n xs
returns a tuple where first element is xs
prefix of
length n
and second element is the remainder of the list:
>>>
splitAt 6 "Hello World!"
("Hello ","World!")>>>
splitAt 3 [1,2,3,4,5]
([1,2,3],[4,5])>>>
splitAt 1 [1,2,3]
([1],[2,3])>>>
splitAt 3 [1,2,3]
([1,2,3],[])>>>
splitAt 4 [1,2,3]
([1,2,3],[])>>>
splitAt 0 [1,2,3]
([],[1,2,3])>>>
splitAt (-1) [1,2,3]
([],[1,2,3])
It is equivalent to (
when take
n xs, drop
n xs)n
is not _|_
(splitAt _|_ xs = _|_
).
splitAt
is an instance of the more general genericSplitAt
,
in which n
may be of any integral type.
span :: (a -> Bool) -> [a] -> ([a], [a]) #
span
, applied to a predicate p
and a list xs
, returns a tuple where
first element is longest prefix (possibly empty) of xs
of elements that
satisfy p
and second element is the remainder of the list:
>>>
span (< 3) [1,2,3,4,1,2,3,4]
([1,2],[3,4,1,2,3,4])>>>
span (< 9) [1,2,3]
([1,2,3],[])>>>
span (< 0) [1,2,3]
([],[1,2,3])
break :: (a -> Bool) -> [a] -> ([a], [a]) #
break
, applied to a predicate p
and a list xs
, returns a tuple where
first element is longest prefix (possibly empty) of xs
of elements that
do not satisfy p
and second element is the remainder of the list:
>>>
break (> 3) [1,2,3,4,1,2,3,4]
([1,2,3],[4,1,2,3,4])>>>
break (< 9) [1,2,3]
([],[1,2,3])>>>
break (> 9) [1,2,3]
([1,2,3],[])
reverse
xs
returns the elements of xs
in reverse order.
xs
must be finite.
>>>
reverse []
[]>>>
reverse [42]
[42]>>>
reverse [2,5,7]
[7,5,2]>>>
reverse [1..]
* Hangs forever *
lookup :: Eq a => a -> [(a, b)] -> Maybe b #
\(\mathcal{O}(n)\). lookup
key assocs
looks up a key in an association
list.
>>>
lookup 2 []
Nothing>>>
lookup 2 [(1, "first")]
Nothing>>>
lookup 2 [(1, "first"), (2, "second"), (3, "third")]
Just "second"
(!!) :: [a] -> Int -> a infixl 9 #
List index (subscript) operator, starting from 0.
It is an instance of the more general genericIndex
,
which takes an index of any integral type.
>>>
['a', 'b', 'c'] !! 0
'a'>>>
['a', 'b', 'c'] !! 2
'c'>>>
['a', 'b', 'c'] !! 3
Exception: Prelude.!!: index too large>>>
['a', 'b', 'c'] !! (-1)
Exception: Prelude.!!: negative index
zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] #
\(\mathcal{O}(\min(m,n))\). zipWith
generalises zip
by zipping with the
function given as the first argument, instead of a tupling function.
zipWith (,) xs ys == zip xs ys zipWith f [x1,x2,x3..] [y1,y2,y3..] == [f x1 y1, f x2 y2, f x3 y3..]
For example,
is applied to two lists to produce the list of
corresponding sums:zipWith
(+)
>>>
zipWith (+) [1, 2, 3] [4, 5, 6]
[5,7,9]
zipWith
is right-lazy:
>>>
zipWith f [] _|_
[]
zipWith
is capable of list fusion, but it is restricted to its
first list argument and its resulting list.
zipWith3 :: (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d] #
The zipWith3
function takes a function which combines three
elements, as well as three lists and returns a list of the function applied
to corresponding elements, analogous to zipWith
.
It is capable of list fusion, but it is restricted to its
first list argument and its resulting list.
zipWith3 (,,) xs ys zs == zip3 xs ys zs zipWith3 f [x1,x2,x3..] [y1,y2,y3..] [z1,z2,z3..] == [f x1 y1 z1, f x2 y2 z2, f x3 y3 z3..]
unzip :: [(a, b)] -> ([a], [b]) #
unzip
transforms a list of pairs into a list of first components
and a list of second components.
>>>
unzip []
([],[])>>>
unzip [(1, 'a'), (2, 'b')]
([1,2],"ab")
Returns True
for any Unicode space character, and the control
characters \t
, \n
, \r
, \f
, \v
.
Selects alphabetic Unicode characters (lower-case, upper-case and
title-case letters, plus letters of caseless scripts and modifiers letters).
This function is equivalent to isLetter
.
isAlphaNum :: Char -> Bool #
Selects alphabetic or numeric Unicode characters.
Note that numeric digits outside the ASCII range, as well as numeric
characters which aren't digits, are selected by this function but not by
isDigit
. Such characters may be part of identifiers but are not used by
the printer and reader to represent numbers.
Selects upper-case or title-case alphabetic Unicode characters (letters). Title case is used by a small number of letter ligatures like the single-character form of Lj.
Convert a letter to the corresponding lower-case letter, if any. Any other character is returned unchanged.
Convert a letter to the corresponding upper-case letter, if any. Any other character is returned unchanged.
either :: (a -> c) -> (b -> c) -> Either a b -> c #
Case analysis for the Either
type.
If the value is
, apply the first function to Left
aa
;
if it is
, apply the second function to Right
bb
.
Examples
We create two values of type
, one using the
Either
String
Int
Left
constructor and another using the Right
constructor. Then
we apply "either" the length
function (if we have a String
)
or the "times-two" function (if we have an Int
):
>>>
let s = Left "foo" :: Either String Int
>>>
let n = Right 3 :: Either String Int
>>>
either length (*2) s
3>>>
either length (*2) n
6
partitionEithers :: [Either a b] -> ([a], [b]) #
Partitions a list of Either
into two lists.
All the Left
elements are extracted, in order, to the first
component of the output. Similarly the Right
elements are extracted
to the second component of the output.
Examples
Basic usage:
>>>
let list = [ Left "foo", Right 3, Left "bar", Right 7, Left "baz" ]
>>>
partitionEithers list
(["foo","bar","baz"],[3,7])
The pair returned by
should be the same
pair as partitionEithers
x(
:lefts
x, rights
x)
>>>
let list = [ Left "foo", Right 3, Left "bar", Right 7, Left "baz" ]
>>>
partitionEithers list == (lefts list, rights list)
True
readMaybe :: Read a => String -> Maybe a #
Parse a string using the Read
instance.
Succeeds if there is exactly one valid result.
>>>
readMaybe "123" :: Maybe Int
Just 123
>>>
readMaybe "hello" :: Maybe Int
Nothing
Since: base-4.6.0.0
comparing :: Ord a => (b -> a) -> b -> b -> Ordering #
comparing p x y = compare (p x) (p y)
Useful combinator for use in conjunction with the xxxBy
family
of functions from Data.List, for example:
... sortBy (comparing fst) ...
Boolean monoid under disjunction (||
).
>>>
getAny (Any True <> mempty <> Any False)
True
>>>
getAny (mconcat (map (\x -> Any (even x)) [2,4,6,7,8]))
True
Instances
Bounded Any | Since: base-2.1 |
Eq Any | Since: base-2.1 |
Data Any | Since: base-4.8.0.0 |
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Any -> c Any # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Any # dataTypeOf :: Any -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Any) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Any) # gmapT :: (forall b. Data b => b -> b) -> Any -> Any # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Any -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Any -> r # gmapQ :: (forall d. Data d => d -> u) -> Any -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Any -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Any -> m Any # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Any -> m Any # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Any -> m Any # | |
Ord Any | Since: base-2.1 |
Read Any | Since: base-2.1 |
Show Any | Since: base-2.1 |
Generic Any | Since: base-4.7.0.0 |
Semigroup Any | Since: base-4.9.0.0 |
Monoid Any | Since: base-2.1 |
NFData Any | Since: deepseq-1.4.0.0 |
Defined in Control.DeepSeq | |
Finitary Any | |
Unbox Any | |
Defined in Data.Vector.Unboxed.Base | |
AsEmpty Any | |
Defined in Control.Lens.Empty | |
Wrapped Any | |
Default Any | |
Defined in Data.Default.Class | |
FromFormKey Any | |
Defined in Web.Internal.FormUrlEncoded Methods parseFormKey :: Text -> Either Text Any | |
ToFormKey Any | |
Defined in Web.Internal.FormUrlEncoded | |
BoundedJoinSemiLattice Any | |
Defined in Algebra.Lattice | |
BoundedMeetSemiLattice Any | |
Defined in Algebra.Lattice | |
Lattice Any | |
Semigroup Any | |
Defined in Data.Monoid.Linear.Internal.Semigroup | |
Vector Vector Any | |
Defined in Data.Vector.Unboxed.Base Methods basicUnsafeFreeze :: PrimMonad m => Mutable Vector (PrimState m) Any -> m (Vector Any) basicUnsafeThaw :: PrimMonad m => Vector Any -> m (Mutable Vector (PrimState m) Any) basicLength :: Vector Any -> Int basicUnsafeSlice :: Int -> Int -> Vector Any -> Vector Any basicUnsafeIndexM :: Monad m => Vector Any -> Int -> m Any basicUnsafeCopy :: PrimMonad m => Mutable Vector (PrimState m) Any -> Vector Any -> m () | |
MVector MVector Any | |
Defined in Data.Vector.Unboxed.Base Methods basicLength :: MVector s Any -> Int basicUnsafeSlice :: Int -> Int -> MVector s Any -> MVector s Any basicOverlaps :: MVector s Any -> MVector s Any -> Bool basicUnsafeNew :: PrimMonad m => Int -> m (MVector (PrimState m) Any) basicInitialize :: PrimMonad m => MVector (PrimState m) Any -> m () basicUnsafeReplicate :: PrimMonad m => Int -> Any -> m (MVector (PrimState m) Any) basicUnsafeRead :: PrimMonad m => MVector (PrimState m) Any -> Int -> m Any basicUnsafeWrite :: PrimMonad m => MVector (PrimState m) Any -> Int -> Any -> m () basicClear :: PrimMonad m => MVector (PrimState m) Any -> m () basicSet :: PrimMonad m => MVector (PrimState m) Any -> Any -> m () basicUnsafeCopy :: PrimMonad m => MVector (PrimState m) Any -> MVector (PrimState m) Any -> m () basicUnsafeMove :: PrimMonad m => MVector (PrimState m) Any -> MVector (PrimState m) Any -> m () basicUnsafeGrow :: PrimMonad m => MVector (PrimState m) Any -> Int -> m (MVector (PrimState m) Any) | |
t ~ Any => Rewrapped Any t | |
Defined in Control.Lens.Wrapped | |
type Rep Any | |
Defined in Data.Semigroup.Internal | |
newtype Vector Any | |
Defined in Data.Vector.Unboxed.Base | |
type Cardinality Any | |
Defined in Data.Finitary | |
type Unwrapped Any | |
Defined in Control.Lens.Wrapped | |
newtype MVector s Any | |
Defined in Data.Vector.Unboxed.Base |
Boolean monoid under conjunction (&&
).
>>>
getAll (All True <> mempty <> All False)
False
>>>
getAll (mconcat (map (\x -> All (even x)) [2,4,6,7,8]))
False
Instances
Bounded All | Since: base-2.1 |
Eq All | Since: base-2.1 |
Data All | Since: base-4.8.0.0 |
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> All -> c All # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c All # dataTypeOf :: All -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c All) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c All) # gmapT :: (forall b. Data b => b -> b) -> All -> All # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> All -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> All -> r # gmapQ :: (forall d. Data d => d -> u) -> All -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> All -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> All -> m All # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> All -> m All # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> All -> m All # | |
Ord All | Since: base-2.1 |
Read All | Since: base-2.1 |
Show All | Since: base-2.1 |
Generic All | Since: base-4.7.0.0 |
Semigroup All | Since: base-4.9.0.0 |
Monoid All | Since: base-2.1 |
NFData All | Since: deepseq-1.4.0.0 |
Defined in Control.DeepSeq | |
Finitary All | |
Unbox All | |
Defined in Data.Vector.Unboxed.Base | |
AsEmpty All | |
Defined in Control.Lens.Empty | |
Wrapped All | |
Default All | |
Defined in Data.Default.Class | |
FromFormKey All | |
Defined in Web.Internal.FormUrlEncoded Methods parseFormKey :: Text -> Either Text All | |
ToFormKey All | |
Defined in Web.Internal.FormUrlEncoded | |
BoundedJoinSemiLattice All | |
Defined in Algebra.Lattice | |
BoundedMeetSemiLattice All | |
Defined in Algebra.Lattice | |
Lattice All | |
Semigroup All | |
Defined in Data.Monoid.Linear.Internal.Semigroup | |
Vector Vector All | |
Defined in Data.Vector.Unboxed.Base Methods basicUnsafeFreeze :: PrimMonad m => Mutable Vector (PrimState m) All -> m (Vector All) basicUnsafeThaw :: PrimMonad m => Vector All -> m (Mutable Vector (PrimState m) All) basicLength :: Vector All -> Int basicUnsafeSlice :: Int -> Int -> Vector All -> Vector All basicUnsafeIndexM :: Monad m => Vector All -> Int -> m All basicUnsafeCopy :: PrimMonad m => Mutable Vector (PrimState m) All -> Vector All -> m () | |
MVector MVector All | |
Defined in Data.Vector.Unboxed.Base Methods basicLength :: MVector s All -> Int basicUnsafeSlice :: Int -> Int -> MVector s All -> MVector s All basicOverlaps :: MVector s All -> MVector s All -> Bool basicUnsafeNew :: PrimMonad m => Int -> m (MVector (PrimState m) All) basicInitialize :: PrimMonad m => MVector (PrimState m) All -> m () basicUnsafeReplicate :: PrimMonad m => Int -> All -> m (MVector (PrimState m) All) basicUnsafeRead :: PrimMonad m => MVector (PrimState m) All -> Int -> m All basicUnsafeWrite :: PrimMonad m => MVector (PrimState m) All -> Int -> All -> m () basicClear :: PrimMonad m => MVector (PrimState m) All -> m () basicSet :: PrimMonad m => MVector (PrimState m) All -> All -> m () basicUnsafeCopy :: PrimMonad m => MVector (PrimState m) All -> MVector (PrimState m) All -> m () basicUnsafeMove :: PrimMonad m => MVector (PrimState m) All -> MVector (PrimState m) All -> m () basicUnsafeGrow :: PrimMonad m => MVector (PrimState m) All -> Int -> m (MVector (PrimState m) All) | |
t ~ All => Rewrapped All t | |
Defined in Control.Lens.Wrapped | |
type Rep All | |
Defined in Data.Semigroup.Internal | |
newtype Vector All | |
Defined in Data.Vector.Unboxed.Base | |
type Cardinality All | |
Defined in Data.Finitary | |
type Unwrapped All | |
Defined in Control.Lens.Wrapped | |
newtype MVector s All | |
Defined in Data.Vector.Unboxed.Base |
lines
breaks a string up into a list of strings at newline
characters. The resulting strings do not contain newlines.
Note that after splitting the string at newline characters, the last part of the string is considered a line even if it doesn't end with a newline. For example,
>>>
lines ""
[]
>>>
lines "\n"
[""]
>>>
lines "one"
["one"]
>>>
lines "one\n"
["one"]
>>>
lines "one\n\n"
["one",""]
>>>
lines "one\ntwo"
["one","two"]
>>>
lines "one\ntwo\n"
["one","two"]
Thus
contains at least as many elements as newlines in lines
ss
.
words
breaks a string up into a list of words, which were delimited
by white space.
>>>
words "Lorem ipsum\ndolor"
["Lorem","ipsum","dolor"]
traverse_ :: (Foldable t, Applicative f) => (a -> f b) -> t a -> f () #
Map each element of a structure to an Applicative
action, evaluate these
actions from left to right, and ignore the results. For a version that
doesn't ignore the results see traverse
.
traverse_
is just like mapM_
, but generalised to Applicative
actions.
Examples
Basic usage:
>>>
traverse_ print ["Hello", "world", "!"]
"Hello" "world" "!"
for_ :: (Foldable t, Applicative f) => t a -> (a -> f b) -> f () #
for_
is traverse_
with its arguments flipped. For a version
that doesn't ignore the results see for
. This
is forM_
generalised to Applicative
actions.
for_
is just like forM_
, but generalised to Applicative
actions.
Examples
Basic usage:
>>>
for_ [1..4] print
1 2 3 4
sequence_ :: (Foldable t, Monad m) => t (m a) -> m () #
Evaluate each monadic action in the structure from left to right,
and ignore the results. For a version that doesn't ignore the
results see sequence
.
sequence_
is just like sequenceA_
, but specialised to monadic
actions.
concat :: Foldable t => t [a] -> [a] #
The concatenation of all the elements of a container of lists.
Examples
Basic usage:
>>>
concat (Just [1, 2, 3])
[1,2,3]
>>>
concat (Left 42)
[]
>>>
concat [[1, 2, 3], [4, 5], [6], []]
[1,2,3,4,5,6]
concatMap :: Foldable t => (a -> [b]) -> t a -> [b] #
Map a function over all the elements of a container and concatenate the resulting lists.
Examples
Basic usage:
>>>
concatMap (take 3) [[1..], [10..], [100..], [1000..]]
[1,2,3,10,11,12,100,101,102,1000,1001,1002]
>>>
concatMap (take 3) (Just [1..])
[1,2,3]
and :: Foldable t => t Bool -> Bool #
and
returns the conjunction of a container of Bools. For the
result to be True
, the container must be finite; False
, however,
results from a False
value finitely far from the left end.
Examples
Basic usage:
>>>
and []
True
>>>
and [True]
True
>>>
and [False]
False
>>>
and [True, True, False]
False
>>>
and (False : repeat True) -- Infinite list [False,True,True,True,...
False
>>>
and (repeat True)
* Hangs forever *
or :: Foldable t => t Bool -> Bool #
or
returns the disjunction of a container of Bools. For the
result to be False
, the container must be finite; True
, however,
results from a True
value finitely far from the left end.
Examples
Basic usage:
>>>
or []
False
>>>
or [True]
True
>>>
or [False]
False
>>>
or [True, True, False]
True
>>>
or (True : repeat False) -- Infinite list [True,False,False,False,...
True
>>>
or (repeat False)
* Hangs forever *
any :: Foldable t => (a -> Bool) -> t a -> Bool #
Determines whether any element of the structure satisfies the predicate.
Examples
Basic usage:
>>>
any (> 3) []
False
>>>
any (> 3) [1,2]
False
>>>
any (> 3) [1,2,3,4,5]
True
>>>
any (> 3) [1..]
True
>>>
any (> 3) [0, -1..]
* Hangs forever *
all :: Foldable t => (a -> Bool) -> t a -> Bool #
Determines whether all elements of the structure satisfy the predicate.
Examples
Basic usage:
>>>
all (> 3) []
True
>>>
all (> 3) [1,2]
False
>>>
all (> 3) [1,2,3,4,5]
False
>>>
all (> 3) [1..]
False
>>>
all (> 3) [4..]
* Hangs forever *
notElem :: (Foldable t, Eq a) => a -> t a -> Bool infix 4 #
notElem
is the negation of elem
.
Examples
Basic usage:
>>>
3 `notElem` []
True
>>>
3 `notElem` [1,2]
True
>>>
3 `notElem` [1,2,3,4,5]
False
For infinite structures, notElem
terminates if the value exists at a
finite distance from the left side of the structure:
>>>
3 `notElem` [1..]
False
>>>
3 `notElem` ([4..] ++ [3])
* Hangs forever *
The Const
functor.
Instances
Generic1 (Const a :: k -> Type) | Since: base-4.9.0.0 |
FoldableWithIndex Void (Const e :: Type -> Type) | |
Defined in WithIndex | |
FunctorWithIndex Void (Const e :: Type -> Type) | |
TraversableWithIndex Void (Const e :: Type -> Type) | |
Monoid a => ApplicativeB (Const a :: (k -> Type) -> Type) | |
ConstraintsB (Const a :: (k -> Type) -> Type) | |
Defined in Barbies.Internal.ConstraintsB Associated Types type AllB c (Const a) | |
FunctorB (Const x :: (k -> Type) -> Type) | |
Defined in Barbies.Internal.FunctorB | |
TraversableB (Const a :: (k -> Type) -> Type) | |
Defined in Barbies.Internal.TraversableB Methods btraverse :: Applicative e => (forall (a0 :: k0). f a0 -> e (g a0)) -> Const a f -> e (Const a g) | |
Unbox a => Vector Vector (Const a b) | |
Defined in Data.Vector.Unboxed.Base Methods basicUnsafeFreeze :: PrimMonad m => Mutable Vector (PrimState m) (Const a b) -> m (Vector (Const a b)) basicUnsafeThaw :: PrimMonad m => Vector (Const a b) -> m (Mutable Vector (PrimState m) (Const a b)) basicLength :: Vector (Const a b) -> Int basicUnsafeSlice :: Int -> Int -> Vector (Const a b) -> Vector (Const a b) basicUnsafeIndexM :: Monad m => Vector (Const a b) -> Int -> m (Const a b) basicUnsafeCopy :: PrimMonad m => Mutable Vector (PrimState m) (Const a b) -> Vector (Const a b) -> m () | |
Unbox a => MVector MVector (Const a b) | |
Defined in Data.Vector.Unboxed.Base Methods basicLength :: MVector s (Const a b) -> Int basicUnsafeSlice :: Int -> Int -> MVector s (Const a b) -> MVector s (Const a b) basicOverlaps :: MVector s (Const a b) -> MVector s (Const a b) -> Bool basicUnsafeNew :: PrimMonad m => Int -> m (MVector (PrimState m) (Const a b)) basicInitialize :: PrimMonad m => MVector (PrimState m) (Const a b) -> m () basicUnsafeReplicate :: PrimMonad m => Int -> Const a b -> m (MVector (PrimState m) (Const a b)) basicUnsafeRead :: PrimMonad m => MVector (PrimState m) (Const a b) -> Int -> m (Const a b) basicUnsafeWrite :: PrimMonad m => MVector (PrimState m) (Const a b) -> Int -> Const a b -> m () basicClear :: PrimMonad m => MVector (PrimState m) (Const a b) -> m () basicSet :: PrimMonad m => MVector (PrimState m) (Const a b) -> Const a b -> m () basicUnsafeCopy :: PrimMonad m => MVector (PrimState m) (Const a b) -> MVector (PrimState m) (Const a b) -> m () basicUnsafeMove :: PrimMonad m => MVector (PrimState m) (Const a b) -> MVector (PrimState m) (Const a b) -> m () basicUnsafeGrow :: PrimMonad m => MVector (PrimState m) (Const a b) -> Int -> m (MVector (PrimState m) (Const a b)) | |
Bitraversable (Const :: Type -> Type -> Type) | Since: base-4.10.0.0 |
Defined in Data.Bitraversable Methods bitraverse :: Applicative f => (a -> f c) -> (b -> f d) -> Const a b -> f (Const c d) # | |
Bifoldable (Const :: Type -> Type -> Type) | Since: base-4.10.0.0 |
Bifunctor (Const :: Type -> Type -> Type) | Since: base-4.8.0.0 |
Eq2 (Const :: Type -> Type -> Type) | Since: base-4.9.0.0 |
Ord2 (Const :: Type -> Type -> Type) | Since: base-4.9.0.0 |
Defined in Data.Functor.Classes | |
Read2 (Const :: Type -> Type -> Type) | Since: base-4.9.0.0 |
Defined in Data.Functor.Classes Methods liftReadsPrec2 :: (Int -> ReadS a) -> ReadS [a] -> (Int -> ReadS b) -> ReadS [b] -> Int -> ReadS (Const a b) # liftReadList2 :: (Int -> ReadS a) -> ReadS [a] -> (Int -> ReadS b) -> ReadS [b] -> ReadS [Const a b] # liftReadPrec2 :: ReadPrec a -> ReadPrec [a] -> ReadPrec b -> ReadPrec [b] -> ReadPrec (Const a b) # liftReadListPrec2 :: ReadPrec a -> ReadPrec [a] -> ReadPrec b -> ReadPrec [b] -> ReadPrec [Const a b] # | |
Show2 (Const :: Type -> Type -> Type) | Since: base-4.9.0.0 |
NFData2 (Const :: Type -> Type -> Type) | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
Biapplicative (Const :: Type -> Type -> Type) | |
Hashable2 (Const :: Type -> Type -> Type) | |
Defined in Data.Hashable.Class | |
Bifoldable1 (Const :: Type -> Type -> Type) | |
Defined in Data.Semigroup.Foldable.Class | |
FromJSON2 (Const :: Type -> Type -> Type) | |
Defined in Data.Aeson.Types.FromJSON Methods liftParseJSON2 :: (Value -> Parser a) -> (Value -> Parser [a]) -> (Value -> Parser b) -> (Value -> Parser [b]) -> Value -> Parser (Const a b) liftParseJSONList2 :: (Value -> Parser a) -> (Value -> Parser [a]) -> (Value -> Parser b) -> (Value -> Parser [b]) -> Value -> Parser [Const a b] | |
ToJSON2 (Const :: Type -> Type -> Type) | |
Defined in Data.Aeson.Types.ToJSON Methods liftToJSON2 :: (a -> Value) -> ([a] -> Value) -> (b -> Value) -> ([b] -> Value) -> Const a b -> Value liftToJSONList2 :: (a -> Value) -> ([a] -> Value) -> (b -> Value) -> ([b] -> Value) -> [Const a b] -> Value liftToEncoding2 :: (a -> Encoding) -> ([a] -> Encoding) -> (b -> Encoding) -> ([b] -> Encoding) -> Const a b -> Encoding liftToEncodingList2 :: (a -> Encoding) -> ([a] -> Encoding) -> (b -> Encoding) -> ([b] -> Encoding) -> [Const a b] -> Encoding | |
Bitraversable1 (Const :: Type -> Type -> Type) | |
Defined in Data.Semigroup.Traversable.Class Methods bitraverse1 :: Apply f => (a -> f b) -> (c -> f d) -> Const a c -> f (Const b d) bisequence1 :: Apply f => Const (f a) (f b) -> f (Const a b) | |
Biapply (Const :: Type -> Type -> Type) | |
Functor (Const m :: Type -> Type) | Since: base-2.1 |
Monoid m => Applicative (Const m :: Type -> Type) | Since: base-2.0.1 |
Foldable (Const m :: Type -> Type) | Since: base-4.7.0.0 |
Defined in Data.Functor.Const Methods fold :: Monoid m0 => Const m m0 -> m0 # foldMap :: Monoid m0 => (a -> m0) -> Const m a -> m0 # foldMap' :: Monoid m0 => (a -> m0) -> Const m a -> m0 # foldr :: (a -> b -> b) -> b -> Const m a -> b # foldr' :: (a -> b -> b) -> b -> Const m a -> b # foldl :: (b -> a -> b) -> b -> Const m a -> b # foldl' :: (b -> a -> b) -> b -> Const m a -> b # foldr1 :: (a -> a -> a) -> Const m a -> a # foldl1 :: (a -> a -> a) -> Const m a -> a # elem :: Eq a => a -> Const m a -> Bool # maximum :: Ord a => Const m a -> a # minimum :: Ord a => Const m a -> a # | |
Traversable (Const m :: Type -> Type) | Since: base-4.7.0.0 |
Contravariant (Const a :: Type -> Type) | |
Eq a => Eq1 (Const a :: Type -> Type) | Since: base-4.9.0.0 |
Ord a => Ord1 (Const a :: Type -> Type) | Since: base-4.9.0.0 |
Defined in Data.Functor.Classes | |
Read a => Read1 (Const a :: Type -> Type) | Since: base-4.9.0.0 |
Defined in Data.Functor.Classes Methods liftReadsPrec :: (Int -> ReadS a0) -> ReadS [a0] -> Int -> ReadS (Const a a0) # liftReadList :: (Int -> ReadS a0) -> ReadS [a0] -> ReadS [Const a a0] # liftReadPrec :: ReadPrec a0 -> ReadPrec [a0] -> ReadPrec (Const a a0) # liftReadListPrec :: ReadPrec a0 -> ReadPrec [a0] -> ReadPrec [Const a a0] # | |
Show a => Show1 (Const a :: Type -> Type) | Since: base-4.9.0.0 |
NFData a => NFData1 (Const a :: Type -> Type) | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
Hashable a => Hashable1 (Const a :: Type -> Type) | |
Defined in Data.Hashable.Class | |
Semigroup m => Apply (Const m :: Type -> Type) | |
FromJSON a => FromJSON1 (Const a :: Type -> Type) | |
Defined in Data.Aeson.Types.FromJSON Methods liftParseJSON :: (Value -> Parser a0) -> (Value -> Parser [a0]) -> Value -> Parser (Const a a0) liftParseJSONList :: (Value -> Parser a0) -> (Value -> Parser [a0]) -> Value -> Parser [Const a a0] | |
ToJSON a => ToJSON1 (Const a :: Type -> Type) | |
Defined in Data.Aeson.Types.ToJSON Methods liftToJSON :: (a0 -> Value) -> ([a0] -> Value) -> Const a a0 -> Value liftToJSONList :: (a0 -> Value) -> ([a0] -> Value) -> [Const a a0] -> Value liftToEncoding :: (a0 -> Encoding) -> ([a0] -> Encoding) -> Const a a0 -> Encoding liftToEncodingList :: (a0 -> Encoding) -> ([a0] -> Encoding) -> [Const a a0] -> Encoding | |
Sieve (Forget r :: Type -> Type -> Type) (Const r :: Type -> Type) | |
Defined in Data.Profunctor.Sieve | |
Bounded a => Bounded (Const a b) | Since: base-4.9.0.0 |
Enum a => Enum (Const a b) | Since: base-4.9.0.0 |
Defined in Data.Functor.Const Methods succ :: Const a b -> Const a b # pred :: Const a b -> Const a b # fromEnum :: Const a b -> Int # enumFrom :: Const a b -> [Const a b] # enumFromThen :: Const a b -> Const a b -> [Const a b] # enumFromTo :: Const a b -> Const a b -> [Const a b] # enumFromThenTo :: Const a b -> Const a b -> Const a b -> [Const a b] # | |
Eq a => Eq (Const a b) | Since: base-4.9.0.0 |
Floating a => Floating (Const a b) | Since: base-4.9.0.0 |
Defined in Data.Functor.Const Methods exp :: Const a b -> Const a b # log :: Const a b -> Const a b # sqrt :: Const a b -> Const a b # (**) :: Const a b -> Const a b -> Const a b # logBase :: Const a b -> Const a b -> Const a b # sin :: Const a b -> Const a b # cos :: Const a b -> Const a b # tan :: Const a b -> Const a b # asin :: Const a b -> Const a b # acos :: Const a b -> Const a b # atan :: Const a b -> Const a b # sinh :: Const a b -> Const a b # cosh :: Const a b -> Const a b # tanh :: Const a b -> Const a b # asinh :: Const a b -> Const a b # acosh :: Const a b -> Const a b # atanh :: Const a b -> Const a b # log1p :: Const a b -> Const a b # expm1 :: Const a b -> Const a b # | |
Fractional a => Fractional (Const a b) | Since: base-4.9.0.0 |
Integral a => Integral (Const a b) | Since: base-4.9.0.0 |
Defined in Data.Functor.Const Methods quot :: Const a b -> Const a b -> Const a b # rem :: Const a b -> Const a b -> Const a b # div :: Const a b -> Const a b -> Const a b # mod :: Const a b -> Const a b -> Const a b # quotRem :: Const a b -> Const a b -> (Const a b, Const a b) # divMod :: Const a b -> Const a b -> (Const a b, Const a b) # | |
(Typeable k, Data a, Typeable b) => Data (Const a b) | Since: base-4.10.0.0 |
Defined in Data.Data Methods gfoldl :: (forall d b0. Data d => c (d -> b0) -> d -> c b0) -> (forall g. g -> c g) -> Const a b -> c (Const a b) # gunfold :: (forall b0 r. Data b0 => c (b0 -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Const a b) # toConstr :: Const a b -> Constr # dataTypeOf :: Const a b -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Const a b)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Const a b)) # gmapT :: (forall b0. Data b0 => b0 -> b0) -> Const a b -> Const a b # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Const a b -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Const a b -> r # gmapQ :: (forall d. Data d => d -> u) -> Const a b -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Const a b -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Const a b -> m (Const a b) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Const a b -> m (Const a b) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Const a b -> m (Const a b) # | |
Num a => Num (Const a b) | Since: base-4.9.0.0 |
Defined in Data.Functor.Const | |
Ord a => Ord (Const a b) | Since: base-4.9.0.0 |
Read a => Read (Const a b) | This instance would be equivalent to the derived instances of the
Since: base-4.8.0.0 |
Real a => Real (Const a b) | Since: base-4.9.0.0 |
Defined in Data.Functor.Const Methods toRational :: Const a b -> Rational # | |
RealFloat a => RealFloat (Const a b) | Since: base-4.9.0.0 |
Defined in Data.Functor.Const Methods floatRadix :: Const a b -> Integer # floatDigits :: Const a b -> Int # floatRange :: Const a b -> (Int, Int) # decodeFloat :: Const a b -> (Integer, Int) # encodeFloat :: Integer -> Int -> Const a b # exponent :: Const a b -> Int # significand :: Const a b -> Const a b # scaleFloat :: Int -> Const a b -> Const a b # isInfinite :: Const a b -> Bool # isDenormalized :: Const a b -> Bool # isNegativeZero :: Const a b -> Bool # | |
RealFrac a => RealFrac (Const a b) | Since: base-4.9.0.0 |
Show a => Show (Const a b) | This instance would be equivalent to the derived instances of the
Since: base-4.8.0.0 |
Ix a => Ix (Const a b) | Since: base-4.9.0.0 |
Defined in Data.Functor.Const Methods range :: (Const a b, Const a b) -> [Const a b] # index :: (Const a b, Const a b) -> Const a b -> Int # unsafeIndex :: (Const a b, Const a b) -> Const a b -> Int # inRange :: (Const a b, Const a b) -> Const a b -> Bool # rangeSize :: (Const a b, Const a b) -> Int # unsafeRangeSize :: (Const a b, Const a b) -> Int # | |
IsString a => IsString (Const a b) | Since: base-4.9.0.0 |
Defined in Data.String Methods fromString :: String -> Const a b # | |
Generic (Const a b) | Since: base-4.9.0.0 |
Semigroup a => Semigroup (Const a b) | Since: base-4.9.0.0 |
Monoid a => Monoid (Const a b) | Since: base-4.9.0.0 |
NFData a => NFData (Const a b) | Since: deepseq-1.4.0.0 |
Defined in Control.DeepSeq | |
Storable a => Storable (Const a b) | Since: base-4.9.0.0 |
Defined in Data.Functor.Const | |
Bits a => Bits (Const a b) | Since: base-4.9.0.0 |
Defined in Data.Functor.Const Methods (.&.) :: Const a b -> Const a b -> Const a b # (.|.) :: Const a b -> Const a b -> Const a b # xor :: Const a b -> Const a b -> Const a b # complement :: Const a b -> Const a b # shift :: Const a b -> Int -> Const a b # rotate :: Const a b -> Int -> Const a b # setBit :: Const a b -> Int -> Const a b # clearBit :: Const a b -> Int -> Const a b # complementBit :: Const a b -> Int -> Const a b # testBit :: Const a b -> Int -> Bool # bitSizeMaybe :: Const a b -> Maybe Int # isSigned :: Const a b -> Bool # shiftL :: Const a b -> Int -> Const a b # unsafeShiftL :: Const a b -> Int -> Const a b # shiftR :: Const a b -> Int -> Const a b # unsafeShiftR :: Const a b -> Int -> Const a b # rotateL :: Const a b -> Int -> Const a b # | |
FiniteBits a => FiniteBits (Const a b) | Since: base-4.9.0.0 |
Defined in Data.Functor.Const Methods finiteBitSize :: Const a b -> Int # countLeadingZeros :: Const a b -> Int # countTrailingZeros :: Const a b -> Int # | |
Hashable a => Hashable (Const a b) | |
Defined in Data.Hashable.Class | |
Finitary a => Finitary (Const a b) | |
Defined in Data.Finitary | |
Unbox a => Unbox (Const a b) | |
Defined in Data.Vector.Unboxed.Base | |
Prim a => Prim (Const a b) | |
Defined in Data.Primitive.Types Methods alignment# :: Const a b -> Int# indexByteArray# :: ByteArray# -> Int# -> Const a b readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Const a b #) writeByteArray# :: MutableByteArray# s -> Int# -> Const a b -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Const a b -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> Const a b readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Const a b #) writeOffAddr# :: Addr# -> Int# -> Const a b -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> Const a b -> State# s -> State# s | |
Wrapped (Const a x) | |
Abelian a => Abelian (Const a x) | |
Defined in Data.Group | |
Cyclic a => Cyclic (Const a x) | |
Defined in Data.Group | |
Group a => Group (Const a x) | |
FromJSON a => FromJSON (Const a b) | |
Defined in Data.Aeson.Types.FromJSON | |
ToJSON a => ToJSON (Const a b) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Const a b -> Encoding toJSONList :: [Const a b] -> Value toEncodingList :: [Const a b] -> Encoding | |
(FromJSON a, FromJSONKey a) => FromJSONKey (Const a b) | |
Defined in Data.Aeson.Types.FromJSON Methods fromJSONKey :: FromJSONKeyFunction (Const a b) fromJSONKeyList :: FromJSONKeyFunction [Const a b] | |
(ToJSON a, ToJSONKey a) => ToJSONKey (Const a b) | |
Defined in Data.Aeson.Types.ToJSON | |
FromFormKey a => FromFormKey (Const a b) | |
Defined in Web.Internal.FormUrlEncoded Methods parseFormKey :: Text -> Either Text (Const a b) | |
ToFormKey a => ToFormKey (Const a b) | |
Defined in Web.Internal.FormUrlEncoded | |
Ring a => Ring (Const a b) | |
Defined in Data.Semiring | |
Semiring a => Semiring (Const a b) | |
BoundedJoinSemiLattice a => BoundedJoinSemiLattice (Const a b) | |
Defined in Algebra.Lattice | |
BoundedMeetSemiLattice a => BoundedMeetSemiLattice (Const a b) | |
Defined in Algebra.Lattice | |
Lattice a => Lattice (Const a b) | |
MonoFoldable (Const m a) | |
Defined in Data.MonoTraversable Methods ofoldMap :: Monoid m0 => (Element (Const m a) -> m0) -> Const m a -> m0 ofoldr :: (Element (Const m a) -> b -> b) -> b -> Const m a -> b ofoldl' :: (a0 -> Element (Const m a) -> a0) -> a0 -> Const m a -> a0 otoList :: Const m a -> [Element (Const m a)] oall :: (Element (Const m a) -> Bool) -> Const m a -> Bool oany :: (Element (Const m a) -> Bool) -> Const m a -> Bool olength64 :: Const m a -> Int64 ocompareLength :: Integral i => Const m a -> i -> Ordering otraverse_ :: Applicative f => (Element (Const m a) -> f b) -> Const m a -> f () ofor_ :: Applicative f => Const m a -> (Element (Const m a) -> f b) -> f () omapM_ :: Applicative m0 => (Element (Const m a) -> m0 ()) -> Const m a -> m0 () oforM_ :: Applicative m0 => Const m a -> (Element (Const m a) -> m0 ()) -> m0 () ofoldlM :: Monad m0 => (a0 -> Element (Const m a) -> m0 a0) -> a0 -> Const m a -> m0 a0 ofoldMap1Ex :: Semigroup m0 => (Element (Const m a) -> m0) -> Const m a -> m0 ofoldr1Ex :: (Element (Const m a) -> Element (Const m a) -> Element (Const m a)) -> Const m a -> Element (Const m a) ofoldl1Ex' :: (Element (Const m a) -> Element (Const m a) -> Element (Const m a)) -> Const m a -> Element (Const m a) headEx :: Const m a -> Element (Const m a) lastEx :: Const m a -> Element (Const m a) unsafeHead :: Const m a -> Element (Const m a) unsafeLast :: Const m a -> Element (Const m a) maximumByEx :: (Element (Const m a) -> Element (Const m a) -> Ordering) -> Const m a -> Element (Const m a) minimumByEx :: (Element (Const m a) -> Element (Const m a) -> Ordering) -> Const m a -> Element (Const m a) | |
MonoFunctor (Const m a) | |
Monoid m => MonoPointed (Const m a) | |
Defined in Data.MonoTraversable | |
MonoTraversable (Const m a) | |
Defined in Data.MonoTraversable | |
t ~ Const a' x' => Rewrapped (Const a x) t | |
Defined in Control.Lens.Wrapped | |
type AllB (c :: k -> Constraint) (Const a :: (k -> Type) -> Type) | |
Defined in Barbies.Internal.ConstraintsB | |
type Rep1 (Const a :: k -> Type) | |
Defined in Data.Functor.Const | |
newtype MVector s (Const a b) | |
Defined in Data.Vector.Unboxed.Base | |
type Rep (Const a b) | |
Defined in Data.Functor.Const | |
newtype Vector (Const a b) | |
Defined in Data.Vector.Unboxed.Base | |
type Cardinality (Const a b) | |
Defined in Data.Finitary | |
type Unwrapped (Const a x) | |
Defined in Control.Lens.Wrapped | |
type Element (Const m a) | |
Defined in Data.MonoTraversable type Element (Const m a) = a |
Identity functor and monad. (a non-strict monad)
Since: base-4.8.0.0
Constructors
Identity | |
Fields
|
Instances
Monad Identity | Since: base-4.8.0.0 |
Functor Identity | Since: base-4.8.0.0 |
MonadFix Identity | Since: base-4.8.0.0 |
Defined in Data.Functor.Identity | |
Applicative Identity | Since: base-4.8.0.0 |
Foldable Identity | Since: base-4.8.0.0 |
Defined in Data.Functor.Identity Methods fold :: Monoid m => Identity m -> m # foldMap :: Monoid m => (a -> m) -> Identity a -> m # foldMap' :: Monoid m => (a -> m) -> Identity a -> m # foldr :: (a -> b -> b) -> b -> Identity a -> b # foldr' :: (a -> b -> b) -> b -> Identity a -> b # foldl :: (b -> a -> b) -> b -> Identity a -> b # foldl' :: (b -> a -> b) -> b -> Identity a -> b # foldr1 :: (a -> a -> a) -> Identity a -> a # foldl1 :: (a -> a -> a) -> Identity a -> a # elem :: Eq a => a -> Identity a -> Bool # maximum :: Ord a => Identity a -> a # minimum :: Ord a => Identity a -> a # | |
Traversable Identity | Since: base-4.9.0.0 |
Eq1 Identity | Since: base-4.9.0.0 |
Ord1 Identity | Since: base-4.9.0.0 |
Defined in Data.Functor.Classes | |
Read1 Identity | Since: base-4.9.0.0 |
Defined in Data.Functor.Classes | |
Show1 Identity | Since: base-4.9.0.0 |
NFData1 Identity | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
Hashable1 Identity | |
Defined in Data.Hashable.Class | |
Comonad Identity | |
Apply Identity | |
Bind Identity | |
ComonadApply Identity | |
Distributive Identity | |
Representable Identity | |
Foldable1 Identity | |
Defined in Data.Semigroup.Foldable.Class | |
Traversable1 Identity | |
Settable Identity | |
Defined in Control.Lens.Internal.Setter Methods untaintedDot :: Profunctor p => p a (Identity b) -> p a b taintedDot :: Profunctor p => p a b -> p a (Identity b) | |
Metric Identity | |
R1 Identity | |
Additive Identity | |
Defined in Linear.Vector Methods (^+^) :: Num a => Identity a -> Identity a -> Identity a (^-^) :: Num a => Identity a -> Identity a -> Identity a lerp :: Num a => a -> Identity a -> Identity a -> Identity a liftU2 :: (a -> a -> a) -> Identity a -> Identity a -> Identity a liftI2 :: (a -> b -> c) -> Identity a -> Identity b -> Identity c | |
FromJSON1 Identity | |
Defined in Data.Aeson.Types.FromJSON Methods liftParseJSON :: (Value -> Parser a) -> (Value -> Parser [a]) -> Value -> Parser (Identity a) liftParseJSONList :: (Value -> Parser a) -> (Value -> Parser [a]) -> Value -> Parser [Identity a] | |
ToJSON1 Identity | |
Defined in Data.Aeson.Types.ToJSON Methods liftToJSON :: (a -> Value) -> ([a] -> Value) -> Identity a -> Value liftToJSONList :: (a -> Value) -> ([a] -> Value) -> [Identity a] -> Value liftToEncoding :: (a -> Encoding) -> ([a] -> Encoding) -> Identity a -> Encoding liftToEncodingList :: (a -> Encoding) -> ([a] -> Encoding) -> [Identity a] -> Encoding | |
TemplateMonad Identity | |
Defined in Text.DocTemplates.Internal Methods getPartial :: FilePath -> Identity Text | |
FoldableWithIndex () Identity | |
Defined in WithIndex | |
FunctorWithIndex () Identity | |
TraversableWithIndex () Identity | |
Cosieve ReifiedGetter Identity | |
Defined in Control.Lens.Reified Methods cosieve :: ReifiedGetter a b -> Identity a -> b | |
Sieve ReifiedGetter Identity | |
Defined in Control.Lens.Reified Methods sieve :: ReifiedGetter a b -> a -> Identity b | |
MonadBaseControl Identity Identity | |
Defined in Control.Monad.Trans.Control Associated Types type StM Identity a | |
ks |- Profunctor => ADT_ nullary Identity ks Par1 Par1 | |
Defined in Generics.OneLiner.Internal | |
ks |- Profunctor => ADT_ nullary Identity ks (Rec1 f) (Rec1 f') | |
Defined in Generics.OneLiner.Internal | |
ks |- Profunctor => ADT_ Identity unary ks (K1 i v :: Type -> Type) (K1 i' v' :: Type -> Type) | |
Defined in Generics.OneLiner.Internal | |
(ks |- Profunctor, ADT_ nullary Identity ks g g') => ADT_ nullary Identity ks (f :.: g) (f' :.: g') | |
Defined in Generics.OneLiner.Internal Methods generic_ :: (Constraints' (f :.: g) (f' :.: g') c c1, Satisfies p ks) => Proxy c -> (forall s s'. c s s' => nullary (p s s')) -> Proxy c1 -> (forall (r1 :: Type -> Type) (s1 :: Type -> Type) d e. c1 r1 s1 => Identity (p d e -> p (r1 d) (s1 e))) -> Identity (p a b) -> p ((f :.: g) a) ((f' :.: g') b) | |
Unbox a => Vector Vector (Identity a) | |
Defined in Data.Vector.Unboxed.Base Methods basicUnsafeFreeze :: PrimMonad m => Mutable Vector (PrimState m) (Identity a) -> m (Vector (Identity a)) basicUnsafeThaw :: PrimMonad m => Vector (Identity a) -> m (Mutable Vector (PrimState m) (Identity a)) basicLength :: Vector (Identity a) -> Int basicUnsafeSlice :: Int -> Int -> Vector (Identity a) -> Vector (Identity a) basicUnsafeIndexM :: Monad m => Vector (Identity a) -> Int -> m (Identity a) basicUnsafeCopy :: PrimMonad m => Mutable Vector (PrimState m) (Identity a) -> Vector (Identity a) -> m () | |
Unbox a => MVector MVector (Identity a) | |
Defined in Data.Vector.Unboxed.Base Methods basicLength :: MVector s (Identity a) -> Int basicUnsafeSlice :: Int -> Int -> MVector s (Identity a) -> MVector s (Identity a) basicOverlaps :: MVector s (Identity a) -> MVector s (Identity a) -> Bool basicUnsafeNew :: PrimMonad m => Int -> m (MVector (PrimState m) (Identity a)) basicInitialize :: PrimMonad m => MVector (PrimState m) (Identity a) -> m () basicUnsafeReplicate :: PrimMonad m => Int -> Identity a -> m (MVector (PrimState m) (Identity a)) basicUnsafeRead :: PrimMonad m => MVector (PrimState m) (Identity a) -> Int -> m (Identity a) basicUnsafeWrite :: PrimMonad m => MVector (PrimState m) (Identity a) -> Int -> Identity a -> m () basicClear :: PrimMonad m => MVector (PrimState m) (Identity a) -> m () basicSet :: PrimMonad m => MVector (PrimState m) (Identity a) -> Identity a -> m () basicUnsafeCopy :: PrimMonad m => MVector (PrimState m) (Identity a) -> MVector (PrimState m) (Identity a) -> m () basicUnsafeMove :: PrimMonad m => MVector (PrimState m) (Identity a) -> MVector (PrimState m) (Identity a) -> m () basicUnsafeGrow :: PrimMonad m => MVector (PrimState m) (Identity a) -> Int -> m (MVector (PrimState m) (Identity a)) | |
Bounded a => Bounded (Identity a) | Since: base-4.9.0.0 |
Enum a => Enum (Identity a) | Since: base-4.9.0.0 |
Defined in Data.Functor.Identity Methods succ :: Identity a -> Identity a # pred :: Identity a -> Identity a # fromEnum :: Identity a -> Int # enumFrom :: Identity a -> [Identity a] # enumFromThen :: Identity a -> Identity a -> [Identity a] # enumFromTo :: Identity a -> Identity a -> [Identity a] # enumFromThenTo :: Identity a -> Identity a -> Identity a -> [Identity a] # | |
Eq a => Eq (Identity a) | Since: base-4.8.0.0 |
Floating a => Floating (Identity a) | Since: base-4.9.0.0 |
Defined in Data.Functor.Identity Methods exp :: Identity a -> Identity a # log :: Identity a -> Identity a # sqrt :: Identity a -> Identity a # (**) :: Identity a -> Identity a -> Identity a # logBase :: Identity a -> Identity a -> Identity a # sin :: Identity a -> Identity a # cos :: Identity a -> Identity a # tan :: Identity a -> Identity a # asin :: Identity a -> Identity a # acos :: Identity a -> Identity a # atan :: Identity a -> Identity a # sinh :: Identity a -> Identity a # cosh :: Identity a -> Identity a # tanh :: Identity a -> Identity a # asinh :: Identity a -> Identity a # acosh :: Identity a -> Identity a # atanh :: Identity a -> Identity a # log1p :: Identity a -> Identity a # expm1 :: Identity a -> Identity a # | |
Fractional a => Fractional (Identity a) | Since: base-4.9.0.0 |
Integral a => Integral (Identity a) | Since: base-4.9.0.0 |
Defined in Data.Functor.Identity Methods quot :: Identity a -> Identity a -> Identity a # rem :: Identity a -> Identity a -> Identity a # div :: Identity a -> Identity a -> Identity a # mod :: Identity a -> Identity a -> Identity a # quotRem :: Identity a -> Identity a -> (Identity a, Identity a) # divMod :: Identity a -> Identity a -> (Identity a, Identity a) # | |
Data a => Data (Identity a) | Since: base-4.9.0.0 |
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Identity a -> c (Identity a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Identity a) # toConstr :: Identity a -> Constr # dataTypeOf :: Identity a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Identity a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Identity a)) # gmapT :: (forall b. Data b => b -> b) -> Identity a -> Identity a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Identity a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Identity a -> r # gmapQ :: (forall d. Data d => d -> u) -> Identity a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Identity a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Identity a -> m (Identity a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Identity a -> m (Identity a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Identity a -> m (Identity a) # | |
Num a => Num (Identity a) | Since: base-4.9.0.0 |
Defined in Data.Functor.Identity | |
Ord a => Ord (Identity a) | Since: base-4.8.0.0 |
Defined in Data.Functor.Identity | |
Read a => Read (Identity a) | This instance would be equivalent to the derived instances of the
Since: base-4.8.0.0 |
Real a => Real (Identity a) | Since: base-4.9.0.0 |
Defined in Data.Functor.Identity Methods toRational :: Identity a -> Rational # | |
RealFloat a => RealFloat (Identity a) | Since: base-4.9.0.0 |
Defined in Data.Functor.Identity Methods floatRadix :: Identity a -> Integer # floatDigits :: Identity a -> Int # floatRange :: Identity a -> (Int, Int) # decodeFloat :: Identity a -> (Integer, Int) # encodeFloat :: Integer -> Int -> Identity a # exponent :: Identity a -> Int # significand :: Identity a -> Identity a # scaleFloat :: Int -> Identity a -> Identity a # isInfinite :: Identity a -> Bool # isDenormalized :: Identity a -> Bool # isNegativeZero :: Identity a -> Bool # | |
RealFrac a => RealFrac (Identity a) | Since: base-4.9.0.0 |
Show a => Show (Identity a) | This instance would be equivalent to the derived instances of the
Since: base-4.8.0.0 |
Ix a => Ix (Identity a) | Since: base-4.9.0.0 |
Defined in Data.Functor.Identity Methods range :: (Identity a, Identity a) -> [Identity a] # index :: (Identity a, Identity a) -> Identity a -> Int # unsafeIndex :: (Identity a, Identity a) -> Identity a -> Int # inRange :: (Identity a, Identity a) -> Identity a -> Bool # rangeSize :: (Identity a, Identity a) -> Int # unsafeRangeSize :: (Identity a, Identity a) -> Int # | |
IsString a => IsString (Identity a) | Since: base-4.9.0.0 |
Defined in Data.String Methods fromString :: String -> Identity a # | |
Generic (Identity a) | Since: base-4.8.0.0 |
Semigroup a => Semigroup (Identity a) | Since: base-4.9.0.0 |
Monoid a => Monoid (Identity a) | Since: base-4.9.0.0 |
NFData a => NFData (Identity a) | Since: deepseq-1.4.0.0 |
Defined in Control.DeepSeq | |
Storable a => Storable (Identity a) | Since: base-4.9.0.0 |
Defined in Data.Functor.Identity Methods alignment :: Identity a -> Int # peekElemOff :: Ptr (Identity a) -> Int -> IO (Identity a) # pokeElemOff :: Ptr (Identity a) -> Int -> Identity a -> IO () # peekByteOff :: Ptr b -> Int -> IO (Identity a) # pokeByteOff :: Ptr b -> Int -> Identity a -> IO () # | |
Bits a => Bits (Identity a) | Since: base-4.9.0.0 |
Defined in Data.Functor.Identity Methods (.&.) :: Identity a -> Identity a -> Identity a # (.|.) :: Identity a -> Identity a -> Identity a # xor :: Identity a -> Identity a -> Identity a # complement :: Identity a -> Identity a # shift :: Identity a -> Int -> Identity a # rotate :: Identity a -> Int -> Identity a # setBit :: Identity a -> Int -> Identity a # clearBit :: Identity a -> Int -> Identity a # complementBit :: Identity a -> Int -> Identity a # testBit :: Identity a -> Int -> Bool # bitSizeMaybe :: Identity a -> Maybe Int # bitSize :: Identity a -> Int # isSigned :: Identity a -> Bool # shiftL :: Identity a -> Int -> Identity a # unsafeShiftL :: Identity a -> Int -> Identity a # shiftR :: Identity a -> Int -> Identity a # unsafeShiftR :: Identity a -> Int -> Identity a # rotateL :: Identity a -> Int -> Identity a # | |
FiniteBits a => FiniteBits (Identity a) | Since: base-4.9.0.0 |
Defined in Data.Functor.Identity Methods finiteBitSize :: Identity a -> Int # countLeadingZeros :: Identity a -> Int # countTrailingZeros :: Identity a -> Int # | |
Hashable a => Hashable (Identity a) | |
Defined in Data.Hashable.Class | |
Finitary a => Finitary (Identity a) | |
Defined in Data.Finitary | |
Unbox a => Unbox (Identity a) | |
Defined in Data.Vector.Unboxed.Base | |
Prim a => Prim (Identity a) | |
Defined in Data.Primitive.Types Methods alignment# :: Identity a -> Int# indexByteArray# :: ByteArray# -> Int# -> Identity a readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Identity a #) writeByteArray# :: MutableByteArray# s -> Int# -> Identity a -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Identity a -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> Identity a readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Identity a #) writeOffAddr# :: Addr# -> Int# -> Identity a -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> Identity a -> State# s -> State# s | |
Ixed (Identity a) | |
Defined in Control.Lens.At | |
Wrapped (Identity a) | |
Abelian a => Abelian (Identity a) | |
Defined in Data.Group | |
Cyclic a => Cyclic (Identity a) | |
Defined in Data.Group | |
Group a => Group (Identity a) | |
FromJSON a => FromJSON (Identity a) | |
Defined in Data.Aeson.Types.FromJSON | |
ToJSON a => ToJSON (Identity a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Identity a -> Encoding toJSONList :: [Identity a] -> Value toEncodingList :: [Identity a] -> Encoding | |
FromJSONKey a => FromJSONKey (Identity a) | |
Defined in Data.Aeson.Types.FromJSON Methods fromJSONKey :: FromJSONKeyFunction (Identity a) fromJSONKeyList :: FromJSONKeyFunction [Identity a] | |
ToJSONKey a => ToJSONKey (Identity a) | |
Defined in Data.Aeson.Types.ToJSON | |
FromFormKey a => FromFormKey (Identity a) | |
Defined in Web.Internal.FormUrlEncoded Methods parseFormKey :: Text -> Either Text (Identity a) | |
ToFormKey a => ToFormKey (Identity a) | |
Defined in Web.Internal.FormUrlEncoded | |
Ring a => Ring (Identity a) | |
Defined in Data.Semiring | |
Semiring a => Semiring (Identity a) | |
BoundedJoinSemiLattice a => BoundedJoinSemiLattice (Identity a) | |
Defined in Algebra.Lattice | |
BoundedMeetSemiLattice a => BoundedMeetSemiLattice (Identity a) | |
Defined in Algebra.Lattice | |
Lattice a => Lattice (Identity a) | |
MonoFoldable (Identity a) | |
Defined in Data.MonoTraversable Methods ofoldMap :: Monoid m => (Element (Identity a) -> m) -> Identity a -> m ofoldr :: (Element (Identity a) -> b -> b) -> b -> Identity a -> b ofoldl' :: (a0 -> Element (Identity a) -> a0) -> a0 -> Identity a -> a0 otoList :: Identity a -> [Element (Identity a)] oall :: (Element (Identity a) -> Bool) -> Identity a -> Bool oany :: (Element (Identity a) -> Bool) -> Identity a -> Bool olength64 :: Identity a -> Int64 ocompareLength :: Integral i => Identity a -> i -> Ordering otraverse_ :: Applicative f => (Element (Identity a) -> f b) -> Identity a -> f () ofor_ :: Applicative f => Identity a -> (Element (Identity a) -> f b) -> f () omapM_ :: Applicative m => (Element (Identity a) -> m ()) -> Identity a -> m () oforM_ :: Applicative m => Identity a -> (Element (Identity a) -> m ()) -> m () ofoldlM :: Monad m => (a0 -> Element (Identity a) -> m a0) -> a0 -> Identity a -> m a0 ofoldMap1Ex :: Semigroup m => (Element (Identity a) -> m) -> Identity a -> m ofoldr1Ex :: (Element (Identity a) -> Element (Identity a) -> Element (Identity a)) -> Identity a -> Element (Identity a) ofoldl1Ex' :: (Element (Identity a) -> Element (Identity a) -> Element (Identity a)) -> Identity a -> Element (Identity a) headEx :: Identity a -> Element (Identity a) lastEx :: Identity a -> Element (Identity a) unsafeHead :: Identity a -> Element (Identity a) unsafeLast :: Identity a -> Element (Identity a) maximumByEx :: (Element (Identity a) -> Element (Identity a) -> Ordering) -> Identity a -> Element (Identity a) minimumByEx :: (Element (Identity a) -> Element (Identity a) -> Ordering) -> Identity a -> Element (Identity a) | |
MonoFunctor (Identity a) | |
MonoPointed (Identity a) | |
Defined in Data.MonoTraversable | |
MonoTraversable (Identity a) | |
Defined in Data.MonoTraversable | |
Generic1 Identity | Since: base-4.8.0.0 |
t ~ Identity b => Rewrapped (Identity a) t | |
Defined in Control.Lens.Wrapped | |
Each (Identity a) (Identity b) a b | |
Field1 (Identity a) (Identity b) a b | |
Cosieve (->) Identity | |
Defined in Data.Profunctor.Sieve | |
Sieve (->) Identity | |
Defined in Data.Profunctor.Sieve | |
type Rep Identity | |
Defined in Data.Functor.Rep type Rep Identity = () | |
type StM Identity a | |
Defined in Control.Monad.Trans.Control type StM Identity a = a | |
newtype MVector s (Identity a) | |
Defined in Data.Vector.Unboxed.Base | |
type Rep (Identity a) | |
Defined in Data.Functor.Identity | |
newtype Vector (Identity a) | |
Defined in Data.Vector.Unboxed.Base | |
type Cardinality (Identity a) | |
Defined in Data.Finitary | |
type Index (Identity a) | |
Defined in Control.Lens.At | |
type IxValue (Identity a) | |
Defined in Control.Lens.At | |
type Unwrapped (Identity a) | |
Defined in Control.Lens.Wrapped | |
type Element (Identity a) | |
Defined in Data.MonoTraversable type Element (Identity a) = a | |
type Rep1 Identity | |
Defined in Data.Functor.Identity |
optional :: Alternative f => f a -> f (Maybe a) #
One or none.
It is useful for modelling any computation that is allowed to fail.
Examples
Using the Alternative
instance of Except
, the following functions:
>>>
canFail = throwError "it failed" :: Except String Int
>>>
final = return 42 :: Except String Int
Can be combined by allowing the first function to fail:
>>>
runExcept $ canFail *> final
Left "it failed">>>
runExcept $ optional canFail *> final
Right 42
for :: (Traversable t, Applicative f) => t a -> (a -> f b) -> f (t b) #
filterM :: Applicative m => (a -> m Bool) -> [a] -> m [a] #
This generalizes the list-based filter
function.
foldM :: (Foldable t, Monad m) => (b -> a -> m b) -> b -> t a -> m b #
The foldM
function is analogous to foldl
, except that its result is
encapsulated in a monad. Note that foldM
works from left-to-right over
the list arguments. This could be an issue where (
and the `folded
function' are not commutative.>>
)
foldM f a1 [x1, x2, ..., xm] == do a2 <- f a1 x1 a3 <- f a2 x2 ... f am xm
If right-to-left evaluation is required, the input list should be reversed.
unless :: Applicative f => Bool -> f () -> f () #
The reverse of when
.
Uninhabited data type
Since: base-4.8.0.0
Instances
Eq Void | Since: base-4.8.0.0 |
Data Void | Since: base-4.8.0.0 |
Defined in Data.Void Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Void -> c Void # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Void # dataTypeOf :: Void -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Void) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Void) # gmapT :: (forall b. Data b => b -> b) -> Void -> Void # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Void -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Void -> r # gmapQ :: (forall d. Data d => d -> u) -> Void -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Void -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Void -> m Void # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Void -> m Void # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Void -> m Void # | |
Ord Void | Since: base-4.8.0.0 |
Read Void | Reading a Since: base-4.8.0.0 |
Show Void | Since: base-4.8.0.0 |
Ix Void | Since: base-4.8.0.0 |
Generic Void | Since: base-4.8.0.0 |
Semigroup Void | Since: base-4.9.0.0 |
NFData Void | Since: deepseq-1.4.0.0 |
Defined in Control.DeepSeq | |
Exception Void | Since: base-4.8.0.0 |
Defined in Data.Void Methods toException :: Void -> SomeException # fromException :: SomeException -> Maybe Void # displayException :: Void -> String # | |
Hashable Void | |
Defined in Data.Hashable.Class | |
Finitary Void | |
FromJSON Void | |
Defined in Data.Aeson.Types.FromJSON | |
ToJSON Void | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Void -> Encoding toJSONList :: [Void] -> Value toEncodingList :: [Void] -> Encoding | |
ShowErrorComponent Void | |
Defined in Text.Megaparsec.Error | |
FromFormKey Void | |
Defined in Web.Internal.FormUrlEncoded Methods parseFormKey :: Text -> Either Text Void | |
ToFormKey Void | |
Defined in Web.Internal.FormUrlEncoded | |
Lattice Void | |
Lift Void | Since: template-haskell-2.15.0.0 |
Num r => Algebra r Void | |
Num r => Coalgebra r Void | |
Monoidal Either Void LinearArrow | |
Strong Either Void LinearArrow | |
Functor f => Monoidal Either Void (Kleisli f) | |
Applicative f => Strong Either Void (Kleisli f) | |
Monoidal Either Void (->) | |
Strong Either Void (->) | |
Strong Either Void (Market a b) | |
FoldableWithIndex Void (V1 :: Type -> Type) | |
FoldableWithIndex Void (U1 :: Type -> Type) | |
FoldableWithIndex Void (Proxy :: Type -> Type) | |
Defined in WithIndex | |
FunctorWithIndex Void (V1 :: Type -> Type) | |
FunctorWithIndex Void (U1 :: Type -> Type) | |
FunctorWithIndex Void (Proxy :: Type -> Type) | |
TraversableWithIndex Void (V1 :: Type -> Type) | |
TraversableWithIndex Void (U1 :: Type -> Type) | |
TraversableWithIndex Void (Proxy :: Type -> Type) | |
FoldableWithIndex Void (Const e :: Type -> Type) | |
Defined in WithIndex | |
FoldableWithIndex Void (Constant e :: Type -> Type) | |
Defined in WithIndex Methods ifoldMap :: Monoid m => (Void -> a -> m) -> Constant e a -> m # ifoldMap' :: Monoid m => (Void -> a -> m) -> Constant e a -> m # ifoldr :: (Void -> a -> b -> b) -> b -> Constant e a -> b # ifoldl :: (Void -> b -> a -> b) -> b -> Constant e a -> b # ifoldr' :: (Void -> a -> b -> b) -> b -> Constant e a -> b # ifoldl' :: (Void -> b -> a -> b) -> b -> Constant e a -> b # | |
FunctorWithIndex Void (Const e :: Type -> Type) | |
FunctorWithIndex Void (Constant e :: Type -> Type) | |
TraversableWithIndex Void (Const e :: Type -> Type) | |
TraversableWithIndex Void (Constant e :: Type -> Type) | |
FoldableWithIndex Void (K1 i c :: Type -> Type) | |
Defined in WithIndex | |
FunctorWithIndex Void (K1 i c :: Type -> Type) | |
TraversableWithIndex Void (K1 i c :: Type -> Type) | |
type Rep Void | |
type Cardinality Void | |
Defined in Data.Finitary |
Since Void
values logically don't exist, this witnesses the
logical reasoning tool of "ex falso quodlibet".
>>>
let x :: Either Void Int; x = Right 5
>>>
:{
case x of Right r -> r Left l -> absurd l :} 5
Since: base-4.8.0.0
class Contravariant (f :: Type -> Type) where #
The class of contravariant functors.
Whereas in Haskell, one can think of a Functor
as containing or producing
values, a contravariant functor is a functor that can be thought of as
consuming values.
As an example, consider the type of predicate functions a -> Bool
. One
such predicate might be negative x = x < 0
, which
classifies integers as to whether they are negative. However, given this
predicate, we can re-use it in other situations, providing we have a way to
map values to integers. For instance, we can use the negative
predicate
on a person's bank balance to work out if they are currently overdrawn:
newtype Predicate a = Predicate { getPredicate :: a -> Bool } instance Contravariant Predicate where contramap :: (a' -> a) -> (Predicate a -> Predicate a') contramap f (Predicate p) = Predicate (p . f) | `- First, map the input... `----- then apply the predicate. overdrawn :: Predicate Person overdrawn = contramap personBankBalance negative
Any instance should be subject to the following laws:
Note, that the second law follows from the free theorem of the type of
contramap
and the first law, so you need only check that the former
condition holds.
Minimal complete definition
Instances
mtimesDefault :: (Integral b, Monoid a) => b -> a -> a #
diff :: Semigroup m => m -> Endo m #
This lets you use a difference list of a Semigroup
as a Monoid
.
Example:
>>>
let hello = diff "Hello, "
>>>
appEndo hello "World!"
"Hello, World!">>>
appEndo (hello <> mempty) "World!"
"Hello, World!">>>
appEndo (mempty <> hello) "World!"
"Hello, World!">>>
let world = diff "World"
>>>
let excl = diff "!"
>>>
appEndo (hello <> (world <> excl)) mempty
"Hello, World!">>>
appEndo ((hello <> world) <> excl) mempty
"Hello, World!"
Instances
Monad Min | Since: base-4.9.0.0 |
Functor Min | Since: base-4.9.0.0 |
MonadFix Min | Since: base-4.9.0.0 |
Defined in Data.Semigroup | |
Applicative Min | Since: base-4.9.0.0 |
Foldable Min | Since: base-4.9.0.0 |
Defined in Data.Semigroup Methods fold :: Monoid m => Min m -> m # foldMap :: Monoid m => (a -> m) -> Min a -> m # foldMap' :: Monoid m => (a -> m) -> Min a -> m # foldr :: (a -> b -> b) -> b -> Min a -> b # foldr' :: (a -> b -> b) -> b -> Min a -> b # foldl :: (b -> a -> b) -> b -> Min a -> b # foldl' :: (b -> a -> b) -> b -> Min a -> b # foldr1 :: (a -> a -> a) -> Min a -> a # foldl1 :: (a -> a -> a) -> Min a -> a # elem :: Eq a => a -> Min a -> Bool # maximum :: Ord a => Min a -> a # | |
Traversable Min | Since: base-4.9.0.0 |
NFData1 Min | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
Hashable1 Min | |
Defined in Data.Hashable.Class | |
Apply Min | |
Bind Min | |
Distributive Min | |
Foldable1 Min | |
Defined in Data.Semigroup.Foldable.Class | |
Traversable1 Min | |
FromJSON1 Min | |
Defined in Data.Aeson.Types.FromJSON Methods liftParseJSON :: (Value -> Parser a) -> (Value -> Parser [a]) -> Value -> Parser (Min a) liftParseJSONList :: (Value -> Parser a) -> (Value -> Parser [a]) -> Value -> Parser [Min a] | |
ToJSON1 Min | |
Defined in Data.Aeson.Types.ToJSON Methods liftToJSON :: (a -> Value) -> ([a] -> Value) -> Min a -> Value liftToJSONList :: (a -> Value) -> ([a] -> Value) -> [Min a] -> Value liftToEncoding :: (a -> Encoding) -> ([a] -> Encoding) -> Min a -> Encoding liftToEncodingList :: (a -> Encoding) -> ([a] -> Encoding) -> [Min a] -> Encoding | |
Unbox a => Vector Vector (Min a) | |
Defined in Data.Vector.Unboxed.Base Methods basicUnsafeFreeze :: PrimMonad m => Mutable Vector (PrimState m) (Min a) -> m (Vector (Min a)) basicUnsafeThaw :: PrimMonad m => Vector (Min a) -> m (Mutable Vector (PrimState m) (Min a)) basicLength :: Vector (Min a) -> Int basicUnsafeSlice :: Int -> Int -> Vector (Min a) -> Vector (Min a) basicUnsafeIndexM :: Monad m => Vector (Min a) -> Int -> m (Min a) basicUnsafeCopy :: PrimMonad m => Mutable Vector (PrimState m) (Min a) -> Vector (Min a) -> m () | |
Unbox a => MVector MVector (Min a) | |
Defined in Data.Vector.Unboxed.Base Methods basicLength :: MVector s (Min a) -> Int basicUnsafeSlice :: Int -> Int -> MVector s (Min a) -> MVector s (Min a) basicOverlaps :: MVector s (Min a) -> MVector s (Min a) -> Bool basicUnsafeNew :: PrimMonad m => Int -> m (MVector (PrimState m) (Min a)) basicInitialize :: PrimMonad m => MVector (PrimState m) (Min a) -> m () basicUnsafeReplicate :: PrimMonad m => Int -> Min a -> m (MVector (PrimState m) (Min a)) basicUnsafeRead :: PrimMonad m => MVector (PrimState m) (Min a) -> Int -> m (Min a) basicUnsafeWrite :: PrimMonad m => MVector (PrimState m) (Min a) -> Int -> Min a -> m () basicClear :: PrimMonad m => MVector (PrimState m) (Min a) -> m () basicSet :: PrimMonad m => MVector (PrimState m) (Min a) -> Min a -> m () basicUnsafeCopy :: PrimMonad m => MVector (PrimState m) (Min a) -> MVector (PrimState m) (Min a) -> m () basicUnsafeMove :: PrimMonad m => MVector (PrimState m) (Min a) -> MVector (PrimState m) (Min a) -> m () basicUnsafeGrow :: PrimMonad m => MVector (PrimState m) (Min a) -> Int -> m (MVector (PrimState m) (Min a)) | |
Bounded a => Bounded (Min a) | Since: base-4.9.0.0 |
Enum a => Enum (Min a) | Since: base-4.9.0.0 |
Eq a => Eq (Min a) | Since: base-4.9.0.0 |
Data a => Data (Min a) | Since: base-4.9.0.0 |
Defined in Data.Semigroup Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Min a -> c (Min a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Min a) # dataTypeOf :: Min a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Min a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Min a)) # gmapT :: (forall b. Data b => b -> b) -> Min a -> Min a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Min a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Min a -> r # gmapQ :: (forall d. Data d => d -> u) -> Min a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Min a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Min a -> m (Min a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Min a -> m (Min a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Min a -> m (Min a) # | |
Num a => Num (Min a) | Since: base-4.9.0.0 |
Ord a => Ord (Min a) | Since: base-4.9.0.0 |
Read a => Read (Min a) | Since: base-4.9.0.0 |
Show a => Show (Min a) | Since: base-4.9.0.0 |
Generic (Min a) | Since: base-4.9.0.0 |
Ord a => Semigroup (Min a) | Since: base-4.9.0.0 |
(Ord a, Bounded a) => Monoid (Min a) | Since: base-4.9.0.0 |
NFData a => NFData (Min a) | Since: deepseq-1.4.2.0 |
Defined in Control.DeepSeq | |
Hashable a => Hashable (Min a) | |
Defined in Data.Hashable.Class | |
Finitary a => Finitary (Min a) | |
Unbox a => Unbox (Min a) | |
Defined in Data.Vector.Unboxed.Base | |
Prim a => Prim (Min a) | |
Defined in Data.Primitive.Types Methods alignment# :: Min a -> Int# indexByteArray# :: ByteArray# -> Int# -> Min a readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Min a #) writeByteArray# :: MutableByteArray# s -> Int# -> Min a -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Min a -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> Min a readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Min a #) writeOffAddr# :: Addr# -> Int# -> Min a -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> Min a -> State# s -> State# s | |
Wrapped (Min a) | |
FromJSON a => FromJSON (Min a) | |
Defined in Data.Aeson.Types.FromJSON | |
ToJSON a => ToJSON (Min a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Min a -> Encoding toJSONList :: [Min a] -> Value toEncodingList :: [Min a] -> Encoding | |
FromFormKey a => FromFormKey (Min a) | |
Defined in Web.Internal.FormUrlEncoded Methods parseFormKey :: Text -> Either Text (Min a) | |
ToFormKey a => ToFormKey (Min a) | |
Defined in Web.Internal.FormUrlEncoded | |
Generic1 Min | Since: base-4.9.0.0 |
t ~ Min b => Rewrapped (Min a) t | |
Defined in Control.Lens.Wrapped | |
newtype MVector s (Min a) | |
Defined in Data.Vector.Unboxed.Base | |
type Rep (Min a) | |
Defined in Data.Semigroup | |
newtype Vector (Min a) | |
Defined in Data.Vector.Unboxed.Base | |
type Cardinality (Min a) | |
Defined in Data.Finitary | |
type Unwrapped (Min a) | |
Defined in Control.Lens.Wrapped | |
type Rep1 Min | |
Defined in Data.Semigroup |
Instances
Monad Max | Since: base-4.9.0.0 |
Functor Max | Since: base-4.9.0.0 |
MonadFix Max | Since: base-4.9.0.0 |
Defined in Data.Semigroup | |
Applicative Max | Since: base-4.9.0.0 |
Foldable Max | Since: base-4.9.0.0 |
Defined in Data.Semigroup Methods fold :: Monoid m => Max m -> m # foldMap :: Monoid m => (a -> m) -> Max a -> m # foldMap' :: Monoid m => (a -> m) -> Max a -> m # foldr :: (a -> b -> b) -> b -> Max a -> b # foldr' :: (a -> b -> b) -> b -> Max a -> b # foldl :: (b -> a -> b) -> b -> Max a -> b # foldl' :: (b -> a -> b) -> b -> Max a -> b # foldr1 :: (a -> a -> a) -> Max a -> a # foldl1 :: (a -> a -> a) -> Max a -> a # elem :: Eq a => a -> Max a -> Bool # maximum :: Ord a => Max a -> a # | |
Traversable Max | Since: base-4.9.0.0 |
NFData1 Max | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
Hashable1 Max | |
Defined in Data.Hashable.Class | |
Apply Max | |
Bind Max | |
Distributive Max | |
Foldable1 Max | |
Defined in Data.Semigroup.Foldable.Class | |
Traversable1 Max | |
FromJSON1 Max | |
Defined in Data.Aeson.Types.FromJSON Methods liftParseJSON :: (Value -> Parser a) -> (Value -> Parser [a]) -> Value -> Parser (Max a) liftParseJSONList :: (Value -> Parser a) -> (Value -> Parser [a]) -> Value -> Parser [Max a] | |
ToJSON1 Max | |
Defined in Data.Aeson.Types.ToJSON Methods liftToJSON :: (a -> Value) -> ([a] -> Value) -> Max a -> Value liftToJSONList :: (a -> Value) -> ([a] -> Value) -> [Max a] -> Value liftToEncoding :: (a -> Encoding) -> ([a] -> Encoding) -> Max a -> Encoding liftToEncodingList :: (a -> Encoding) -> ([a] -> Encoding) -> [Max a] -> Encoding | |
Unbox a => Vector Vector (Max a) | |
Defined in Data.Vector.Unboxed.Base Methods basicUnsafeFreeze :: PrimMonad m => Mutable Vector (PrimState m) (Max a) -> m (Vector (Max a)) basicUnsafeThaw :: PrimMonad m => Vector (Max a) -> m (Mutable Vector (PrimState m) (Max a)) basicLength :: Vector (Max a) -> Int basicUnsafeSlice :: Int -> Int -> Vector (Max a) -> Vector (Max a) basicUnsafeIndexM :: Monad m => Vector (Max a) -> Int -> m (Max a) basicUnsafeCopy :: PrimMonad m => Mutable Vector (PrimState m) (Max a) -> Vector (Max a) -> m () | |
Unbox a => MVector MVector (Max a) | |
Defined in Data.Vector.Unboxed.Base Methods basicLength :: MVector s (Max a) -> Int basicUnsafeSlice :: Int -> Int -> MVector s (Max a) -> MVector s (Max a) basicOverlaps :: MVector s (Max a) -> MVector s (Max a) -> Bool basicUnsafeNew :: PrimMonad m => Int -> m (MVector (PrimState m) (Max a)) basicInitialize :: PrimMonad m => MVector (PrimState m) (Max a) -> m () basicUnsafeReplicate :: PrimMonad m => Int -> Max a -> m (MVector (PrimState m) (Max a)) basicUnsafeRead :: PrimMonad m => MVector (PrimState m) (Max a) -> Int -> m (Max a) basicUnsafeWrite :: PrimMonad m => MVector (PrimState m) (Max a) -> Int -> Max a -> m () basicClear :: PrimMonad m => MVector (PrimState m) (Max a) -> m () basicSet :: PrimMonad m => MVector (PrimState m) (Max a) -> Max a -> m () basicUnsafeCopy :: PrimMonad m => MVector (PrimState m) (Max a) -> MVector (PrimState m) (Max a) -> m () basicUnsafeMove :: PrimMonad m => MVector (PrimState m) (Max a) -> MVector (PrimState m) (Max a) -> m () basicUnsafeGrow :: PrimMonad m => MVector (PrimState m) (Max a) -> Int -> m (MVector (PrimState m) (Max a)) | |
Bounded a => Bounded (Max a) | Since: base-4.9.0.0 |
Enum a => Enum (Max a) | Since: base-4.9.0.0 |
Eq a => Eq (Max a) | Since: base-4.9.0.0 |
Data a => Data (Max a) | Since: base-4.9.0.0 |
Defined in Data.Semigroup Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Max a -> c (Max a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Max a) # dataTypeOf :: Max a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Max a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Max a)) # gmapT :: (forall b. Data b => b -> b) -> Max a -> Max a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Max a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Max a -> r # gmapQ :: (forall d. Data d => d -> u) -> Max a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Max a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Max a -> m (Max a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Max a -> m (Max a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Max a -> m (Max a) # | |
Num a => Num (Max a) | Since: base-4.9.0.0 |
Ord a => Ord (Max a) | Since: base-4.9.0.0 |
Read a => Read (Max a) | Since: base-4.9.0.0 |
Show a => Show (Max a) | Since: base-4.9.0.0 |
Generic (Max a) | Since: base-4.9.0.0 |
Ord a => Semigroup (Max a) | Since: base-4.9.0.0 |
(Ord a, Bounded a) => Monoid (Max a) | Since: base-4.9.0.0 |
NFData a => NFData (Max a) | Since: deepseq-1.4.2.0 |
Defined in Control.DeepSeq | |
Hashable a => Hashable (Max a) | |
Defined in Data.Hashable.Class | |
Finitary a => Finitary (Max a) | |
Unbox a => Unbox (Max a) | |
Defined in Data.Vector.Unboxed.Base | |
Prim a => Prim (Max a) | |
Defined in Data.Primitive.Types Methods alignment# :: Max a -> Int# indexByteArray# :: ByteArray# -> Int# -> Max a readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Max a #) writeByteArray# :: MutableByteArray# s -> Int# -> Max a -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Max a -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> Max a readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Max a #) writeOffAddr# :: Addr# -> Int# -> Max a -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> Max a -> State# s -> State# s | |
Wrapped (Max a) | |
FromJSON a => FromJSON (Max a) | |
Defined in Data.Aeson.Types.FromJSON | |
ToJSON a => ToJSON (Max a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Max a -> Encoding toJSONList :: [Max a] -> Value toEncodingList :: [Max a] -> Encoding | |
FromFormKey a => FromFormKey (Max a) | |
Defined in Web.Internal.FormUrlEncoded Methods parseFormKey :: Text -> Either Text (Max a) | |
ToFormKey a => ToFormKey (Max a) | |
Defined in Web.Internal.FormUrlEncoded | |
Generic1 Max | Since: base-4.9.0.0 |
t ~ Max b => Rewrapped (Max a) t | |
Defined in Control.Lens.Wrapped | |
newtype MVector s (Max a) | |
Defined in Data.Vector.Unboxed.Base | |
type Rep (Max a) | |
Defined in Data.Semigroup | |
newtype Vector (Max a) | |
Defined in Data.Vector.Unboxed.Base | |
type Cardinality (Max a) | |
Defined in Data.Finitary | |
type Unwrapped (Max a) | |
Defined in Control.Lens.Wrapped | |
type Rep1 Max | |
Defined in Data.Semigroup |
Arg
isn't itself a Semigroup
in its own right, but it can be
placed inside Min
and Max
to compute an arg min or arg max.
>>>
minimum [ Arg (x * x) x | x <- [-10 .. 10] ]
Arg 0 0
Constructors
Arg | |
Instances
Bitraversable Arg | Since: base-4.10.0.0 |
Defined in Data.Semigroup Methods bitraverse :: Applicative f => (a -> f c) -> (b -> f d) -> Arg a b -> f (Arg c d) # | |
Bifoldable Arg | Since: base-4.10.0.0 |
Bifunctor Arg | Since: base-4.9.0.0 |
NFData2 Arg | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
Biapplicative Arg | |
Bifoldable1 Arg | |
Defined in Data.Semigroup.Foldable.Class | |
Bitraversable1 Arg | |
Defined in Data.Semigroup.Traversable.Class Methods bitraverse1 :: Apply f => (a -> f b) -> (c -> f d) -> Arg a c -> f (Arg b d) bisequence1 :: Apply f => Arg (f a) (f b) -> f (Arg a b) | |
Biapply Arg | |
(Unbox a, Unbox b) => Vector Vector (Arg a b) | |
Defined in Data.Vector.Unboxed.Base Methods basicUnsafeFreeze :: PrimMonad m => Mutable Vector (PrimState m) (Arg a b) -> m (Vector (Arg a b)) basicUnsafeThaw :: PrimMonad m => Vector (Arg a b) -> m (Mutable Vector (PrimState m) (Arg a b)) basicLength :: Vector (Arg a b) -> Int basicUnsafeSlice :: Int -> Int -> Vector (Arg a b) -> Vector (Arg a b) basicUnsafeIndexM :: Monad m => Vector (Arg a b) -> Int -> m (Arg a b) basicUnsafeCopy :: PrimMonad m => Mutable Vector (PrimState m) (Arg a b) -> Vector (Arg a b) -> m () | |
(Unbox a, Unbox b) => MVector MVector (Arg a b) | |
Defined in Data.Vector.Unboxed.Base Methods basicLength :: MVector s (Arg a b) -> Int basicUnsafeSlice :: Int -> Int -> MVector s (Arg a b) -> MVector s (Arg a b) basicOverlaps :: MVector s (Arg a b) -> MVector s (Arg a b) -> Bool basicUnsafeNew :: PrimMonad m => Int -> m (MVector (PrimState m) (Arg a b)) basicInitialize :: PrimMonad m => MVector (PrimState m) (Arg a b) -> m () basicUnsafeReplicate :: PrimMonad m => Int -> Arg a b -> m (MVector (PrimState m) (Arg a b)) basicUnsafeRead :: PrimMonad m => MVector (PrimState m) (Arg a b) -> Int -> m (Arg a b) basicUnsafeWrite :: PrimMonad m => MVector (PrimState m) (Arg a b) -> Int -> Arg a b -> m () basicClear :: PrimMonad m => MVector (PrimState m) (Arg a b) -> m () basicSet :: PrimMonad m => MVector (PrimState m) (Arg a b) -> Arg a b -> m () basicUnsafeCopy :: PrimMonad m => MVector (PrimState m) (Arg a b) -> MVector (PrimState m) (Arg a b) -> m () basicUnsafeMove :: PrimMonad m => MVector (PrimState m) (Arg a b) -> MVector (PrimState m) (Arg a b) -> m () basicUnsafeGrow :: PrimMonad m => MVector (PrimState m) (Arg a b) -> Int -> m (MVector (PrimState m) (Arg a b)) | |
Functor (Arg a) | Since: base-4.9.0.0 |
Foldable (Arg a) | Since: base-4.9.0.0 |
Defined in Data.Semigroup Methods fold :: Monoid m => Arg a m -> m # foldMap :: Monoid m => (a0 -> m) -> Arg a a0 -> m # foldMap' :: Monoid m => (a0 -> m) -> Arg a a0 -> m # foldr :: (a0 -> b -> b) -> b -> Arg a a0 -> b # foldr' :: (a0 -> b -> b) -> b -> Arg a a0 -> b # foldl :: (b -> a0 -> b) -> b -> Arg a a0 -> b # foldl' :: (b -> a0 -> b) -> b -> Arg a a0 -> b # foldr1 :: (a0 -> a0 -> a0) -> Arg a a0 -> a0 # foldl1 :: (a0 -> a0 -> a0) -> Arg a a0 -> a0 # elem :: Eq a0 => a0 -> Arg a a0 -> Bool # maximum :: Ord a0 => Arg a a0 -> a0 # minimum :: Ord a0 => Arg a a0 -> a0 # | |
Traversable (Arg a) | Since: base-4.9.0.0 |
NFData a => NFData1 (Arg a) | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
Comonad (Arg e) | |
Generic1 (Arg a :: Type -> Type) | Since: base-4.9.0.0 |
Eq a => Eq (Arg a b) | Since: base-4.9.0.0 |
(Data a, Data b) => Data (Arg a b) | Since: base-4.9.0.0 |
Defined in Data.Semigroup Methods gfoldl :: (forall d b0. Data d => c (d -> b0) -> d -> c b0) -> (forall g. g -> c g) -> Arg a b -> c (Arg a b) # gunfold :: (forall b0 r. Data b0 => c (b0 -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Arg a b) # toConstr :: Arg a b -> Constr # dataTypeOf :: Arg a b -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Arg a b)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Arg a b)) # gmapT :: (forall b0. Data b0 => b0 -> b0) -> Arg a b -> Arg a b # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Arg a b -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Arg a b -> r # gmapQ :: (forall d. Data d => d -> u) -> Arg a b -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Arg a b -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Arg a b -> m (Arg a b) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Arg a b -> m (Arg a b) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Arg a b -> m (Arg a b) # | |
Ord a => Ord (Arg a b) | Since: base-4.9.0.0 |
(Read a, Read b) => Read (Arg a b) | Since: base-4.9.0.0 |
(Show a, Show b) => Show (Arg a b) | Since: base-4.9.0.0 |
Generic (Arg a b) | Since: base-4.9.0.0 |
(NFData a, NFData b) => NFData (Arg a b) | Since: deepseq-1.4.2.0 |
Defined in Control.DeepSeq | |
Hashable a => Hashable (Arg a b) | |
Defined in Data.Hashable.Class | |
(Unbox a, Unbox b) => Unbox (Arg a b) | |
Defined in Data.Vector.Unboxed.Base | |
MonoFunctor (Arg a b) | |
newtype MVector s (Arg a b) | |
Defined in Data.Vector.Unboxed.Base | |
type Rep1 (Arg a :: Type -> Type) | |
Defined in Data.Semigroup type Rep1 (Arg a :: Type -> Type) = D1 ('MetaData "Arg" "Data.Semigroup" "base" 'False) (C1 ('MetaCons "Arg" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)) | |
type Rep (Arg a b) | |
Defined in Data.Semigroup type Rep (Arg a b) = D1 ('MetaData "Arg" "Data.Semigroup" "base" 'False) (C1 ('MetaCons "Arg" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b))) | |
newtype Vector (Arg a b) | |
Defined in Data.Vector.Unboxed.Base | |
type Element (Arg a b) | |
Defined in Data.MonoTraversable type Element (Arg a b) = b |
newtype WrappedMonoid m #
Provide a Semigroup for an arbitrary Monoid.
NOTE: This is not needed anymore since Semigroup
became a superclass of
Monoid
in base-4.11 and this newtype be deprecated at some point in the future.
Constructors
WrapMonoid | |
Fields
|
Instances
NFData1 WrappedMonoid | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq Methods liftRnf :: (a -> ()) -> WrappedMonoid a -> () # | |
Hashable1 WrappedMonoid | |
Defined in Data.Hashable.Class Methods liftHashWithSalt :: (Int -> a -> Int) -> Int -> WrappedMonoid a -> Int | |
FromJSON1 WrappedMonoid | |
Defined in Data.Aeson.Types.FromJSON Methods liftParseJSON :: (Value -> Parser a) -> (Value -> Parser [a]) -> Value -> Parser (WrappedMonoid a) liftParseJSONList :: (Value -> Parser a) -> (Value -> Parser [a]) -> Value -> Parser [WrappedMonoid a] | |
ToJSON1 WrappedMonoid | |
Defined in Data.Aeson.Types.ToJSON Methods liftToJSON :: (a -> Value) -> ([a] -> Value) -> WrappedMonoid a -> Value liftToJSONList :: (a -> Value) -> ([a] -> Value) -> [WrappedMonoid a] -> Value liftToEncoding :: (a -> Encoding) -> ([a] -> Encoding) -> WrappedMonoid a -> Encoding liftToEncodingList :: (a -> Encoding) -> ([a] -> Encoding) -> [WrappedMonoid a] -> Encoding | |
Unbox a => Vector Vector (WrappedMonoid a) | |
Defined in Data.Vector.Unboxed.Base Methods basicUnsafeFreeze :: PrimMonad m => Mutable Vector (PrimState m) (WrappedMonoid a) -> m (Vector (WrappedMonoid a)) basicUnsafeThaw :: PrimMonad m => Vector (WrappedMonoid a) -> m (Mutable Vector (PrimState m) (WrappedMonoid a)) basicLength :: Vector (WrappedMonoid a) -> Int basicUnsafeSlice :: Int -> Int -> Vector (WrappedMonoid a) -> Vector (WrappedMonoid a) basicUnsafeIndexM :: Monad m => Vector (WrappedMonoid a) -> Int -> m (WrappedMonoid a) basicUnsafeCopy :: PrimMonad m => Mutable Vector (PrimState m) (WrappedMonoid a) -> Vector (WrappedMonoid a) -> m () elemseq :: Vector (WrappedMonoid a) -> WrappedMonoid a -> b -> b | |
Unbox a => MVector MVector (WrappedMonoid a) | |
Defined in Data.Vector.Unboxed.Base Methods basicLength :: MVector s (WrappedMonoid a) -> Int basicUnsafeSlice :: Int -> Int -> MVector s (WrappedMonoid a) -> MVector s (WrappedMonoid a) basicOverlaps :: MVector s (WrappedMonoid a) -> MVector s (WrappedMonoid a) -> Bool basicUnsafeNew :: PrimMonad m => Int -> m (MVector (PrimState m) (WrappedMonoid a)) basicInitialize :: PrimMonad m => MVector (PrimState m) (WrappedMonoid a) -> m () basicUnsafeReplicate :: PrimMonad m => Int -> WrappedMonoid a -> m (MVector (PrimState m) (WrappedMonoid a)) basicUnsafeRead :: PrimMonad m => MVector (PrimState m) (WrappedMonoid a) -> Int -> m (WrappedMonoid a) basicUnsafeWrite :: PrimMonad m => MVector (PrimState m) (WrappedMonoid a) -> Int -> WrappedMonoid a -> m () basicClear :: PrimMonad m => MVector (PrimState m) (WrappedMonoid a) -> m () basicSet :: PrimMonad m => MVector (PrimState m) (WrappedMonoid a) -> WrappedMonoid a -> m () basicUnsafeCopy :: PrimMonad m => MVector (PrimState m) (WrappedMonoid a) -> MVector (PrimState m) (WrappedMonoid a) -> m () basicUnsafeMove :: PrimMonad m => MVector (PrimState m) (WrappedMonoid a) -> MVector (PrimState m) (WrappedMonoid a) -> m () basicUnsafeGrow :: PrimMonad m => MVector (PrimState m) (WrappedMonoid a) -> Int -> m (MVector (PrimState m) (WrappedMonoid a)) | |
Bounded m => Bounded (WrappedMonoid m) | Since: base-4.9.0.0 |
Defined in Data.Semigroup | |
Enum a => Enum (WrappedMonoid a) | Since: base-4.9.0.0 |
Defined in Data.Semigroup Methods succ :: WrappedMonoid a -> WrappedMonoid a # pred :: WrappedMonoid a -> WrappedMonoid a # toEnum :: Int -> WrappedMonoid a # fromEnum :: WrappedMonoid a -> Int # enumFrom :: WrappedMonoid a -> [WrappedMonoid a] # enumFromThen :: WrappedMonoid a -> WrappedMonoid a -> [WrappedMonoid a] # enumFromTo :: WrappedMonoid a -> WrappedMonoid a -> [WrappedMonoid a] # enumFromThenTo :: WrappedMonoid a -> WrappedMonoid a -> WrappedMonoid a -> [WrappedMonoid a] # | |
Eq m => Eq (WrappedMonoid m) | Since: base-4.9.0.0 |
Defined in Data.Semigroup Methods (==) :: WrappedMonoid m -> WrappedMonoid m -> Bool # (/=) :: WrappedMonoid m -> WrappedMonoid m -> Bool # | |
Data m => Data (WrappedMonoid m) | Since: base-4.9.0.0 |
Defined in Data.Semigroup Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> WrappedMonoid m -> c (WrappedMonoid m) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (WrappedMonoid m) # toConstr :: WrappedMonoid m -> Constr # dataTypeOf :: WrappedMonoid m -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (WrappedMonoid m)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (WrappedMonoid m)) # gmapT :: (forall b. Data b => b -> b) -> WrappedMonoid m -> WrappedMonoid m # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> WrappedMonoid m -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> WrappedMonoid m -> r # gmapQ :: (forall d. Data d => d -> u) -> WrappedMonoid m -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> WrappedMonoid m -> u # gmapM :: Monad m0 => (forall d. Data d => d -> m0 d) -> WrappedMonoid m -> m0 (WrappedMonoid m) # gmapMp :: MonadPlus m0 => (forall d. Data d => d -> m0 d) -> WrappedMonoid m -> m0 (WrappedMonoid m) # gmapMo :: MonadPlus m0 => (forall d. Data d => d -> m0 d) -> WrappedMonoid m -> m0 (WrappedMonoid m) # | |
Ord m => Ord (WrappedMonoid m) | Since: base-4.9.0.0 |
Defined in Data.Semigroup Methods compare :: WrappedMonoid m -> WrappedMonoid m -> Ordering # (<) :: WrappedMonoid m -> WrappedMonoid m -> Bool # (<=) :: WrappedMonoid m -> WrappedMonoid m -> Bool # (>) :: WrappedMonoid m -> WrappedMonoid m -> Bool # (>=) :: WrappedMonoid m -> WrappedMonoid m -> Bool # max :: WrappedMonoid m -> WrappedMonoid m -> WrappedMonoid m # min :: WrappedMonoid m -> WrappedMonoid m -> WrappedMonoid m # | |
Read m => Read (WrappedMonoid m) | Since: base-4.9.0.0 |
Defined in Data.Semigroup Methods readsPrec :: Int -> ReadS (WrappedMonoid m) # readList :: ReadS [WrappedMonoid m] # readPrec :: ReadPrec (WrappedMonoid m) # readListPrec :: ReadPrec [WrappedMonoid m] # | |
Show m => Show (WrappedMonoid m) | Since: base-4.9.0.0 |
Defined in Data.Semigroup Methods showsPrec :: Int -> WrappedMonoid m -> ShowS # show :: WrappedMonoid m -> String # showList :: [WrappedMonoid m] -> ShowS # | |
Generic (WrappedMonoid m) | Since: base-4.9.0.0 |
Defined in Data.Semigroup Associated Types type Rep (WrappedMonoid m) :: Type -> Type # Methods from :: WrappedMonoid m -> Rep (WrappedMonoid m) x # to :: Rep (WrappedMonoid m) x -> WrappedMonoid m # | |
Monoid m => Semigroup (WrappedMonoid m) | Since: base-4.9.0.0 |
Defined in Data.Semigroup Methods (<>) :: WrappedMonoid m -> WrappedMonoid m -> WrappedMonoid m # sconcat :: NonEmpty (WrappedMonoid m) -> WrappedMonoid m # stimes :: Integral b => b -> WrappedMonoid m -> WrappedMonoid m # | |
Monoid m => Monoid (WrappedMonoid m) | Since: base-4.9.0.0 |
Defined in Data.Semigroup Methods mempty :: WrappedMonoid m # mappend :: WrappedMonoid m -> WrappedMonoid m -> WrappedMonoid m # mconcat :: [WrappedMonoid m] -> WrappedMonoid m # | |
NFData m => NFData (WrappedMonoid m) | Since: deepseq-1.4.2.0 |
Defined in Control.DeepSeq Methods rnf :: WrappedMonoid m -> () # | |
Hashable a => Hashable (WrappedMonoid a) | |
Defined in Data.Hashable.Class | |
Unbox a => Unbox (WrappedMonoid a) | |
Defined in Data.Vector.Unboxed.Base | |
Wrapped (WrappedMonoid a) | |
Defined in Control.Lens.Wrapped Associated Types type Unwrapped (WrappedMonoid a) # Methods _Wrapped' :: Iso' (WrappedMonoid a) (Unwrapped (WrappedMonoid a)) # | |
FromJSON a => FromJSON (WrappedMonoid a) | |
Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (WrappedMonoid a) parseJSONList :: Value -> Parser [WrappedMonoid a] | |
ToJSON a => ToJSON (WrappedMonoid a) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: WrappedMonoid a -> Value toEncoding :: WrappedMonoid a -> Encoding toJSONList :: [WrappedMonoid a] -> Value toEncodingList :: [WrappedMonoid a] -> Encoding | |
Generic1 WrappedMonoid | Since: base-4.9.0.0 |
Defined in Data.Semigroup Associated Types type Rep1 WrappedMonoid :: k -> Type # Methods from1 :: forall (a :: k). WrappedMonoid a -> Rep1 WrappedMonoid a # to1 :: forall (a :: k). Rep1 WrappedMonoid a -> WrappedMonoid a # | |
t ~ WrappedMonoid b => Rewrapped (WrappedMonoid a) t | |
Defined in Control.Lens.Wrapped | |
newtype MVector s (WrappedMonoid a) | |
Defined in Data.Vector.Unboxed.Base | |
type Rep (WrappedMonoid m) | |
Defined in Data.Semigroup type Rep (WrappedMonoid m) = D1 ('MetaData "WrappedMonoid" "Data.Semigroup" "base" 'True) (C1 ('MetaCons "WrapMonoid" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrapMonoid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 m))) | |
newtype Vector (WrappedMonoid a) | |
Defined in Data.Vector.Unboxed.Base | |
type Unwrapped (WrappedMonoid a) | |
Defined in Control.Lens.Wrapped | |
type Rep1 WrappedMonoid | |
Defined in Data.Semigroup type Rep1 WrappedMonoid = D1 ('MetaData "WrappedMonoid" "Data.Semigroup" "base" 'True) (C1 ('MetaCons "WrapMonoid" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrapMonoid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)) |
Option
is effectively Maybe
with a better instance of
Monoid
, built off of an underlying Semigroup
instead of an
underlying Monoid
.
Ideally, this type would not exist at all and we would just fix the
Monoid
instance of Maybe
.
In GHC 8.4 and higher, the Monoid
instance for Maybe
has been
corrected to lift a Semigroup
instance instead of a Monoid
instance. Consequently, this type is no longer useful.
Instances
Monad Option | Since: base-4.9.0.0 |
Functor Option | Since: base-4.9.0.0 |
MonadFix Option | Since: base-4.9.0.0 |
Defined in Data.Semigroup | |
Applicative Option | Since: base-4.9.0.0 |
Foldable Option | Since: base-4.9.0.0 |
Defined in Data.Semigroup Methods fold :: Monoid m => Option m -> m # foldMap :: Monoid m => (a -> m) -> Option a -> m # foldMap' :: Monoid m => (a -> m) -> Option a -> m # foldr :: (a -> b -> b) -> b -> Option a -> b # foldr' :: (a -> b -> b) -> b -> Option a -> b # foldl :: (b -> a -> b) -> b -> Option a -> b # foldl' :: (b -> a -> b) -> b -> Option a -> b # foldr1 :: (a -> a -> a) -> Option a -> a # foldl1 :: (a -> a -> a) -> Option a -> a # elem :: Eq a => a -> Option a -> Bool # maximum :: Ord a => Option a -> a # minimum :: Ord a => Option a -> a # | |
Traversable Option | Since: base-4.9.0.0 |
MonadPlus Option | Since: base-4.9.0.0 |
Alternative Option | Since: base-4.9.0.0 |
NFData1 Option | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
Hashable1 Option | |
Defined in Data.Hashable.Class | |
Apply Option | |
Bind Option | |
FromJSON1 Option | |
Defined in Data.Aeson.Types.FromJSON Methods liftParseJSON :: (Value -> Parser a) -> (Value -> Parser [a]) -> Value -> Parser (Option a) liftParseJSONList :: (Value -> Parser a) -> (Value -> Parser [a]) -> Value -> Parser [Option a] | |
ToJSON1 Option | |
Defined in Data.Aeson.Types.ToJSON Methods liftToJSON :: (a -> Value) -> ([a] -> Value) -> Option a -> Value liftToJSONList :: (a -> Value) -> ([a] -> Value) -> [Option a] -> Value liftToEncoding :: (a -> Encoding) -> ([a] -> Encoding) -> Option a -> Encoding liftToEncodingList :: (a -> Encoding) -> ([a] -> Encoding) -> [Option a] -> Encoding | |
(Selector s, GToJSON' enc arity (K1 i (Maybe a) :: Type -> Type), KeyValuePair enc pairs, Monoid pairs) => RecordToPairs enc pairs arity (S1 s (K1 i (Option a) :: Type -> Type)) | |
Defined in Data.Aeson.Types.ToJSON Methods recordToPairs :: Options -> ToArgs enc arity a0 -> S1 s (K1 i (Option a)) a0 -> pairs | |
(Selector s, FromJSON a) => RecordFromJSON' arity (S1 s (K1 i (Option a) :: Type -> Type)) | |
Defined in Data.Aeson.Types.FromJSON Methods recordParseJSON' :: (ConName :* (TypeName :* (Options :* FromArgs arity a0))) -> Object -> Parser (S1 s (K1 i (Option a)) a0) | |
Eq a => Eq (Option a) | Since: base-4.9.0.0 |
Data a => Data (Option a) | Since: base-4.9.0.0 |
Defined in Data.Semigroup Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Option a -> c (Option a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Option a) # toConstr :: Option a -> Constr # dataTypeOf :: Option a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Option a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Option a)) # gmapT :: (forall b. Data b => b -> b) -> Option a -> Option a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Option a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Option a -> r # gmapQ :: (forall d. Data d => d -> u) -> Option a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Option a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Option a -> m (Option a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Option a -> m (Option a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Option a -> m (Option a) # | |
Ord a => Ord (Option a) | Since: base-4.9.0.0 |
Defined in Data.Semigroup | |
Read a => Read (Option a) | Since: base-4.9.0.0 |
Show a => Show (Option a) | Since: base-4.9.0.0 |
Generic (Option a) | Since: base-4.9.0.0 |
Semigroup a => Semigroup (Option a) | Since: base-4.9.0.0 |
Semigroup a => Monoid (Option a) | Since: base-4.9.0.0 |
NFData a => NFData (Option a) | Since: deepseq-1.4.2.0 |
Defined in Control.DeepSeq | |
Hashable a => Hashable (Option a) | |
Defined in Data.Hashable.Class | |
Wrapped (Option a) | |
FromJSON a => FromJSON (Option a) | |
Defined in Data.Aeson.Types.FromJSON | |
ToJSON a => ToJSON (Option a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Option a -> Encoding toJSONList :: [Option a] -> Value toEncodingList :: [Option a] -> Encoding | |
MonoFoldable (Option a) | |
Defined in Data.MonoTraversable Methods ofoldMap :: Monoid m => (Element (Option a) -> m) -> Option a -> m ofoldr :: (Element (Option a) -> b -> b) -> b -> Option a -> b ofoldl' :: (a0 -> Element (Option a) -> a0) -> a0 -> Option a -> a0 otoList :: Option a -> [Element (Option a)] oall :: (Element (Option a) -> Bool) -> Option a -> Bool oany :: (Element (Option a) -> Bool) -> Option a -> Bool olength64 :: Option a -> Int64 ocompareLength :: Integral i => Option a -> i -> Ordering otraverse_ :: Applicative f => (Element (Option a) -> f b) -> Option a -> f () ofor_ :: Applicative f => Option a -> (Element (Option a) -> f b) -> f () omapM_ :: Applicative m => (Element (Option a) -> m ()) -> Option a -> m () oforM_ :: Applicative m => Option a -> (Element (Option a) -> m ()) -> m () ofoldlM :: Monad m => (a0 -> Element (Option a) -> m a0) -> a0 -> Option a -> m a0 ofoldMap1Ex :: Semigroup m => (Element (Option a) -> m) -> Option a -> m ofoldr1Ex :: (Element (Option a) -> Element (Option a) -> Element (Option a)) -> Option a -> Element (Option a) ofoldl1Ex' :: (Element (Option a) -> Element (Option a) -> Element (Option a)) -> Option a -> Element (Option a) headEx :: Option a -> Element (Option a) lastEx :: Option a -> Element (Option a) unsafeHead :: Option a -> Element (Option a) unsafeLast :: Option a -> Element (Option a) maximumByEx :: (Element (Option a) -> Element (Option a) -> Ordering) -> Option a -> Element (Option a) minimumByEx :: (Element (Option a) -> Element (Option a) -> Ordering) -> Option a -> Element (Option a) | |
MonoFunctor (Option a) | |
MonoPointed (Option a) | |
Defined in Data.MonoTraversable | |
MonoTraversable (Option a) | |
Defined in Data.MonoTraversable | |
Generic1 Option | Since: base-4.9.0.0 |
t ~ Option b => Rewrapped (Option a) t | |
Defined in Control.Lens.Wrapped | |
type Rep (Option a) | |
Defined in Data.Semigroup | |
type Unwrapped (Option a) | |
Defined in Control.Lens.Wrapped | |
type Element (Option a) | |
Defined in Data.MonoTraversable type Element (Option a) = a | |
type Rep1 Option | |
Defined in Data.Semigroup |
class Bifunctor (p :: Type -> Type -> Type) where #
A bifunctor is a type constructor that takes
two type arguments and is a functor in both arguments. That
is, unlike with Functor
, a type constructor such as Either
does not need to be partially applied for a Bifunctor
instance, and the methods in this class permit mapping
functions over the Left
value or the Right
value,
or both at the same time.
Formally, the class Bifunctor
represents a bifunctor
from Hask
-> Hask
.
Intuitively it is a bifunctor where both the first and second arguments are covariant.
You can define a Bifunctor
by either defining bimap
or by
defining both first
and second
.
If you supply bimap
, you should ensure that:
bimap
id
id
≡id
If you supply first
and second
, ensure:
first
id
≡id
second
id
≡id
If you supply both, you should also ensure:
bimap
f g ≡first
f.
second
g
These ensure by parametricity:
bimap
(f.
g) (h.
i) ≡bimap
f h.
bimap
g ifirst
(f.
g) ≡first
f.
first
gsecond
(f.
g) ≡second
f.
second
g
Since: base-4.8.0.0
Methods
bimap :: (a -> b) -> (c -> d) -> p a c -> p b d #
Map over both arguments at the same time.
bimap
f g ≡first
f.
second
g
Examples
>>>
bimap toUpper (+1) ('j', 3)
('J',4)
>>>
bimap toUpper (+1) (Left 'j')
Left 'J'
>>>
bimap toUpper (+1) (Right 3)
Right 4
Instances
Bifunctor Either | Since: base-4.8.0.0 |
Bifunctor (,) | Since: base-4.8.0.0 |
Bifunctor Arg | Since: base-4.9.0.0 |
Bifunctor These | |
Bifunctor T2 | |
Bifunctor Pair | |
Bifunctor Either | |
Bifunctor These | |
Bifunctor ListF | |
Bifunctor NonEmptyF | |
Bifunctor TreeF | |
Bifunctor Gr | |
Bifunctor Product | |
Bifunctor RequestF | |
Bifunctor These | |
Bifunctor ((,,) x1) | Since: base-4.8.0.0 |
Bifunctor (Const :: Type -> Type -> Type) | Since: base-4.8.0.0 |
Functor f => Bifunctor (FreeF f) | |
Bifunctor (Tagged :: Type -> Type -> Type) | |
Bifunctor (T3 x) | |
Functor f => Bifunctor (CofreeF f) | |
Functor f => Bifunctor (AlongsideLeft f) | |
Functor f => Bifunctor (AlongsideRight f) | |
Bifunctor (K1 i :: Type -> Type -> Type) | Since: base-4.9.0.0 |
Bifunctor ((,,,) x1 x2) | Since: base-4.8.0.0 |
Bifunctor (T4 x y) | |
Bifunctor ((,,,,) x1 x2 x3) | Since: base-4.8.0.0 |
Functor f => Bifunctor (Clown f :: Type -> Type -> Type) | |
Bifunctor p => Bifunctor (Flip p) | |
Functor g => Bifunctor (Joker g :: Type -> Type -> Type) | |
Bifunctor p => Bifunctor (WrappedBifunctor p) | |
Bifunctor (T5 x y z) | |
Bifunctor ((,,,,,) x1 x2 x3 x4) | Since: base-4.8.0.0 |
(Bifunctor f, Bifunctor g) => Bifunctor (Product f g) | |
(Bifunctor p, Bifunctor q) => Bifunctor (Sum p q) | |
Bifunctor (T6 x y z w) | |
Bifunctor ((,,,,,,) x1 x2 x3 x4 x5) | Since: base-4.8.0.0 |
(Functor f, Bifunctor p) => Bifunctor (Tannen f p) | |
Bifunctor (T7 x y z w t) | |
Bifunctor (T8 x y z w t u) | |
(Bifunctor p, Functor f, Functor g) => Bifunctor (Biff p f g) | |
Bifunctor (T9 x y z w t u v) | |
Bifunctor (T10 x y z w t u v p) | |
Bifunctor (T11 x y z w t u v p q) | |
Bifunctor (T12 x y z w t u v p q r) | |
Bifunctor (T13 x y z w t u v p q r s) | |
Defined in Data.Tuple.Strict.T13 | |
Bifunctor (T14 x y z w t u v p q r s i) | |
Defined in Data.Tuple.Strict.T14 | |
Bifunctor (T15 x y z w t u v p q r s i j) | |
Defined in Data.Tuple.Strict.T15 | |
Bifunctor (T16 x y z w t u v p q r s i j k) | |
Defined in Data.Tuple.Strict.T16 Methods bimap :: (a -> b) -> (c -> d) -> T16 x y z w t u v p q r s i j k a c -> T16 x y z w t u v p q r s i j k b d # first :: (a -> b) -> T16 x y z w t u v p q r s i j k a c -> T16 x y z w t u v p q r s i j k b c # second :: (b -> c) -> T16 x y z w t u v p q r s i j k a b -> T16 x y z w t u v p q r s i j k a c # | |
Bifunctor (T17 x y z w t u v p q r s i j k l) | |
Defined in Data.Tuple.Strict.T17 Methods bimap :: (a -> b) -> (c -> d) -> T17 x y z w t u v p q r s i j k l a c -> T17 x y z w t u v p q r s i j k l b d # first :: (a -> b) -> T17 x y z w t u v p q r s i j k l a c -> T17 x y z w t u v p q r s i j k l b c # second :: (b -> c) -> T17 x y z w t u v p q r s i j k l a b -> T17 x y z w t u v p q r s i j k l a c # | |
Bifunctor (T18 x y z w t u v p q r s i j k l m) | |
Defined in Data.Tuple.Strict.T18 Methods bimap :: (a -> b) -> (c -> d) -> T18 x y z w t u v p q r s i j k l m a c -> T18 x y z w t u v p q r s i j k l m b d # first :: (a -> b) -> T18 x y z w t u v p q r s i j k l m a c -> T18 x y z w t u v p q r s i j k l m b c # second :: (b -> c) -> T18 x y z w t u v p q r s i j k l m a b -> T18 x y z w t u v p q r s i j k l m a c # | |
Bifunctor (T19 x y z w t u v p q r s i j k l m n) | |
Defined in Data.Tuple.Strict.T19 Methods bimap :: (a -> b) -> (c -> d) -> T19 x y z w t u v p q r s i j k l m n a c -> T19 x y z w t u v p q r s i j k l m n b d # first :: (a -> b) -> T19 x y z w t u v p q r s i j k l m n a c -> T19 x y z w t u v p q r s i j k l m n b c # second :: (b -> c) -> T19 x y z w t u v p q r s i j k l m n a b -> T19 x y z w t u v p q r s i j k l m n a c # |
class Monad m => MonadIO (m :: Type -> Type) where #
Monads in which IO
computations may be embedded.
Any monad built by applying a sequence of monad transformers to the
IO
monad will be an instance of this class.
Instances should satisfy the following laws, which state that liftIO
is a transformer of monads:
Methods
Lift a computation from the IO
monad.
This allows us to run IO computations in any monadic stack, so long as it supports these kinds of operations
(i.e. IO
is the base monad for the stack).
Example
import Control.Monad.Trans.State -- from the "transformers" library printState :: Show s => StateT s IO () printState = do state <- get liftIO $ print state
Had we omitted
, we would have ended up with this error:liftIO
• Couldn't match type ‘IO’ with ‘StateT s IO’ Expected type: StateT s IO () Actual type: IO ()
The important part here is the mismatch between StateT s IO ()
and
.IO
()
Luckily, we know of a function that takes an
and returns an IO
a(m a)
:
,
enabling us to run the program and see the expected results:liftIO
> evalStateT printState "hello" "hello" > evalStateT printState 3 3
Instances
errorBadArgument :: a #
Calls perror
to indicate that there is a type
error or similar in the given argument.
Since: base-4.7.0.0
errorMissingArgument :: a #
Calls perror
to indicate that there is a missing
argument in the argument list.
Since: base-4.7.0.0
errorShortFormat :: a #
Calls perror
to indicate that the format string ended
early.
Since: base-4.7.0.0
errorBadFormat :: Char -> a #
Calls perror
to indicate an unknown format letter for
a given type.
Since: base-4.7.0.0
Raises an error
with a printf-specific prefix on the
message string.
Since: base-4.7.0.0
formatRealFloat :: RealFloat a => a -> FieldFormatter #
Formatter for RealFloat
values.
Since: base-4.7.0.0
formatInteger :: Integer -> FieldFormatter #
Formatter for Integer
values.
Since: base-4.7.0.0
formatInt :: (Integral a, Bounded a) => a -> FieldFormatter #
Formatter for Int
values.
Since: base-4.7.0.0
formatString :: IsChar a => [a] -> FieldFormatter #
Formatter for String
values.
Since: base-4.7.0.0
formatChar :: Char -> FieldFormatter #
Formatter for Char
values.
Since: base-4.7.0.0
vFmt :: Char -> FieldFormat -> FieldFormat #
Substitute a 'v' format character with the given
default format character in the FieldFormat
. A
convenience for user-implemented types, which should
support "%v".
Since: base-4.7.0.0
hPrintf :: HPrintfType r => Handle -> String -> r #
printf :: PrintfType r => String -> r #
Format a variable number of arguments with the C-style formatting string.
>>>
printf "%s, %d, %.4f" "hello" 123 pi
hello, 123, 3.1416
The return value is either String
or (
(which
should be IO
a)(
, but Haskell's type system
makes this hard).IO
())
The format string consists of ordinary characters and
conversion specifications, which specify how to format
one of the arguments to printf
in the output string. A
format specification is introduced by the %
character;
this character can be self-escaped into the format string
using %%
. A format specification ends with a
format character that provides the primary information about
how to format the value. The rest of the conversion
specification is optional. In order, one may have flag
characters, a width specifier, a precision specifier, and
type-specific modifier characters.
Unlike C printf(3)
, the formatting of this printf
is driven by the argument type; formatting is type specific. The
types formatted by printf
"out of the box" are:
printf
is also extensible to support other types: see below.
A conversion specification begins with the
character %
, followed by zero or more of the following flags:
- left adjust (default is right adjust) + always use a sign (+ or -) for signed conversions space leading space for positive numbers in signed conversions 0 pad with zeros rather than spaces # use an \"alternate form\": see below
When both flags are given, -
overrides 0
and +
overrides space.
A negative width specifier in a *
conversion is treated as
positive but implies the left adjust flag.
The "alternate form" for unsigned radix conversions is
as in C printf(3)
:
%o prefix with a leading 0 if needed %x prefix with a leading 0x if nonzero %X prefix with a leading 0X if nonzero %b prefix with a leading 0b if nonzero %[eEfFgG] ensure that the number contains a decimal point
Any flags are followed optionally by a field width:
num field width * as num, but taken from argument list
The field width is a minimum, not a maximum: it will be expanded as needed to avoid mutilating a value.
Any field width is followed optionally by a precision:
.num precision . same as .0 .* as num, but taken from argument list
Negative precision is taken as 0. The meaning of the precision depends on the conversion type.
Integral minimum number of digits to show RealFloat number of digits after the decimal point String maximum number of characters
The precision for Integral types is accomplished by zero-padding. If both precision and zero-pad are given for an Integral field, the zero-pad is ignored.
Any precision is followed optionally for Integral types by a width modifier; the only use of this modifier being to set the implicit size of the operand for conversion of a negative operand to unsigned:
hh Int8 h Int16 l Int32 ll Int64 L Int64
The specification ends with a format character:
c character Integral d decimal Integral o octal Integral x hexadecimal Integral X hexadecimal Integral b binary Integral u unsigned decimal Integral f floating point RealFloat F floating point RealFloat g general format float RealFloat G general format float RealFloat e exponent format float RealFloat E exponent format float RealFloat s string String v default format any type
The "%v" specifier is provided for all built-in types, and should be provided for user-defined type formatters as well. It picks a "best" representation for the given type. For the built-in types the "%v" specifier is converted as follows:
c Char u other unsigned Integral d other signed Integral g RealFloat s String
Mismatch between the argument types and the format string, as well as any other syntactic or semantic errors in the format string, will cause an exception to be thrown at runtime.
Note that the formatting for RealFloat
types is
currently a bit different from that of C printf(3)
,
conforming instead to showEFloat
,
showFFloat
and showGFloat
(and their
alternate versions showFFloatAlt
and
showGFloatAlt
). This is hard to fix: the fixed
versions would format in a backward-incompatible way.
In any case the Haskell behavior is generally more
sensible than the C behavior. A brief summary of some
key differences:
- Haskell
printf
never uses the default "6-digit" precision used by C printf. - Haskell
printf
treats the "precision" specifier as indicating the number of digits after the decimal point. - Haskell
printf
prints the exponent of e-format numbers without a gratuitous plus sign, and with the minimum possible number of digits. - Haskell
printf
will place a zero after a decimal point when possible.
class PrintfType t #
The PrintfType
class provides the variable argument magic for
printf
. Its implementation is intentionally not visible from
this module. If you attempt to pass an argument of a type which
is not an instance of this class to printf
or hPrintf
, then
the compiler will report it as a missing instance of PrintfArg
.
Minimal complete definition
spr
Instances
IsChar c => PrintfType [c] | Since: base-2.1 |
Defined in Text.Printf | |
a ~ () => PrintfType (IO a) | Since: base-4.7.0.0 |
Defined in Text.Printf | |
(PrintfArg a, PrintfType r) => PrintfType (a -> r) | Since: base-2.1 |
Defined in Text.Printf |
class HPrintfType t #
The HPrintfType
class provides the variable argument magic for
hPrintf
. Its implementation is intentionally not visible from
this module.
Minimal complete definition
hspr
Instances
a ~ () => HPrintfType (IO a) | Since: base-4.7.0.0 |
Defined in Text.Printf | |
(PrintfArg a, HPrintfType r) => HPrintfType (a -> r) | Since: base-2.1 |
Defined in Text.Printf |
Typeclass of printf
-formattable values. The formatArg
method
takes a value and a field format descriptor and either fails due
to a bad descriptor or produces a ShowS
as the result. The
default parseFormat
expects no modifiers: this is the normal
case. Minimal instance: formatArg
.
Minimal complete definition
Methods
formatArg :: a -> FieldFormatter #
Since: base-4.7.0.0
parseFormat :: a -> ModifierParser #
Since: base-4.7.0.0
Instances
PrintfArg Char | Since: base-2.1 |
Defined in Text.Printf | |
PrintfArg Double | Since: base-2.1 |
Defined in Text.Printf | |
PrintfArg Float | Since: base-2.1 |
Defined in Text.Printf | |
PrintfArg Int | Since: base-2.1 |
Defined in Text.Printf | |
PrintfArg Int8 | Since: base-2.1 |
Defined in Text.Printf | |
PrintfArg Int16 | Since: base-2.1 |
Defined in Text.Printf | |
PrintfArg Int32 | Since: base-2.1 |
Defined in Text.Printf | |
PrintfArg Int64 | Since: base-2.1 |
Defined in Text.Printf | |
PrintfArg Integer | Since: base-2.1 |
Defined in Text.Printf | |
PrintfArg Natural | Since: base-4.8.0.0 |
Defined in Text.Printf | |
PrintfArg Word | Since: base-2.1 |
Defined in Text.Printf | |
PrintfArg Word8 | Since: base-2.1 |
Defined in Text.Printf | |
PrintfArg Word16 | Since: base-2.1 |
Defined in Text.Printf | |
PrintfArg Word32 | Since: base-2.1 |
Defined in Text.Printf | |
PrintfArg Word64 | Since: base-2.1 |
Defined in Text.Printf | |
PrintfArg ShortText | |
Defined in Data.Text.Short.Internal | |
IsChar c => PrintfArg [c] | Since: base-2.1 |
Defined in Text.Printf |
data FormatAdjustment #
Whether to left-adjust or zero-pad a field. These are
mutually exclusive, with LeftAdjust
taking precedence.
Since: base-4.7.0.0
Constructors
LeftAdjust | |
ZeroPad |
data FormatSign #
How to handle the sign of a numeric field. These are
mutually exclusive, with SignPlus
taking precedence.
Since: base-4.7.0.0
data FieldFormat #
Description of field formatting for formatArg
. See UNIX printf(3)
for a description of how field formatting works.
Since: base-4.7.0.0
Constructors
FieldFormat | |
Fields
|
data FormatParse #
The "format parser" walks over argument-type-specific modifier characters to find the primary format character. This is the type of its result.
Since: base-4.7.0.0
Constructors
FormatParse | |
type FieldFormatter = FieldFormat -> ShowS #
This is the type of a field formatter reified over its argument.
Since: base-4.7.0.0
type ModifierParser = String -> FormatParse #
Type of a function that will parse modifier characters from the format string.
Since: base-4.7.0.0
replicateM_ :: Applicative m => Int -> m a -> m () #
Like replicateM
, but discards the result.
replicateM :: Applicative m => Int -> m a -> m [a] #
performs the action replicateM
n actn
times,
gathering the results.
Using ApplicativeDo
: '
' can be understood as
the replicateM
5 asdo
expression
do a1 <- as a2 <- as a3 <- as a4 <- as a5 <- as pure [a1,a2,a3,a4,a5]
Note the Applicative
constraint.
foldM_ :: (Foldable t, Monad m) => (b -> a -> m b) -> b -> t a -> m () #
Like foldM
, but discards the result.
zipWithM_ :: Applicative m => (a -> b -> m c) -> [a] -> [b] -> m () #
zipWithM :: Applicative m => (a -> b -> m c) -> [a] -> [b] -> m [c] #
mapAndUnzipM :: Applicative m => (a -> m (b, c)) -> [a] -> m ([b], [c]) #
The mapAndUnzipM
function maps its first argument over a list, returning
the result as a pair of lists. This function is mainly used with complicated
data structures or a state monad.
forever :: Applicative f => f a -> f b #
Repeat an action indefinitely.
Using ApplicativeDo
: '
' can be understood as the
pseudo-forever
asdo
expression
do as as ..
with as
repeating.
Examples
A common use of forever
is to process input from network sockets,
Handle
s, and channels
(e.g. MVar
and
Chan
).
For example, here is how we might implement an echo
server, using
forever
both to listen for client connections on a network socket
and to echo client input on client connection handles:
echoServer :: Socket -> IO () echoServer socket =forever
$ do client <- accept socketforkFinally
(echo client) (\_ -> hClose client) where echo :: Handle -> IO () echo client =forever
$ hGetLine client >>= hPutStrLn client
(>=>) :: Monad m => (a -> m b) -> (b -> m c) -> a -> m c infixr 1 #
Left-to-right composition of Kleisli arrows.
'(bs
' can be understood as the >=>
cs) ado
expression
do b <- bs a cs b
traceMarkerIO :: String -> IO () #
The traceMarkerIO
function emits a marker to the eventlog, if eventlog
profiling is available and enabled at runtime.
Compared to traceMarker
, traceMarkerIO
sequences the event with respect to
other IO actions.
Since: base-4.7.0.0
traceMarker :: String -> a -> a #
The traceMarker
function emits a marker to the eventlog, if eventlog
profiling is available and enabled at runtime. The String
is the name of
the marker. The name is just used in the profiling tools to help you keep
clear which marker is which.
This function is suitable for use in pure code. In an IO context use
traceMarkerIO
instead.
Note that when using GHC's SMP runtime, it is possible (but rare) to get
duplicate events emitted if two CPUs simultaneously evaluate the same thunk
that uses traceMarker
.
Since: base-4.7.0.0
traceEventIO :: String -> IO () #
The traceEventIO
function emits a message to the eventlog, if eventlog
profiling is available and enabled at runtime.
Compared to traceEvent
, traceEventIO
sequences the event with respect to
other IO actions.
Since: base-4.5.0.0
traceEvent :: String -> a -> a #
The traceEvent
function behaves like trace
with the difference that
the message is emitted to the eventlog, if eventlog profiling is available
and enabled at runtime.
It is suitable for use in pure code. In an IO context use traceEventIO
instead.
Note that when using GHC's SMP runtime, it is possible (but rare) to get
duplicate events emitted if two CPUs simultaneously evaluate the same thunk
that uses traceEvent
.
Since: base-4.5.0.0
traceStack :: String -> a -> a #
like trace
, but additionally prints a call stack if one is
available.
In the current GHC implementation, the call stack is only
available if the program was compiled with -prof
; otherwise
traceStack
behaves exactly like trace
. Entries in the call
stack correspond to SCC
annotations, so it is a good idea to use
-fprof-auto
or -fprof-auto-calls
to add SCC annotations automatically.
Since: base-4.5.0.0
traceShowM :: (Show a, Applicative f) => a -> f () #
traceM :: Applicative f => String -> f () #
Like trace
but returning unit in an arbitrary Applicative
context. Allows
for convenient use in do-notation.
Note that the application of traceM
is not an action in the Applicative
context, as traceIO
is in the IO
type. While the fresh bindings in the
following example will force the traceM
expressions to be reduced every time
the do
-block is executed, traceM "not crashed"
would only be reduced once,
and the message would only be printed once. If your monad is in
MonadIO
,
may be a better option.liftIO
. traceIO
>>>
:{
do x <- Just 3 traceM ("x: " ++ show x) y <- pure 12 traceM ("y: " ++ show y) pure (x*2 + y) :} x: 3 y: 12 Just 18
Since: base-4.7.0.0
traceShowId :: Show a => a -> a #
Like traceShow
but returns the shown value instead of a third value.
>>>
traceShowId (1+2+3, "hello" ++ "world")
(6,"helloworld") (6,"helloworld")
Since: base-4.7.0.0
Like trace
but returns the message instead of a third value.
>>>
traceId "hello"
"hello hello"
Since: base-4.7.0.0
putTraceMsg :: String -> IO () #
The traceIO
function outputs the trace message from the IO monad.
This sequences the output with respect to other IO actions.
Since: base-4.5.0.0
foldMapDefault :: (Traversable t, Monoid m) => (a -> m) -> t a -> m #
fmapDefault :: Traversable t => (a -> b) -> t a -> t b #
This function may be used as a value for fmap
in a Functor
instance, provided that traverse
is defined. (Using
fmapDefault
with a Traversable
instance defined only by
sequenceA
will result in infinite recursion.)
fmapDefault
f ≡runIdentity
.traverse
(Identity
. f)
mapAccumR :: Traversable t => (a -> b -> (a, c)) -> a -> t b -> (a, t c) #
The mapAccumR
function behaves like a combination of fmap
and foldr
; it applies a function to each element of a structure,
passing an accumulating parameter from right to left, and returning
a final value of this accumulator together with the new structure.
Examples
Basic usage:
>>>
mapAccumR (\a b -> (a + b, a)) 0 [1..10]
(55,[54,52,49,45,40,34,27,19,10,0])
>>>
mapAccumR (\a b -> (a <> show b, a)) "0" [1..5]
("054321",["05432","0543","054","05","0"])
mapAccumL :: Traversable t => (a -> b -> (a, c)) -> a -> t b -> (a, t c) #
The mapAccumL
function behaves like a combination of fmap
and foldl
; it applies a function to each element of a structure,
passing an accumulating parameter from left to right, and returning
a final value of this accumulator together with the new structure.
Examples
Basic usage:
>>>
mapAccumL (\a b -> (a + b, a)) 0 [1..10]
(55,[0,1,3,6,10,15,21,28,36,45])
>>>
mapAccumL (\a b -> (a <> show b, a)) "0" [1..5]
("012345",["0","01","012","0123","01234"])
forM :: (Traversable t, Monad m) => t a -> (a -> m b) -> m (t b) #
newtype WrappedMonad (m :: Type -> Type) a #
Constructors
WrapMonad | |
Fields
|
Instances
Monad m => Monad (WrappedMonad m) | Since: base-4.7.0.0 |
Defined in Control.Applicative Methods (>>=) :: WrappedMonad m a -> (a -> WrappedMonad m b) -> WrappedMonad m b # (>>) :: WrappedMonad m a -> WrappedMonad m b -> WrappedMonad m b # return :: a -> WrappedMonad m a # | |
Monad m => Functor (WrappedMonad m) | Since: base-2.1 |
Defined in Control.Applicative Methods fmap :: (a -> b) -> WrappedMonad m a -> WrappedMonad m b # (<$) :: a -> WrappedMonad m b -> WrappedMonad m a # | |
Monad m => Applicative (WrappedMonad m) | Since: base-2.1 |
Defined in Control.Applicative Methods pure :: a -> WrappedMonad m a # (<*>) :: WrappedMonad m (a -> b) -> WrappedMonad m a -> WrappedMonad m b # liftA2 :: (a -> b -> c) -> WrappedMonad m a -> WrappedMonad m b -> WrappedMonad m c # (*>) :: WrappedMonad m a -> WrappedMonad m b -> WrappedMonad m b # (<*) :: WrappedMonad m a -> WrappedMonad m b -> WrappedMonad m a # | |
MonadPlus m => Alternative (WrappedMonad m) | Since: base-2.1 |
Defined in Control.Applicative Methods empty :: WrappedMonad m a # (<|>) :: WrappedMonad m a -> WrappedMonad m a -> WrappedMonad m a # some :: WrappedMonad m a -> WrappedMonad m [a] # many :: WrappedMonad m a -> WrappedMonad m [a] # | |
Monad m => Apply (WrappedMonad m) | |
Defined in Data.Functor.Bind.Class Methods (<.>) :: WrappedMonad m (a -> b) -> WrappedMonad m a -> WrappedMonad m b (.>) :: WrappedMonad m a -> WrappedMonad m b -> WrappedMonad m b (<.) :: WrappedMonad m a -> WrappedMonad m b -> WrappedMonad m a liftF2 :: (a -> b -> c) -> WrappedMonad m a -> WrappedMonad m b -> WrappedMonad m c | |
Monad m => Bind (WrappedMonad m) | |
Defined in Data.Functor.Bind.Class Methods (>>-) :: WrappedMonad m a -> (a -> WrappedMonad m b) -> WrappedMonad m b join :: WrappedMonad m (WrappedMonad m a) -> WrappedMonad m a | |
(Distributive m, Monad m) => Distributive (WrappedMonad m) | |
Defined in Data.Distributive Methods distribute :: Functor f => f (WrappedMonad m a) -> WrappedMonad m (f a) collect :: Functor f => (a -> WrappedMonad m b) -> f a -> WrappedMonad m (f b) distributeM :: Monad m0 => m0 (WrappedMonad m a) -> WrappedMonad m (m0 a) collectM :: Monad m0 => (a -> WrappedMonad m b) -> m0 a -> WrappedMonad m (m0 b) | |
Generic1 (WrappedMonad m :: Type -> Type) | Since: base-4.7.0.0 |
Defined in Control.Applicative Associated Types type Rep1 (WrappedMonad m) :: k -> Type # Methods from1 :: forall (a :: k). WrappedMonad m a -> Rep1 (WrappedMonad m) a # to1 :: forall (a :: k). Rep1 (WrappedMonad m) a -> WrappedMonad m a # | |
(Typeable m, Typeable a, Data (m a)) => Data (WrappedMonad m a) | Since: base-4.14.0.0 |
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> WrappedMonad m a -> c (WrappedMonad m a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (WrappedMonad m a) # toConstr :: WrappedMonad m a -> Constr # dataTypeOf :: WrappedMonad m a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (WrappedMonad m a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (WrappedMonad m a)) # gmapT :: (forall b. Data b => b -> b) -> WrappedMonad m a -> WrappedMonad m a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> WrappedMonad m a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> WrappedMonad m a -> r # gmapQ :: (forall d. Data d => d -> u) -> WrappedMonad m a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> WrappedMonad m a -> u # gmapM :: Monad m0 => (forall d. Data d => d -> m0 d) -> WrappedMonad m a -> m0 (WrappedMonad m a) # gmapMp :: MonadPlus m0 => (forall d. Data d => d -> m0 d) -> WrappedMonad m a -> m0 (WrappedMonad m a) # gmapMo :: MonadPlus m0 => (forall d. Data d => d -> m0 d) -> WrappedMonad m a -> m0 (WrappedMonad m a) # | |
Generic (WrappedMonad m a) | Since: base-4.7.0.0 |
Defined in Control.Applicative Associated Types type Rep (WrappedMonad m a) :: Type -> Type # Methods from :: WrappedMonad m a -> Rep (WrappedMonad m a) x # to :: Rep (WrappedMonad m a) x -> WrappedMonad m a # | |
Wrapped (WrappedMonad m a) | |
Defined in Control.Lens.Wrapped Associated Types type Unwrapped (WrappedMonad m a) # Methods _Wrapped' :: Iso' (WrappedMonad m a) (Unwrapped (WrappedMonad m a)) # | |
Monad m => MonoFunctor (WrappedMonad m a) | |
Defined in Data.MonoTraversable Methods omap :: (Element (WrappedMonad m a) -> Element (WrappedMonad m a)) -> WrappedMonad m a -> WrappedMonad m a | |
Monad m => MonoPointed (WrappedMonad m a) | |
Defined in Data.MonoTraversable Methods opoint :: Element (WrappedMonad m a) -> WrappedMonad m a | |
t ~ WrappedMonad m' a' => Rewrapped (WrappedMonad m a) t | |
Defined in Control.Lens.Wrapped | |
type Rep1 (WrappedMonad m :: Type -> Type) | |
Defined in Control.Applicative type Rep1 (WrappedMonad m :: Type -> Type) = D1 ('MetaData "WrappedMonad" "Control.Applicative" "base" 'True) (C1 ('MetaCons "WrapMonad" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrapMonad") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 m))) | |
type Rep (WrappedMonad m a) | |
Defined in Control.Applicative type Rep (WrappedMonad m a) = D1 ('MetaData "WrappedMonad" "Control.Applicative" "base" 'True) (C1 ('MetaCons "WrapMonad" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrapMonad") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (m a)))) | |
type Unwrapped (WrappedMonad m a) | |
Defined in Control.Lens.Wrapped | |
type Element (WrappedMonad m a) | |
Defined in Data.MonoTraversable type Element (WrappedMonad m a) = a |
newtype WrappedArrow (a :: Type -> Type -> Type) b c #
Constructors
WrapArrow | |
Fields
|
Instances
Generic1 (WrappedArrow a b :: Type -> Type) | Since: base-4.7.0.0 |
Defined in Control.Applicative Associated Types type Rep1 (WrappedArrow a b) :: k -> Type # Methods from1 :: forall (a0 :: k). WrappedArrow a b a0 -> Rep1 (WrappedArrow a b) a0 # to1 :: forall (a0 :: k). Rep1 (WrappedArrow a b) a0 -> WrappedArrow a b a0 # | |
Arrow a => Functor (WrappedArrow a b) | Since: base-2.1 |
Defined in Control.Applicative Methods fmap :: (a0 -> b0) -> WrappedArrow a b a0 -> WrappedArrow a b b0 # (<$) :: a0 -> WrappedArrow a b b0 -> WrappedArrow a b a0 # | |
Arrow a => Applicative (WrappedArrow a b) | Since: base-2.1 |
Defined in Control.Applicative Methods pure :: a0 -> WrappedArrow a b a0 # (<*>) :: WrappedArrow a b (a0 -> b0) -> WrappedArrow a b a0 -> WrappedArrow a b b0 # liftA2 :: (a0 -> b0 -> c) -> WrappedArrow a b a0 -> WrappedArrow a b b0 -> WrappedArrow a b c # (*>) :: WrappedArrow a b a0 -> WrappedArrow a b b0 -> WrappedArrow a b b0 # (<*) :: WrappedArrow a b a0 -> WrappedArrow a b b0 -> WrappedArrow a b a0 # | |
(ArrowZero a, ArrowPlus a) => Alternative (WrappedArrow a b) | Since: base-2.1 |
Defined in Control.Applicative Methods empty :: WrappedArrow a b a0 # (<|>) :: WrappedArrow a b a0 -> WrappedArrow a b a0 -> WrappedArrow a b a0 # some :: WrappedArrow a b a0 -> WrappedArrow a b [a0] # many :: WrappedArrow a b a0 -> WrappedArrow a b [a0] # | |
Arrow a => Apply (WrappedArrow a b) | |
Defined in Data.Functor.Bind.Class Methods (<.>) :: WrappedArrow a b (a0 -> b0) -> WrappedArrow a b a0 -> WrappedArrow a b b0 (.>) :: WrappedArrow a b a0 -> WrappedArrow a b b0 -> WrappedArrow a b b0 (<.) :: WrappedArrow a b a0 -> WrappedArrow a b b0 -> WrappedArrow a b a0 liftF2 :: (a0 -> b0 -> c) -> WrappedArrow a b a0 -> WrappedArrow a b b0 -> WrappedArrow a b c | |
(Typeable a, Typeable b, Typeable c, Data (a b c)) => Data (WrappedArrow a b c) | Since: base-4.14.0.0 |
Defined in Data.Data Methods gfoldl :: (forall d b0. Data d => c0 (d -> b0) -> d -> c0 b0) -> (forall g. g -> c0 g) -> WrappedArrow a b c -> c0 (WrappedArrow a b c) # gunfold :: (forall b0 r. Data b0 => c0 (b0 -> r) -> c0 r) -> (forall r. r -> c0 r) -> Constr -> c0 (WrappedArrow a b c) # toConstr :: WrappedArrow a b c -> Constr # dataTypeOf :: WrappedArrow a b c -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c0 (t d)) -> Maybe (c0 (WrappedArrow a b c)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c0 (t d e)) -> Maybe (c0 (WrappedArrow a b c)) # gmapT :: (forall b0. Data b0 => b0 -> b0) -> WrappedArrow a b c -> WrappedArrow a b c # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> WrappedArrow a b c -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> WrappedArrow a b c -> r # gmapQ :: (forall d. Data d => d -> u) -> WrappedArrow a b c -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> WrappedArrow a b c -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> WrappedArrow a b c -> m (WrappedArrow a b c) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> WrappedArrow a b c -> m (WrappedArrow a b c) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> WrappedArrow a b c -> m (WrappedArrow a b c) # | |
Generic (WrappedArrow a b c) | Since: base-4.7.0.0 |
Defined in Control.Applicative Associated Types type Rep (WrappedArrow a b c) :: Type -> Type # Methods from :: WrappedArrow a b c -> Rep (WrappedArrow a b c) x # to :: Rep (WrappedArrow a b c) x -> WrappedArrow a b c # | |
Wrapped (WrappedArrow a b c) | |
Defined in Control.Lens.Wrapped Associated Types type Unwrapped (WrappedArrow a b c) # Methods _Wrapped' :: Iso' (WrappedArrow a b c) (Unwrapped (WrappedArrow a b c)) # | |
Arrow a => MonoFunctor (WrappedArrow a b c) | |
Defined in Data.MonoTraversable Methods omap :: (Element (WrappedArrow a b c) -> Element (WrappedArrow a b c)) -> WrappedArrow a b c -> WrappedArrow a b c | |
Arrow a => MonoPointed (WrappedArrow a b c) | |
Defined in Data.MonoTraversable Methods opoint :: Element (WrappedArrow a b c) -> WrappedArrow a b c | |
t ~ WrappedArrow a' b' c' => Rewrapped (WrappedArrow a b c) t | |
Defined in Control.Lens.Wrapped | |
type Rep1 (WrappedArrow a b :: Type -> Type) | |
Defined in Control.Applicative type Rep1 (WrappedArrow a b :: Type -> Type) = D1 ('MetaData "WrappedArrow" "Control.Applicative" "base" 'True) (C1 ('MetaCons "WrapArrow" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrapArrow") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 (a b)))) | |
type Rep (WrappedArrow a b c) | |
Defined in Control.Applicative type Rep (WrappedArrow a b c) = D1 ('MetaData "WrappedArrow" "Control.Applicative" "base" 'True) (C1 ('MetaCons "WrapArrow" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrapArrow") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (a b c)))) | |
type Unwrapped (WrappedArrow a b c) | |
Defined in Control.Lens.Wrapped | |
type Element (WrappedArrow a b c) | |
Defined in Data.MonoTraversable type Element (WrappedArrow a b c) = c |
Lists, but with an Applicative
functor based on zipping.
Constructors
ZipList | |
Fields
|
Instances
Functor ZipList | Since: base-2.1 |
Applicative ZipList | f <$> ZipList xs1 <*> ... <*> ZipList xsN = ZipList (zipWithN f xs1 ... xsN) where (\a b c -> stimes c [a, b]) <$> ZipList "abcd" <*> ZipList "567" <*> ZipList [1..] = ZipList (zipWith3 (\a b c -> stimes c [a, b]) "abcd" "567" [1..]) = ZipList {getZipList = ["a5","b6b6","c7c7c7"]} Since: base-2.1 |
Foldable ZipList | Since: base-4.9.0.0 |
Defined in Control.Applicative Methods fold :: Monoid m => ZipList m -> m # foldMap :: Monoid m => (a -> m) -> ZipList a -> m # foldMap' :: Monoid m => (a -> m) -> ZipList a -> m # foldr :: (a -> b -> b) -> b -> ZipList a -> b # foldr' :: (a -> b -> b) -> b -> ZipList a -> b # foldl :: (b -> a -> b) -> b -> ZipList a -> b # foldl' :: (b -> a -> b) -> b -> ZipList a -> b # foldr1 :: (a -> a -> a) -> ZipList a -> a # foldl1 :: (a -> a -> a) -> ZipList a -> a # elem :: Eq a => a -> ZipList a -> Bool # maximum :: Ord a => ZipList a -> a # minimum :: Ord a => ZipList a -> a # | |
Traversable ZipList | Since: base-4.9.0.0 |
Alternative ZipList | Since: base-4.11.0.0 |
NFData1 ZipList | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
Apply ZipList | |
Metric ZipList | |
Additive ZipList | |
Defined in Linear.Vector | |
FoldableWithIndex Int ZipList | |
Defined in WithIndex | |
FunctorWithIndex Int ZipList | |
TraversableWithIndex Int ZipList | |
IsList (ZipList a) | Since: base-4.15.0.0 |
Eq a => Eq (ZipList a) | Since: base-4.7.0.0 |
Data a => Data (ZipList a) | Since: base-4.14.0.0 |
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ZipList a -> c (ZipList a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (ZipList a) # toConstr :: ZipList a -> Constr # dataTypeOf :: ZipList a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (ZipList a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (ZipList a)) # gmapT :: (forall b. Data b => b -> b) -> ZipList a -> ZipList a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ZipList a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ZipList a -> r # gmapQ :: (forall d. Data d => d -> u) -> ZipList a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> ZipList a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> ZipList a -> m (ZipList a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ZipList a -> m (ZipList a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ZipList a -> m (ZipList a) # | |
Ord a => Ord (ZipList a) | Since: base-4.7.0.0 |
Read a => Read (ZipList a) | Since: base-4.7.0.0 |
Show a => Show (ZipList a) | Since: base-4.7.0.0 |
Generic (ZipList a) | Since: base-4.7.0.0 |
NFData a => NFData (ZipList a) | Since: deepseq-1.4.0.0 |
Defined in Control.DeepSeq | |
AsEmpty (ZipList a) | |
Defined in Control.Lens.Empty | |
Wrapped (ZipList a) | |
MonoFunctor (ZipList a) | |
MonoPointed (ZipList a) | |
Defined in Data.MonoTraversable | |
Generic1 ZipList | Since: base-4.7.0.0 |
t ~ ZipList b => Rewrapped (ZipList a) t | |
Defined in Control.Lens.Wrapped | |
Cons (ZipList a) (ZipList b) a b | |
Snoc (ZipList a) (ZipList b) a b | |
type Rep (ZipList a) | |
Defined in Control.Applicative | |
type Item (ZipList a) | |
type Unwrapped (ZipList a) | |
Defined in Control.Lens.Wrapped | |
type Element (ZipList a) | |
Defined in Data.MonoTraversable type Element (ZipList a) = a | |
type Rep1 ZipList | |
Defined in Control.Applicative |
unsafeFixIO :: (a -> IO a) -> IO a #
A slightly faster version of fixIO
that may not be
safe to use with multiple threads. The unsafety arises when used
like this:
unsafeFixIO $ \r -> do forkIO (print r) return (...)
In this case, the child thread will receive a NonTermination
exception instead of waiting for the value of r
to be computed.
Since: base-4.5.0.0
minimumBy :: Foldable t => (a -> a -> Ordering) -> t a -> a #
The least element of a non-empty structure with respect to the given comparison function.
Examples
Basic usage:
>>>
minimumBy (compare `on` length) ["Hello", "World", "!", "Longest", "bar"]
"!"
maximumBy :: Foldable t => (a -> a -> Ordering) -> t a -> a #
The largest element of a non-empty structure with respect to the given comparison function.
Examples
Basic usage:
>>>
maximumBy (compare `on` length) ["Hello", "World", "!", "Longest", "bar"]
"Longest"
asum :: (Foldable t, Alternative f) => t (f a) -> f a #
The sum of a collection of actions, generalizing concat
.
asum
is just like msum
, but generalised to Alternative
.
Examples
Basic usage:
>>>
asum [Just "Hello", Nothing, Just "World"]
Just "Hello"
sequenceA_ :: (Foldable t, Applicative f) => t (f a) -> f () #
Evaluate each action in the structure from left to right, and
ignore the results. For a version that doesn't ignore the results
see sequenceA
.
sequenceA_
is just like sequence_
, but generalised to Applicative
actions.
Examples
Basic usage:
>>>
sequenceA_ [print "Hello", print "world", print "!"]
"Hello" "world" "!"
foldlM :: (Foldable t, Monad m) => (b -> a -> m b) -> b -> t a -> m b #
Monadic fold over the elements of a structure. This type of fold is right-associative in the monadic effects, and left-associative in the output value.
Given a structure t
with elements (a, b, ..., w, x, y)
, the result of
a fold with an operator function f
is equivalent to:
foldlM f z t = do { aa <- f z a; bb <- f aa b; ... ; xx <- f ww x; f xx y }
If in a MonadPlus
the bind short-circuits, the evaluated effects will be
from an initial portion of the sequence. If you want to evaluate the
monadic effects in right-to-left order, or perhaps be able to short-circuit
after processing a tail of the sequence of elements, you'll need to use
foldrM
instead.
If the monadic effects don't short-circuit, the outer-most application of
f
is to the right-most element y
, so that, ignoring effects, the result
looks like a left fold:
((((z `f` a) `f` b) ... `f` w) `f` x) `f` y
and yet, right-associative monadic binds, rather than left-associative
applications of f
, sequence the computation.
Examples
Basic usage:
>>>
let f a e = do { print e ; return $ e : a }
>>>
foldlM f [] [0..3]
0 1 2 3 [3,2,1,0]
foldrM :: (Foldable t, Monad m) => (a -> b -> m b) -> b -> t a -> m b #
Monadic fold over the elements of a structure. This type of fold is left-associative in the monadic effects, and right-associative in the output value.
Given a structure t
with elements (a, b, c, ..., x, y)
, the result of
a fold with an operator function f
is equivalent to:
foldrM f z t = do { yy <- f y z; xx <- f x yy; ... ; bb <- f b cc; f a bb }
If in a MonadPlus
the bind short-circuits, the evaluated effects will be
from a tail of the sequence. If you want to evaluate the monadic effects in
left-to-right order, or perhaps be able to short-circuit after an initial
sequence of elements, you'll need to use foldlM
instead.
If the monadic effects don't short-circuit, the outer-most application of
f
is to left-most element a
, so that, ignoring effects, the result looks
like a right fold:
a `f` (b `f` (c `f` (... (x `f` (y `f` z))))).
and yet, left-associative monadic binds, rather than right-associative
applications of f
, sequence the computation.
Examples
Basic usage:
>>>
let f i acc = do { print i ; return $ i : acc }
>>>
foldrM f [] [0..3]
3 2 1 0 [0,1,2,3]
stimesMonoid :: (Integral b, Monoid a) => b -> a -> a #
stimesIdempotent :: Integral b => b -> a -> a #
The dual of a Monoid
, obtained by swapping the arguments of mappend
.
>>>
getDual (mappend (Dual "Hello") (Dual "World"))
"WorldHello"
Instances
Monad Dual | Since: base-4.8.0.0 |
Functor Dual | Since: base-4.8.0.0 |
MonadFix Dual | Since: base-4.8.0.0 |
Defined in Control.Monad.Fix | |
Applicative Dual | Since: base-4.8.0.0 |
Foldable Dual | Since: base-4.8.0.0 |
Defined in Data.Foldable Methods fold :: Monoid m => Dual m -> m # foldMap :: Monoid m => (a -> m) -> Dual a -> m # foldMap' :: Monoid m => (a -> m) -> Dual a -> m # foldr :: (a -> b -> b) -> b -> Dual a -> b # foldr' :: (a -> b -> b) -> b -> Dual a -> b # foldl :: (b -> a -> b) -> b -> Dual a -> b # foldl' :: (b -> a -> b) -> b -> Dual a -> b # foldr1 :: (a -> a -> a) -> Dual a -> a # foldl1 :: (a -> a -> a) -> Dual a -> a # elem :: Eq a => a -> Dual a -> Bool # maximum :: Ord a => Dual a -> a # | |
Traversable Dual | Since: base-4.8.0.0 |
NFData1 Dual | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
Apply Dual | |
Bind Dual | |
Distributive Dual | |
Representable Dual | |
Foldable1 Dual | |
Defined in Data.Semigroup.Foldable.Class | |
Traversable1 Dual | |
FromJSON1 Dual | |
Defined in Data.Aeson.Types.FromJSON Methods liftParseJSON :: (Value -> Parser a) -> (Value -> Parser [a]) -> Value -> Parser (Dual a) liftParseJSONList :: (Value -> Parser a) -> (Value -> Parser [a]) -> Value -> Parser [Dual a] | |
ToJSON1 Dual | |
Defined in Data.Aeson.Types.ToJSON Methods liftToJSON :: (a -> Value) -> ([a] -> Value) -> Dual a -> Value liftToJSONList :: (a -> Value) -> ([a] -> Value) -> [Dual a] -> Value liftToEncoding :: (a -> Encoding) -> ([a] -> Encoding) -> Dual a -> Encoding liftToEncodingList :: (a -> Encoding) -> ([a] -> Encoding) -> [Dual a] -> Encoding | |
Unbox a => Vector Vector (Dual a) | |
Defined in Data.Vector.Unboxed.Base Methods basicUnsafeFreeze :: PrimMonad m => Mutable Vector (PrimState m) (Dual a) -> m (Vector (Dual a)) basicUnsafeThaw :: PrimMonad m => Vector (Dual a) -> m (Mutable Vector (PrimState m) (Dual a)) basicLength :: Vector (Dual a) -> Int basicUnsafeSlice :: Int -> Int -> Vector (Dual a) -> Vector (Dual a) basicUnsafeIndexM :: Monad m => Vector (Dual a) -> Int -> m (Dual a) basicUnsafeCopy :: PrimMonad m => Mutable Vector (PrimState m) (Dual a) -> Vector (Dual a) -> m () | |
Unbox a => MVector MVector (Dual a) | |
Defined in Data.Vector.Unboxed.Base Methods basicLength :: MVector s (Dual a) -> Int basicUnsafeSlice :: Int -> Int -> MVector s (Dual a) -> MVector s (Dual a) basicOverlaps :: MVector s (Dual a) -> MVector s (Dual a) -> Bool basicUnsafeNew :: PrimMonad m => Int -> m (MVector (PrimState m) (Dual a)) basicInitialize :: PrimMonad m => MVector (PrimState m) (Dual a) -> m () basicUnsafeReplicate :: PrimMonad m => Int -> Dual a -> m (MVector (PrimState m) (Dual a)) basicUnsafeRead :: PrimMonad m => MVector (PrimState m) (Dual a) -> Int -> m (Dual a) basicUnsafeWrite :: PrimMonad m => MVector (PrimState m) (Dual a) -> Int -> Dual a -> m () basicClear :: PrimMonad m => MVector (PrimState m) (Dual a) -> m () basicSet :: PrimMonad m => MVector (PrimState m) (Dual a) -> Dual a -> m () basicUnsafeCopy :: PrimMonad m => MVector (PrimState m) (Dual a) -> MVector (PrimState m) (Dual a) -> m () basicUnsafeMove :: PrimMonad m => MVector (PrimState m) (Dual a) -> MVector (PrimState m) (Dual a) -> m () basicUnsafeGrow :: PrimMonad m => MVector (PrimState m) (Dual a) -> Int -> m (MVector (PrimState m) (Dual a)) | |
Bounded a => Bounded (Dual a) | Since: base-2.1 |
Eq a => Eq (Dual a) | Since: base-2.1 |
Data a => Data (Dual a) | Since: base-4.8.0.0 |
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Dual a -> c (Dual a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Dual a) # toConstr :: Dual a -> Constr # dataTypeOf :: Dual a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Dual a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Dual a)) # gmapT :: (forall b. Data b => b -> b) -> Dual a -> Dual a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Dual a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Dual a -> r # gmapQ :: (forall d. Data d => d -> u) -> Dual a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Dual a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Dual a -> m (Dual a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Dual a -> m (Dual a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Dual a -> m (Dual a) # | |
Ord a => Ord (Dual a) | Since: base-2.1 |
Read a => Read (Dual a) | Since: base-2.1 |
Show a => Show (Dual a) | Since: base-2.1 |
Generic (Dual a) | Since: base-4.7.0.0 |
Semigroup a => Semigroup (Dual a) | Since: base-4.9.0.0 |
Monoid a => Monoid (Dual a) | Since: base-2.1 |
NFData a => NFData (Dual a) | Since: deepseq-1.4.0.0 |
Defined in Control.DeepSeq | |
Finitary a => Finitary (Dual a) | |
Unbox a => Unbox (Dual a) | |
Defined in Data.Vector.Unboxed.Base | |
Prim a => Prim (Dual a) | |
Defined in Data.Primitive.Types Methods alignment# :: Dual a -> Int# indexByteArray# :: ByteArray# -> Int# -> Dual a readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Dual a #) writeByteArray# :: MutableByteArray# s -> Int# -> Dual a -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Dual a -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> Dual a readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Dual a #) writeOffAddr# :: Addr# -> Int# -> Dual a -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> Dual a -> State# s -> State# s | |
AsEmpty a => AsEmpty (Dual a) | |
Defined in Control.Lens.Empty | |
Wrapped (Dual a) | |
Abelian a => Abelian (Dual a) | |
Defined in Data.Group | |
Group a => Group (Dual a) | |
FromJSON a => FromJSON (Dual a) | |
Defined in Data.Aeson.Types.FromJSON | |
ToJSON a => ToJSON (Dual a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Dual a -> Encoding toJSONList :: [Dual a] -> Value toEncodingList :: [Dual a] -> Encoding | |
Default a => Default (Dual a) | |
Defined in Data.Default.Class | |
FromFormKey a => FromFormKey (Dual a) | |
Defined in Web.Internal.FormUrlEncoded Methods parseFormKey :: Text -> Either Text (Dual a) | |
ToFormKey a => ToFormKey (Dual a) | |
Defined in Web.Internal.FormUrlEncoded | |
Ring a => Ring (Dual a) | |
Defined in Data.Semiring | |
Semiring a => Semiring (Dual a) | |
Monoid a => Monoid (Dual a) | |
Defined in Data.Monoid.Linear.Internal.Monoid | |
Semigroup a => Semigroup (Dual a) | |
Defined in Data.Monoid.Linear.Internal.Semigroup | |
Generic1 Dual | Since: base-4.7.0.0 |
t ~ Dual b => Rewrapped (Dual a) t | |
Defined in Control.Lens.Wrapped | |
type Rep Dual | |
Defined in Data.Functor.Rep type Rep Dual = () | |
newtype MVector s (Dual a) | |
Defined in Data.Vector.Unboxed.Base | |
type Rep (Dual a) | |
Defined in Data.Semigroup.Internal | |
newtype Vector (Dual a) | |
Defined in Data.Vector.Unboxed.Base | |
type Cardinality (Dual a) | |
Defined in Data.Finitary | |
type Unwrapped (Dual a) | |
Defined in Control.Lens.Wrapped | |
type Rep1 Dual | |
Defined in Data.Semigroup.Internal |
The monoid of endomorphisms under composition.
>>>
let computation = Endo ("Hello, " ++) <> Endo (++ "!")
>>>
appEndo computation "Haskell"
"Hello, Haskell!"
Instances
Generic (Endo a) | Since: base-4.7.0.0 |
Semigroup (Endo a) | Since: base-4.9.0.0 |
Monoid (Endo a) | Since: base-2.1 |
Wrapped (Endo a) | |
Default (Endo a) | |
Defined in Data.Default.Class | |
BoundedJoinSemiLattice a => BoundedJoinSemiLattice (Endo a) | |
Defined in Algebra.Lattice | |
BoundedMeetSemiLattice a => BoundedMeetSemiLattice (Endo a) | |
Defined in Algebra.Lattice | |
Lattice a => Lattice (Endo a) | |
t ~ Endo b => Rewrapped (Endo a) t | |
Defined in Control.Lens.Wrapped | |
type Rep (Endo a) | |
Defined in Data.Semigroup.Internal | |
type Unwrapped (Endo a) | |
Defined in Control.Lens.Wrapped |
Monoid under addition.
>>>
getSum (Sum 1 <> Sum 2 <> mempty)
3
Instances
Monad Sum | Since: base-4.8.0.0 |
Functor Sum | Since: base-4.8.0.0 |
MonadFix Sum | Since: base-4.8.0.0 |
Defined in Control.Monad.Fix | |
Applicative Sum | Since: base-4.8.0.0 |
Foldable Sum | Since: base-4.8.0.0 |
Defined in Data.Foldable Methods fold :: Monoid m => Sum m -> m # foldMap :: Monoid m => (a -> m) -> Sum a -> m # foldMap' :: Monoid m => (a -> m) -> Sum a -> m # foldr :: (a -> b -> b) -> b -> Sum a -> b # foldr' :: (a -> b -> b) -> b -> Sum a -> b # foldl :: (b -> a -> b) -> b -> Sum a -> b # foldl' :: (b -> a -> b) -> b -> Sum a -> b # foldr1 :: (a -> a -> a) -> Sum a -> a # foldl1 :: (a -> a -> a) -> Sum a -> a # elem :: Eq a => a -> Sum a -> Bool # maximum :: Ord a => Sum a -> a # | |
Traversable Sum | Since: base-4.8.0.0 |
NFData1 Sum | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
Apply Sum | |
Bind Sum | |
Distributive Sum | |
Representable Sum | |
Foldable1 Sum | |
Defined in Data.Semigroup.Foldable.Class | |
Traversable1 Sum | |
Unbox a => Vector Vector (Sum a) | |
Defined in Data.Vector.Unboxed.Base Methods basicUnsafeFreeze :: PrimMonad m => Mutable Vector (PrimState m) (Sum a) -> m (Vector (Sum a)) basicUnsafeThaw :: PrimMonad m => Vector (Sum a) -> m (Mutable Vector (PrimState m) (Sum a)) basicLength :: Vector (Sum a) -> Int basicUnsafeSlice :: Int -> Int -> Vector (Sum a) -> Vector (Sum a) basicUnsafeIndexM :: Monad m => Vector (Sum a) -> Int -> m (Sum a) basicUnsafeCopy :: PrimMonad m => Mutable Vector (PrimState m) (Sum a) -> Vector (Sum a) -> m () | |
Unbox a => MVector MVector (Sum a) | |
Defined in Data.Vector.Unboxed.Base Methods basicLength :: MVector s (Sum a) -> Int basicUnsafeSlice :: Int -> Int -> MVector s (Sum a) -> MVector s (Sum a) basicOverlaps :: MVector s (Sum a) -> MVector s (Sum a) -> Bool basicUnsafeNew :: PrimMonad m => Int -> m (MVector (PrimState m) (Sum a)) basicInitialize :: PrimMonad m => MVector (PrimState m) (Sum a) -> m () basicUnsafeReplicate :: PrimMonad m => Int -> Sum a -> m (MVector (PrimState m) (Sum a)) basicUnsafeRead :: PrimMonad m => MVector (PrimState m) (Sum a) -> Int -> m (Sum a) basicUnsafeWrite :: PrimMonad m => MVector (PrimState m) (Sum a) -> Int -> Sum a -> m () basicClear :: PrimMonad m => MVector (PrimState m) (Sum a) -> m () basicSet :: PrimMonad m => MVector (PrimState m) (Sum a) -> Sum a -> m () basicUnsafeCopy :: PrimMonad m => MVector (PrimState m) (Sum a) -> MVector (PrimState m) (Sum a) -> m () basicUnsafeMove :: PrimMonad m => MVector (PrimState m) (Sum a) -> MVector (PrimState m) (Sum a) -> m () basicUnsafeGrow :: PrimMonad m => MVector (PrimState m) (Sum a) -> Int -> m (MVector (PrimState m) (Sum a)) | |
Bounded a => Bounded (Sum a) | Since: base-2.1 |
Eq a => Eq (Sum a) | Since: base-2.1 |
Data a => Data (Sum a) | Since: base-4.8.0.0 |
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Sum a -> c (Sum a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Sum a) # dataTypeOf :: Sum a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Sum a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Sum a)) # gmapT :: (forall b. Data b => b -> b) -> Sum a -> Sum a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Sum a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Sum a -> r # gmapQ :: (forall d. Data d => d -> u) -> Sum a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Sum a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Sum a -> m (Sum a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Sum a -> m (Sum a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Sum a -> m (Sum a) # | |
Num a => Num (Sum a) | Since: base-4.7.0.0 |
Ord a => Ord (Sum a) | Since: base-2.1 |
Read a => Read (Sum a) | Since: base-2.1 |
Show a => Show (Sum a) | Since: base-2.1 |
Generic (Sum a) | Since: base-4.7.0.0 |
Num a => Semigroup (Sum a) | Since: base-4.9.0.0 |
Num a => Monoid (Sum a) | Since: base-2.1 |
NFData a => NFData (Sum a) | Since: deepseq-1.4.0.0 |
Defined in Control.DeepSeq | |
Finitary a => Finitary (Sum a) | |
Unbox a => Unbox (Sum a) | |
Defined in Data.Vector.Unboxed.Base | |
Prim a => Prim (Sum a) | |
Defined in Data.Primitive.Types Methods alignment# :: Sum a -> Int# indexByteArray# :: ByteArray# -> Int# -> Sum a readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Sum a #) writeByteArray# :: MutableByteArray# s -> Int# -> Sum a -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Sum a -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> Sum a readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Sum a #) writeOffAddr# :: Addr# -> Int# -> Sum a -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> Sum a -> State# s -> State# s | |
(Eq a, Num a) => AsEmpty (Sum a) | |
Defined in Control.Lens.Empty | |
Wrapped (Sum a) | |
Num a => Abelian (Sum a) | |
Defined in Data.Group | |
Integral a => Cyclic (Sum a) | |
Defined in Data.Group | |
Num a => Group (Sum a) | |
Num a => Default (Sum a) | |
Defined in Data.Default.Class | |
FromFormKey a => FromFormKey (Sum a) | |
Defined in Web.Internal.FormUrlEncoded Methods parseFormKey :: Text -> Either Text (Sum a) | |
ToFormKey a => ToFormKey (Sum a) | |
Defined in Web.Internal.FormUrlEncoded | |
Generic1 Sum | Since: base-4.7.0.0 |
t ~ Sum b => Rewrapped (Sum a) t | |
Defined in Control.Lens.Wrapped | |
type Rep Sum | |
Defined in Data.Functor.Rep type Rep Sum = () | |
newtype MVector s (Sum a) | |
Defined in Data.Vector.Unboxed.Base | |
type Rep (Sum a) | |
Defined in Data.Semigroup.Internal | |
newtype Vector (Sum a) | |
Defined in Data.Vector.Unboxed.Base | |
type Cardinality (Sum a) | |
Defined in Data.Finitary | |
type Unwrapped (Sum a) | |
Defined in Control.Lens.Wrapped | |
type Rep1 Sum | |
Defined in Data.Semigroup.Internal |
Monoid under multiplication.
>>>
getProduct (Product 3 <> Product 4 <> mempty)
12
Constructors
Product | |
Fields
|
Instances
Monad Product | Since: base-4.8.0.0 |
Functor Product | Since: base-4.8.0.0 |
MonadFix Product | Since: base-4.8.0.0 |
Defined in Control.Monad.Fix | |
Applicative Product | Since: base-4.8.0.0 |
Foldable Product | Since: base-4.8.0.0 |
Defined in Data.Foldable Methods fold :: Monoid m => Product m -> m # foldMap :: Monoid m => (a -> m) -> Product a -> m # foldMap' :: Monoid m => (a -> m) -> Product a -> m # foldr :: (a -> b -> b) -> b -> Product a -> b # foldr' :: (a -> b -> b) -> b -> Product a -> b # foldl :: (b -> a -> b) -> b -> Product a -> b # foldl' :: (b -> a -> b) -> b -> Product a -> b # foldr1 :: (a -> a -> a) -> Product a -> a # foldl1 :: (a -> a -> a) -> Product a -> a # elem :: Eq a => a -> Product a -> Bool # maximum :: Ord a => Product a -> a # minimum :: Ord a => Product a -> a # | |
Traversable Product | Since: base-4.8.0.0 |
NFData1 Product | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
Apply Product | |
Bind Product | |
Distributive Product | |
Representable Product | |
Foldable1 Product | |
Defined in Data.Semigroup.Foldable.Class | |
Traversable1 Product | |
Unbox a => Vector Vector (Product a) | |
Defined in Data.Vector.Unboxed.Base Methods basicUnsafeFreeze :: PrimMonad m => Mutable Vector (PrimState m) (Product a) -> m (Vector (Product a)) basicUnsafeThaw :: PrimMonad m => Vector (Product a) -> m (Mutable Vector (PrimState m) (Product a)) basicLength :: Vector (Product a) -> Int basicUnsafeSlice :: Int -> Int -> Vector (Product a) -> Vector (Product a) basicUnsafeIndexM :: Monad m => Vector (Product a) -> Int -> m (Product a) basicUnsafeCopy :: PrimMonad m => Mutable Vector (PrimState m) (Product a) -> Vector (Product a) -> m () | |
Unbox a => MVector MVector (Product a) | |
Defined in Data.Vector.Unboxed.Base Methods basicLength :: MVector s (Product a) -> Int basicUnsafeSlice :: Int -> Int -> MVector s (Product a) -> MVector s (Product a) basicOverlaps :: MVector s (Product a) -> MVector s (Product a) -> Bool basicUnsafeNew :: PrimMonad m => Int -> m (MVector (PrimState m) (Product a)) basicInitialize :: PrimMonad m => MVector (PrimState m) (Product a) -> m () basicUnsafeReplicate :: PrimMonad m => Int -> Product a -> m (MVector (PrimState m) (Product a)) basicUnsafeRead :: PrimMonad m => MVector (PrimState m) (Product a) -> Int -> m (Product a) basicUnsafeWrite :: PrimMonad m => MVector (PrimState m) (Product a) -> Int -> Product a -> m () basicClear :: PrimMonad m => MVector (PrimState m) (Product a) -> m () basicSet :: PrimMonad m => MVector (PrimState m) (Product a) -> Product a -> m () basicUnsafeCopy :: PrimMonad m => MVector (PrimState m) (Product a) -> MVector (PrimState m) (Product a) -> m () basicUnsafeMove :: PrimMonad m => MVector (PrimState m) (Product a) -> MVector (PrimState m) (Product a) -> m () basicUnsafeGrow :: PrimMonad m => MVector (PrimState m) (Product a) -> Int -> m (MVector (PrimState m) (Product a)) | |
Bounded a => Bounded (Product a) | Since: base-2.1 |
Eq a => Eq (Product a) | Since: base-2.1 |
Data a => Data (Product a) | Since: base-4.8.0.0 |
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Product a -> c (Product a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Product a) # toConstr :: Product a -> Constr # dataTypeOf :: Product a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Product a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Product a)) # gmapT :: (forall b. Data b => b -> b) -> Product a -> Product a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Product a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Product a -> r # gmapQ :: (forall d. Data d => d -> u) -> Product a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Product a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Product a -> m (Product a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Product a -> m (Product a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Product a -> m (Product a) # | |
Num a => Num (Product a) | Since: base-4.7.0.0 |
Defined in Data.Semigroup.Internal | |
Ord a => Ord (Product a) | Since: base-2.1 |
Read a => Read (Product a) | Since: base-2.1 |
Show a => Show (Product a) | Since: base-2.1 |
Generic (Product a) | Since: base-4.7.0.0 |
Num a => Semigroup (Product a) | Since: base-4.9.0.0 |
Num a => Monoid (Product a) | Since: base-2.1 |
NFData a => NFData (Product a) | Since: deepseq-1.4.0.0 |
Defined in Control.DeepSeq | |
Finitary a => Finitary (Product a) | |
Defined in Data.Finitary | |
Unbox a => Unbox (Product a) | |
Defined in Data.Vector.Unboxed.Base | |
Prim a => Prim (Product a) | |
Defined in Data.Primitive.Types Methods alignment# :: Product a -> Int# indexByteArray# :: ByteArray# -> Int# -> Product a readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Product a #) writeByteArray# :: MutableByteArray# s -> Int# -> Product a -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Product a -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> Product a readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Product a #) writeOffAddr# :: Addr# -> Int# -> Product a -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> Product a -> State# s -> State# s | |
(Eq a, Num a) => AsEmpty (Product a) | |
Defined in Control.Lens.Empty | |
Wrapped (Product a) | |
Fractional a => Abelian (Product a) | |
Defined in Data.Group | |
Fractional a => Group (Product a) | |
Num a => Default (Product a) | |
Defined in Data.Default.Class | |
FromFormKey a => FromFormKey (Product a) | |
Defined in Web.Internal.FormUrlEncoded Methods parseFormKey :: Text -> Either Text (Product a) | |
ToFormKey a => ToFormKey (Product a) | |
Defined in Web.Internal.FormUrlEncoded | |
Generic1 Product | Since: base-4.7.0.0 |
t ~ Product b => Rewrapped (Product a) t | |
Defined in Control.Lens.Wrapped | |
type Rep Product | |
Defined in Data.Functor.Rep type Rep Product = () | |
newtype MVector s (Product a) | |
Defined in Data.Vector.Unboxed.Base | |
type Rep (Product a) | |
Defined in Data.Semigroup.Internal | |
newtype Vector (Product a) | |
Defined in Data.Vector.Unboxed.Base | |
type Cardinality (Product a) | |
Defined in Data.Finitary | |
type Unwrapped (Product a) | |
Defined in Control.Lens.Wrapped | |
type Rep1 Product | |
Defined in Data.Semigroup.Internal |
The Down
type allows you to reverse sort order conveniently. A value of type
contains a value of type Down
aa
(represented as
).Down
a
If a
has an
instance associated with it then comparing two
values thus wrapped will give you the opposite of their normal sort order.
This is particularly useful when sorting in generalised list comprehensions,
as in: Ord
then sortWith by
.Down
x
>>>
compare True False
GT
>>>
compare (Down True) (Down False)
LT
If a
has a
instance then the wrapped instance also respects
the reversed ordering by exchanging the values of Bounded
and
minBound
.maxBound
>>>
minBound :: Int
-9223372036854775808
>>>
minBound :: Down Int
Down 9223372036854775807
All other instances of
behave as they do for Down
aa
.
Since: base-4.6.0.0
Instances
Monad Down | Since: base-4.11.0.0 |
Functor Down | Since: base-4.11.0.0 |
MonadFix Down | Since: base-4.12.0.0 |
Defined in Control.Monad.Fix | |
Applicative Down | Since: base-4.11.0.0 |
Foldable Down | Since: base-4.12.0.0 |
Defined in Data.Foldable Methods fold :: Monoid m => Down m -> m # foldMap :: Monoid m => (a -> m) -> Down a -> m # foldMap' :: Monoid m => (a -> m) -> Down a -> m # foldr :: (a -> b -> b) -> b -> Down a -> b # foldr' :: (a -> b -> b) -> b -> Down a -> b # foldl :: (b -> a -> b) -> b -> Down a -> b # foldl' :: (b -> a -> b) -> b -> Down a -> b # foldr1 :: (a -> a -> a) -> Down a -> a # foldl1 :: (a -> a -> a) -> Down a -> a # elem :: Eq a => a -> Down a -> Bool # maximum :: Ord a => Down a -> a # | |
Traversable Down | Since: base-4.12.0.0 |
Eq1 Down | Since: base-4.12.0.0 |
Ord1 Down | Since: base-4.12.0.0 |
Defined in Data.Functor.Classes | |
Read1 Down | Since: base-4.12.0.0 |
Defined in Data.Functor.Classes | |
Show1 Down | Since: base-4.12.0.0 |
NFData1 Down | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
Apply Down | |
Bind Down | |
Unbox a => Vector Vector (Down a) | |
Defined in Data.Vector.Unboxed.Base Methods basicUnsafeFreeze :: PrimMonad m => Mutable Vector (PrimState m) (Down a) -> m (Vector (Down a)) basicUnsafeThaw :: PrimMonad m => Vector (Down a) -> m (Mutable Vector (PrimState m) (Down a)) basicLength :: Vector (Down a) -> Int basicUnsafeSlice :: Int -> Int -> Vector (Down a) -> Vector (Down a) basicUnsafeIndexM :: Monad m => Vector (Down a) -> Int -> m (Down a) basicUnsafeCopy :: PrimMonad m => Mutable Vector (PrimState m) (Down a) -> Vector (Down a) -> m () | |
Unbox a => MVector MVector (Down a) | |
Defined in Data.Vector.Unboxed.Base Methods basicLength :: MVector s (Down a) -> Int basicUnsafeSlice :: Int -> Int -> MVector s (Down a) -> MVector s (Down a) basicOverlaps :: MVector s (Down a) -> MVector s (Down a) -> Bool basicUnsafeNew :: PrimMonad m => Int -> m (MVector (PrimState m) (Down a)) basicInitialize :: PrimMonad m => MVector (PrimState m) (Down a) -> m () basicUnsafeReplicate :: PrimMonad m => Int -> Down a -> m (MVector (PrimState m) (Down a)) basicUnsafeRead :: PrimMonad m => MVector (PrimState m) (Down a) -> Int -> m (Down a) basicUnsafeWrite :: PrimMonad m => MVector (PrimState m) (Down a) -> Int -> Down a -> m () basicClear :: PrimMonad m => MVector (PrimState m) (Down a) -> m () basicSet :: PrimMonad m => MVector (PrimState m) (Down a) -> Down a -> m () basicUnsafeCopy :: PrimMonad m => MVector (PrimState m) (Down a) -> MVector (PrimState m) (Down a) -> m () basicUnsafeMove :: PrimMonad m => MVector (PrimState m) (Down a) -> MVector (PrimState m) (Down a) -> m () basicUnsafeGrow :: PrimMonad m => MVector (PrimState m) (Down a) -> Int -> m (MVector (PrimState m) (Down a)) | |
Bounded a => Bounded (Down a) | Swaps Since: base-4.14.0.0 |
Eq a => Eq (Down a) | Since: base-4.6.0.0 |
Floating a => Floating (Down a) | Since: base-4.14.0.0 |
Fractional a => Fractional (Down a) | Since: base-4.14.0.0 |
Data a => Data (Down a) | Since: base-4.12.0.0 |
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Down a -> c (Down a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Down a) # toConstr :: Down a -> Constr # dataTypeOf :: Down a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Down a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Down a)) # gmapT :: (forall b. Data b => b -> b) -> Down a -> Down a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Down a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Down a -> r # gmapQ :: (forall d. Data d => d -> u) -> Down a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Down a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Down a -> m (Down a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Down a -> m (Down a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Down a -> m (Down a) # | |
Num a => Num (Down a) | Since: base-4.11.0.0 |
Ord a => Ord (Down a) | Since: base-4.6.0.0 |
Read a => Read (Down a) | This instance would be equivalent to the derived instances of the
Since: base-4.7.0.0 |
Real a => Real (Down a) | Since: base-4.14.0.0 |
Defined in Data.Ord Methods toRational :: Down a -> Rational # | |
RealFloat a => RealFloat (Down a) | Since: base-4.14.0.0 |
Defined in Data.Ord Methods floatRadix :: Down a -> Integer # floatDigits :: Down a -> Int # floatRange :: Down a -> (Int, Int) # decodeFloat :: Down a -> (Integer, Int) # encodeFloat :: Integer -> Int -> Down a # significand :: Down a -> Down a # scaleFloat :: Int -> Down a -> Down a # isInfinite :: Down a -> Bool # isDenormalized :: Down a -> Bool # isNegativeZero :: Down a -> Bool # | |
RealFrac a => RealFrac (Down a) | Since: base-4.14.0.0 |
Show a => Show (Down a) | This instance would be equivalent to the derived instances of the
Since: base-4.7.0.0 |
Ix a => Ix (Down a) | Since: base-4.14.0.0 |
Generic (Down a) | Since: base-4.12.0.0 |
Semigroup a => Semigroup (Down a) | Since: base-4.11.0.0 |
Monoid a => Monoid (Down a) | Since: base-4.11.0.0 |
NFData a => NFData (Down a) | Since: deepseq-1.4.0.0 |
Defined in Control.DeepSeq | |
Storable a => Storable (Down a) | Since: base-4.14.0.0 |
Bits a => Bits (Down a) | Since: base-4.14.0.0 |
Defined in Data.Ord Methods (.&.) :: Down a -> Down a -> Down a # (.|.) :: Down a -> Down a -> Down a # xor :: Down a -> Down a -> Down a # complement :: Down a -> Down a # shift :: Down a -> Int -> Down a # rotate :: Down a -> Int -> Down a # setBit :: Down a -> Int -> Down a # clearBit :: Down a -> Int -> Down a # complementBit :: Down a -> Int -> Down a # testBit :: Down a -> Int -> Bool # bitSizeMaybe :: Down a -> Maybe Int # shiftL :: Down a -> Int -> Down a # unsafeShiftL :: Down a -> Int -> Down a # shiftR :: Down a -> Int -> Down a # unsafeShiftR :: Down a -> Int -> Down a # rotateL :: Down a -> Int -> Down a # | |
FiniteBits a => FiniteBits (Down a) | Since: base-4.14.0.0 |
Defined in Data.Ord Methods finiteBitSize :: Down a -> Int # countLeadingZeros :: Down a -> Int # countTrailingZeros :: Down a -> Int # | |
Finitary a => Finitary (Down a) | |
Unbox a => Unbox (Down a) | |
Defined in Data.Vector.Unboxed.Base | |
Prim a => Prim (Down a) | |
Defined in Data.Primitive.Types Methods alignment# :: Down a -> Int# indexByteArray# :: ByteArray# -> Int# -> Down a readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Down a #) writeByteArray# :: MutableByteArray# s -> Int# -> Down a -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Down a -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> Down a readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Down a #) writeOffAddr# :: Addr# -> Int# -> Down a -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> Down a -> State# s -> State# s | |
Wrapped (Down a) | |
Abelian a => Abelian (Down a) | |
Defined in Data.Group | |
Cyclic a => Cyclic (Down a) | |
Defined in Data.Group | |
Group a => Group (Down a) | |
Ring a => Ring (Down a) | |
Defined in Data.Semiring | |
Semiring a => Semiring (Down a) | |
Generic1 Down | Since: base-4.12.0.0 |
t ~ Down b => Rewrapped (Down a) t | |
Defined in Control.Lens.Wrapped | |
newtype MVector s (Down a) | |
Defined in Data.Vector.Unboxed.Base | |
type Rep (Down a) | |
Defined in GHC.Generics | |
newtype Vector (Down a) | |
Defined in Data.Vector.Unboxed.Base | |
type Cardinality (Down a) | |
Defined in Data.Finitary type Cardinality (Down a) = Cardinality a | |
type Unwrapped (Down a) | |
Defined in Control.Lens.Wrapped | |
type Rep1 Down | |
Defined in GHC.Generics |
unsafeCoerceUnlifted :: forall (a :: TYPE 'UnliftedRep) (b :: TYPE 'UnliftedRep). a -> b #
unsafeCoerce :: a -> b #
Coerce a value from one type to another, bypassing the type-checker.
There are several legitimate ways to use unsafeCoerce
:
- To coerce e.g.
Int
toHValue
, put it in a list ofHValue
, and then later coerce it back toInt
before using it. - To produce e.g.
(a+b) :~: (b+a)
fromunsafeCoerce Refl
. Here the two sides really are the same type -- so nothing unsafe is happening -- but GHC is not clever enough to see it. - In
Data.Typeable
we have
eqTypeRep :: forall k1 k2 (a :: k1) (b :: k2). TypeRep a -> TypeRep b -> Maybe (a :~~: b) eqTypeRep a b | sameTypeRep a b = Just (unsafeCoerce HRefl) | otherwise = Nothing
Here again, the unsafeCoerce HRefl
is safe, because the two types really
are the same -- but the proof of that relies on the complex, trusted
implementation of Typeable
.
- The "reflection trick", which takes advantanage of the fact that in
class C a where { op :: ty }
, we can safely coerce betweenC a
andty
(which have different kinds!) because it's really just a newtype. Note: there is no guarantee, at all that this behavior will be supported into perpetuity.
isSeparator :: Char -> Bool #
Selects Unicode space and separator characters.
This function returns True
if its argument has one of the
following GeneralCategory
s, or False
otherwise:
These classes are defined in the Unicode Character Database, part of the Unicode standard. The same document defines what is and is not a "Separator".
Examples
Basic usage:
>>>
isSeparator 'a'
False>>>
isSeparator '6'
False>>>
isSeparator ' '
True
Warning: newlines and tab characters are not considered separators.
>>>
isSeparator '\n'
False>>>
isSeparator '\t'
False
But some more exotic characters are (like HTML's
):
>>>
isSeparator '\160'
True
Selects Unicode numeric characters, including digits from various scripts, Roman numerals, et cetera.
This function returns True
if its argument has one of the
following GeneralCategory
s, or False
otherwise:
These classes are defined in the Unicode Character Database, part of the Unicode standard. The same document defines what is and is not a "Number".
Examples
Basic usage:
>>>
isNumber 'a'
False>>>
isNumber '%'
False>>>
isNumber '3'
True
ASCII '0'
through '9'
are all numbers:
>>>
and $ map isNumber ['0'..'9']
True
Unicode Roman numerals are "numbers" as well:
>>>
isNumber 'Ⅸ'
True
Selects Unicode mark characters, for example accents and the like, which combine with preceding characters.
This function returns True
if its argument has one of the
following GeneralCategory
s, or False
otherwise:
These classes are defined in the Unicode Character Database, part of the Unicode standard. The same document defines what is and is not a "Mark".
Examples
Basic usage:
>>>
isMark 'a'
False>>>
isMark '0'
False
Combining marks such as accent characters usually need to follow another character before they become printable:
>>>
map isMark "ò"
[False,True]
Puns are not necessarily supported:
>>>
isMark '✓'
False
Selects alphabetic Unicode characters (lower-case, upper-case and
title-case letters, plus letters of caseless scripts and
modifiers letters). This function is equivalent to
isAlpha
.
This function returns True
if its argument has one of the
following GeneralCategory
s, or False
otherwise:
These classes are defined in the Unicode Character Database, part of the Unicode standard. The same document defines what is and is not a "Letter".
Examples
Basic usage:
>>>
isLetter 'a'
True>>>
isLetter 'A'
True>>>
isLetter 'λ'
True>>>
isLetter '0'
False>>>
isLetter '%'
False>>>
isLetter '♥'
False>>>
isLetter '\31'
False
Ensure that isLetter
and isAlpha
are equivalent.
>>>
let chars = [(chr 0)..]
>>>
let letters = map isLetter chars
>>>
let alphas = map isAlpha chars
>>>
letters == alphas
True
digitToInt :: Char -> Int #
Convert a single digit Char
to the corresponding Int
. This
function fails unless its argument satisfies isHexDigit
, but
recognises both upper- and lower-case hexadecimal digits (that
is, '0'
..'9'
, 'a'
..'f'
, 'A'
..'F'
).
Examples
Characters '0'
through '9'
are converted properly to
0..9
:
>>>
map digitToInt ['0'..'9']
[0,1,2,3,4,5,6,7,8,9]
Both upper- and lower-case 'A'
through 'F'
are converted
as well, to 10..15
.
>>>
map digitToInt ['a'..'f']
[10,11,12,13,14,15]>>>
map digitToInt ['A'..'F']
[10,11,12,13,14,15]
Anything else throws an exception:
>>>
digitToInt 'G'
*** Exception: Char.digitToInt: not a digit 'G'>>>
digitToInt '♥'
*** Exception: Char.digitToInt: not a digit '\9829'
fromRight :: b -> Either a b -> b #
Return the contents of a Right
-value or a default value otherwise.
Examples
Basic usage:
>>>
fromRight 1 (Right 3)
3>>>
fromRight 1 (Left "foo")
1
Since: base-4.10.0.0
fromLeft :: a -> Either a b -> a #
Return the contents of a Left
-value or a default value otherwise.
Examples
Basic usage:
>>>
fromLeft 1 (Left 3)
3>>>
fromLeft 1 (Right "foo")
1
Since: base-4.10.0.0
isRight :: Either a b -> Bool #
Return True
if the given value is a Right
-value, False
otherwise.
Examples
Basic usage:
>>>
isRight (Left "foo")
False>>>
isRight (Right 3)
True
Assuming a Left
value signifies some sort of error, we can use
isRight
to write a very simple reporting function that only
outputs "SUCCESS" when a computation has succeeded.
This example shows how isRight
might be used to avoid pattern
matching when one does not care about the value contained in the
constructor:
>>>
import Control.Monad ( when )
>>>
let report e = when (isRight e) $ putStrLn "SUCCESS"
>>>
report (Left "parse error")
>>>
report (Right 1)
SUCCESS
Since: base-4.7.0.0
isLeft :: Either a b -> Bool #
Return True
if the given value is a Left
-value, False
otherwise.
Examples
Basic usage:
>>>
isLeft (Left "foo")
True>>>
isLeft (Right 3)
False
Assuming a Left
value signifies some sort of error, we can use
isLeft
to write a very simple error-reporting function that does
absolutely nothing in the case of success, and outputs "ERROR" if
any error occurred.
This example shows how isLeft
might be used to avoid pattern
matching when one does not care about the value contained in the
constructor:
>>>
import Control.Monad ( when )
>>>
let report e = when (isLeft e) $ putStrLn "ERROR"
>>>
report (Right 1)
>>>
report (Left "parse error")
ERROR
Since: base-4.7.0.0
data (a :: k) :~: (b :: k) where infix 4 #
Propositional equality. If a :~: b
is inhabited by some terminating
value, then the type a
is the same as the type b
. To use this equality
in practice, pattern-match on the a :~: b
to get out the Refl
constructor;
in the body of the pattern-match, the compiler knows that a ~ b
.
Since: base-4.7.0.0
Instances
Category ((:~:) :: k -> k -> Type) | Since: base-4.7.0.0 |
TestEquality ((:~:) a :: k -> Type) | Since: base-4.7.0.0 |
Defined in Data.Type.Equality | |
NFData2 ((:~:) :: Type -> Type -> Type) | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
NFData1 ((:~:) a) | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
a ~ b => Bounded (a :~: b) | Since: base-4.7.0.0 |
a ~ b => Enum (a :~: b) | Since: base-4.7.0.0 |
Defined in Data.Type.Equality Methods succ :: (a :~: b) -> a :~: b # pred :: (a :~: b) -> a :~: b # fromEnum :: (a :~: b) -> Int # enumFrom :: (a :~: b) -> [a :~: b] # enumFromThen :: (a :~: b) -> (a :~: b) -> [a :~: b] # enumFromTo :: (a :~: b) -> (a :~: b) -> [a :~: b] # enumFromThenTo :: (a :~: b) -> (a :~: b) -> (a :~: b) -> [a :~: b] # | |
Eq (a :~: b) | Since: base-4.7.0.0 |
(a ~ b, Data a) => Data (a :~: b) | Since: base-4.7.0.0 |
Defined in Data.Data Methods gfoldl :: (forall d b0. Data d => c (d -> b0) -> d -> c b0) -> (forall g. g -> c g) -> (a :~: b) -> c (a :~: b) # gunfold :: (forall b0 r. Data b0 => c (b0 -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (a :~: b) # toConstr :: (a :~: b) -> Constr # dataTypeOf :: (a :~: b) -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (a :~: b)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (a :~: b)) # gmapT :: (forall b0. Data b0 => b0 -> b0) -> (a :~: b) -> a :~: b # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> (a :~: b) -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> (a :~: b) -> r # gmapQ :: (forall d. Data d => d -> u) -> (a :~: b) -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> (a :~: b) -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> (a :~: b) -> m (a :~: b) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> (a :~: b) -> m (a :~: b) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> (a :~: b) -> m (a :~: b) # | |
Ord (a :~: b) | Since: base-4.7.0.0 |
Defined in Data.Type.Equality | |
a ~ b => Read (a :~: b) | Since: base-4.7.0.0 |
Show (a :~: b) | Since: base-4.7.0.0 |
NFData (a :~: b) | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq |
readLitChar :: ReadS Char #
Read a string representation of a character, using Haskell source-language escape conventions, and convert it to the character that it encodes. For example:
readLitChar "\\nHello" = [('\n', "Hello")]
lexLitChar :: ReadS String #
Read a string representation of a character, using Haskell source-language escape conventions. For example:
lexLitChar "\\nHello" = [("\\n", "Hello")]
Convert a letter to the corresponding title-case or upper-case letter, if any. (Title case differs from upper case only for a small number of ligature letters.) Any other character is returned unchanged.
Selects printable Unicode characters (letters, numbers, marks, punctuation, symbols and spaces).
Selects control characters, which are the non-printing characters of the Latin-1 subset of Unicode.
Selects Unicode symbol characters, including mathematical and currency symbols.
This function returns True
if its argument has one of the
following GeneralCategory
s, or False
otherwise:
These classes are defined in the Unicode Character Database, part of the Unicode standard. The same document defines what is and is not a "Symbol".
Examples
Basic usage:
>>>
isSymbol 'a'
False>>>
isSymbol '6'
False>>>
isSymbol '='
True
The definition of "math symbol" may be a little counter-intuitive depending on one's background:
>>>
isSymbol '+'
True>>>
isSymbol '-'
False
isPunctuation :: Char -> Bool #
Selects Unicode punctuation characters, including various kinds of connectors, brackets and quotes.
This function returns True
if its argument has one of the
following GeneralCategory
s, or False
otherwise:
ConnectorPunctuation
DashPunctuation
OpenPunctuation
ClosePunctuation
InitialQuote
FinalQuote
OtherPunctuation
These classes are defined in the Unicode Character Database, part of the Unicode standard. The same document defines what is and is not a "Punctuation".
Examples
Basic usage:
>>>
isPunctuation 'a'
False>>>
isPunctuation '7'
False>>>
isPunctuation '♥'
False>>>
isPunctuation '"'
True>>>
isPunctuation '?'
True>>>
isPunctuation '—'
True
isHexDigit :: Char -> Bool #
Selects ASCII hexadecimal digits,
i.e. '0'
..'9'
, 'a'
..'f'
, 'A'
..'F'
.
isOctDigit :: Char -> Bool #
Selects ASCII octal digits, i.e. '0'
..'7'
.
isAsciiUpper :: Char -> Bool #
isAsciiLower :: Char -> Bool #
Selects the first 256 characters of the Unicode character set, corresponding to the ISO 8859-1 (Latin-1) character set.
Selects the first 128 characters of the Unicode character set, corresponding to the ASCII character set.
generalCategory :: Char -> GeneralCategory #
The Unicode general category of the character. This relies on the
Enum
instance of GeneralCategory
, which must remain in the
same order as the categories are presented in the Unicode
standard.
Examples
Basic usage:
>>>
generalCategory 'a'
LowercaseLetter>>>
generalCategory 'A'
UppercaseLetter>>>
generalCategory '0'
DecimalNumber>>>
generalCategory '%'
OtherPunctuation>>>
generalCategory '♥'
OtherSymbol>>>
generalCategory '\31'
Control>>>
generalCategory ' '
Space
data GeneralCategory #
Unicode General Categories (column 2 of the UnicodeData table) in the order they are listed in the Unicode standard (the Unicode Character Database, in particular).
Examples
Basic usage:
>>>
:t OtherLetter
OtherLetter :: GeneralCategory
Eq
instance:
>>>
UppercaseLetter == UppercaseLetter
True>>>
UppercaseLetter == LowercaseLetter
False
Ord
instance:
>>>
NonSpacingMark <= MathSymbol
True
Enum
instance:
>>>
enumFromTo ModifierLetter SpacingCombiningMark
[ModifierLetter,OtherLetter,NonSpacingMark,SpacingCombiningMark]
Read
instance:
>>>
read "DashPunctuation" :: GeneralCategory
DashPunctuation>>>
read "17" :: GeneralCategory
*** Exception: Prelude.read: no parse
Show
instance:
>>>
show EnclosingMark
"EnclosingMark"
Bounded
instance:
>>>
minBound :: GeneralCategory
UppercaseLetter>>>
maxBound :: GeneralCategory
NotAssigned
Ix
instance:
>>>
import Data.Ix ( index )
>>>
index (OtherLetter,Control) FinalQuote
12>>>
index (OtherLetter,Control) Format
*** Exception: Error in array index
Constructors
UppercaseLetter | Lu: Letter, Uppercase |
LowercaseLetter | Ll: Letter, Lowercase |
TitlecaseLetter | Lt: Letter, Titlecase |
ModifierLetter | Lm: Letter, Modifier |
OtherLetter | Lo: Letter, Other |
NonSpacingMark | Mn: Mark, Non-Spacing |
SpacingCombiningMark | Mc: Mark, Spacing Combining |
EnclosingMark | Me: Mark, Enclosing |
DecimalNumber | Nd: Number, Decimal |
LetterNumber | Nl: Number, Letter |
OtherNumber | No: Number, Other |
ConnectorPunctuation | Pc: Punctuation, Connector |
DashPunctuation | Pd: Punctuation, Dash |
OpenPunctuation | Ps: Punctuation, Open |
ClosePunctuation | Pe: Punctuation, Close |
InitialQuote | Pi: Punctuation, Initial quote |
FinalQuote | Pf: Punctuation, Final quote |
OtherPunctuation | Po: Punctuation, Other |
MathSymbol | Sm: Symbol, Math |
CurrencySymbol | Sc: Symbol, Currency |
ModifierSymbol | Sk: Symbol, Modifier |
OtherSymbol | So: Symbol, Other |
Space | Zs: Separator, Space |
LineSeparator | Zl: Separator, Line |
ParagraphSeparator | Zp: Separator, Paragraph |
Control | Cc: Other, Control |
Format | Cf: Other, Format |
Surrogate | Cs: Other, Surrogate |
PrivateUse | Co: Other, Private Use |
NotAssigned | Cn: Other, Not Assigned |
Instances
intToDigit :: Int -> Char #
showLitChar :: Char -> ShowS #
Convert a character to a string using only printable characters, using Haskell source-language escape conventions. For example:
showLitChar '\n' s = "\\n" ++ s
\(\mathcal{O}(n)\). Return all the elements of a list except the last one. The list must be non-empty.
>>>
init [1, 2, 3]
[1,2]>>>
init [1]
[]>>>
init []
Exception: Prelude.init: empty list
\(\mathcal{O}(n)\). Extract the last element of a list, which must be finite and non-empty.
>>>
last [1, 2, 3]
3>>>
last [1..]
* Hangs forever *>>>
last []
Exception: Prelude.last: empty list
\(\mathcal{O}(1)\). Extract the elements after the head of a list, which must be non-empty.
>>>
tail [1, 2, 3]
[2,3]>>>
tail [1]
[]>>>
tail []
Exception: Prelude.tail: empty list
\(\mathcal{O}(1)\). Extract the first element of a list, which must be non-empty.
>>>
head [1, 2, 3]
1>>>
head [1..]
1>>>
head []
Exception: Prelude.head: empty list
fromJust :: HasCallStack => Maybe a -> a #
is the least fixed point of the function fix
ff
,
i.e. the least defined x
such that f x = x
.
For example, we can write the factorial function using direct recursion as
>>>
let fac n = if n <= 1 then 1 else n * fac (n-1) in fac 5
120
This uses the fact that Haskell’s let
introduces recursive bindings. We can
rewrite this definition using fix
,
>>>
fix (\rec n -> if n <= 1 then 1 else n * rec (n-1)) 5
120
Instead of making a recursive call, we introduce a dummy parameter rec
;
when used within fix
, this parameter then refers to fix
’s argument, hence
the recursion is reintroduced.
($>) :: Functor f => f a -> b -> f b infixl 4 #
Flipped version of <$
.
Using ApplicativeDo
: 'as
' can be understood as the
$>
bdo
expression
do as pure b
with an inferred Functor
constraint.
Examples
Replace the contents of a
with a constant
Maybe
Int
String
:
>>>
Nothing $> "foo"
Nothing>>>
Just 90210 $> "foo"
Just "foo"
Replace the contents of an
with a constant Either
Int
Int
String
, resulting in an
:Either
Int
String
>>>
Left 8675309 $> "foo"
Left 8675309>>>
Right 8675309 $> "foo"
Right "foo"
Replace each element of a list with a constant String
:
>>>
[1,2,3] $> "foo"
["foo","foo","foo"]
Replace the second element of a pair with a constant String
:
>>>
(1,2) $> "foo"
(1,"foo")
Since: base-4.7.0.0
unsafeInterleaveIO :: IO a -> IO a #
unsafeInterleaveIO
allows an IO
computation to be deferred lazily.
When passed a value of type IO a
, the IO
will only be performed
when the value of the a
is demanded. This is used to implement lazy
file reading, see hGetContents
.
unsafeDupablePerformIO :: IO a -> a #
This version of unsafePerformIO
is more efficient
because it omits the check that the IO is only being performed by a
single thread. Hence, when you use unsafeDupablePerformIO
,
there is a possibility that the IO action may be performed multiple
times (on a multiprocessor), and you should therefore ensure that
it gives the same results each time. It may even happen that one
of the duplicated IO actions is only run partially, and then interrupted
in the middle without an exception being raised. Therefore, functions
like bracket
cannot be used safely within
unsafeDupablePerformIO
.
Since: base-4.4.0.0
unsafePerformIO :: IO a -> a #
This is the "back door" into the IO
monad, allowing
IO
computation to be performed at any time. For
this to be safe, the IO
computation should be
free of side effects and independent of its environment.
If the I/O computation wrapped in unsafePerformIO
performs side
effects, then the relative order in which those side effects take
place (relative to the main I/O trunk, or other calls to
unsafePerformIO
) is indeterminate. Furthermore, when using
unsafePerformIO
to cause side-effects, you should take the following
precautions to ensure the side effects are performed as many times as
you expect them to be. Note that these precautions are necessary for
GHC, but may not be sufficient, and other compilers may require
different precautions:
- Use
{-# NOINLINE foo #-}
as a pragma on any functionfoo
that callsunsafePerformIO
. If the call is inlined, the I/O may be performed more than once. - Use the compiler flag
-fno-cse
to prevent common sub-expression elimination being performed on the module, which might combine two side effects that were meant to be separate. A good example is using multiple global variables (liketest
in the example below). - Make sure that the either you switch off let-floating (
-fno-full-laziness
), or that the call tounsafePerformIO
cannot float outside a lambda. For example, if you say:f x = unsafePerformIO (newIORef [])
you may get only one reference cell shared between all calls tof
. Better would bef x = unsafePerformIO (newIORef [x])
because now it can't float outside the lambda.
It is less well known that
unsafePerformIO
is not type safe. For example:
test :: IORef [a] test = unsafePerformIO $ newIORef [] main = do writeIORef test [42] bang <- readIORef test print (bang :: [Char])
This program will core dump. This problem with polymorphic references
is well known in the ML community, and does not arise with normal
monadic use of references. There is no easy way to make it impossible
once you use unsafePerformIO
. Indeed, it is
possible to write coerce :: a -> b
with the
help of unsafePerformIO
. So be careful!
liftM5 :: Monad m => (a1 -> a2 -> a3 -> a4 -> a5 -> r) -> m a1 -> m a2 -> m a3 -> m a4 -> m a5 -> m r #
Promote a function to a monad, scanning the monadic arguments from
left to right (cf. liftM2
).
liftM4 :: Monad m => (a1 -> a2 -> a3 -> a4 -> r) -> m a1 -> m a2 -> m a3 -> m a4 -> m r #
Promote a function to a monad, scanning the monadic arguments from
left to right (cf. liftM2
).
liftM3 :: Monad m => (a1 -> a2 -> a3 -> r) -> m a1 -> m a2 -> m a3 -> m r #
Promote a function to a monad, scanning the monadic arguments from
left to right (cf. liftM2
).
liftA3 :: Applicative f => (a -> b -> c -> d) -> f a -> f b -> f c -> f d #
Lift a ternary function to actions.
Using ApplicativeDo
: '
' can be understood
as the liftA3
f as bs csdo
expression
do a <- as b <- bs c <- cs pure (f a b c)
liftA :: Applicative f => (a -> b) -> f a -> f b #
(<**>) :: Applicative f => f a -> f (a -> b) -> f b infixl 4 #
stimesIdempotentMonoid :: (Integral b, Monoid a) => b -> a -> a #
A map of integers to values a
.
Instances
Functor IntMap | |
Foldable IntMap | Folds in order of increasing key. |
Defined in Data.IntMap.Internal Methods fold :: Monoid m => IntMap m -> m # foldMap :: Monoid m => (a -> m) -> IntMap a -> m # foldMap' :: Monoid m => (a -> m) -> IntMap a -> m # foldr :: (a -> b -> b) -> b -> IntMap a -> b # foldr' :: (a -> b -> b) -> b -> IntMap a -> b # foldl :: (b -> a -> b) -> b -> IntMap a -> b # foldl' :: (b -> a -> b) -> b -> IntMap a -> b # foldr1 :: (a -> a -> a) -> IntMap a -> a # foldl1 :: (a -> a -> a) -> IntMap a -> a # elem :: Eq a => a -> IntMap a -> Bool # maximum :: Ord a => IntMap a -> a # minimum :: Ord a => IntMap a -> a # | |
Traversable IntMap | Traverses in order of increasing key. |
Eq1 IntMap | Since: containers-0.5.9 |
Ord1 IntMap | Since: containers-0.5.9 |
Defined in Data.IntMap.Internal | |
Read1 IntMap | Since: containers-0.5.9 |
Defined in Data.IntMap.Internal | |
Show1 IntMap | Since: containers-0.5.9 |
Hashable1 IntMap | |
Defined in Data.Hashable.Class | |
Apply IntMap | |
Bind IntMap | |
Metric IntMap | |
Trace IntMap | |
Additive IntMap | |
FromJSON1 IntMap | |
Defined in Data.Aeson.Types.FromJSON Methods liftParseJSON :: (Value -> Parser a) -> (Value -> Parser [a]) -> Value -> Parser (IntMap a) liftParseJSONList :: (Value -> Parser a) -> (Value -> Parser [a]) -> Value -> Parser [IntMap a] | |
ToJSON1 IntMap | |
Defined in Data.Aeson.Types.ToJSON Methods liftToJSON :: (a -> Value) -> ([a] -> Value) -> IntMap a -> Value liftToJSONList :: (a -> Value) -> ([a] -> Value) -> [IntMap a] -> Value liftToEncoding :: (a -> Encoding) -> ([a] -> Encoding) -> IntMap a -> Encoding liftToEncodingList :: (a -> Encoding) -> ([a] -> Encoding) -> [IntMap a] -> Encoding | |
FoldableWithIndex Int IntMap | |
Defined in WithIndex | |
FunctorWithIndex Int IntMap | |
TraversableWithIndex Int IntMap | |
TraverseMax Int IntMap | |
Defined in Control.Lens.Traversal Methods traverseMax :: IndexedTraversal' Int (IntMap v) v # | |
TraverseMin Int IntMap | |
Defined in Control.Lens.Traversal Methods traverseMin :: IndexedTraversal' Int (IntMap v) v # | |
IsList (IntMap a) | Since: containers-0.5.6.2 |
Eq a => Eq (IntMap a) | |
Data a => Data (IntMap a) | |
Defined in Data.IntMap.Internal Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> IntMap a -> c (IntMap a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (IntMap a) # toConstr :: IntMap a -> Constr # dataTypeOf :: IntMap a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (IntMap a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (IntMap a)) # gmapT :: (forall b. Data b => b -> b) -> IntMap a -> IntMap a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> IntMap a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> IntMap a -> r # gmapQ :: (forall d. Data d => d -> u) -> IntMap a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> IntMap a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> IntMap a -> m (IntMap a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> IntMap a -> m (IntMap a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> IntMap a -> m (IntMap a) # | |
Ord a => Ord (IntMap a) | |
Defined in Data.IntMap.Internal | |
Read e => Read (IntMap e) | |
Show a => Show (IntMap a) | |
Semigroup (IntMap a) | Since: containers-0.5.7 |
Monoid (IntMap a) | |
Structured v => Structured (IntMap v) | |
Defined in Distribution.Utils.Structured | |
NFData a => NFData (IntMap a) | |
Defined in Data.IntMap.Internal | |
Hashable v => Hashable (IntMap v) | |
Defined in Data.Hashable.Class | |
At (IntMap a) | |
Ixed (IntMap a) | |
Defined in Control.Lens.At | |
AsEmpty (IntMap a) | |
Defined in Control.Lens.Empty | |
Wrapped (IntMap a) | |
FromJSON a => FromJSON (IntMap a) | |
Defined in Data.Aeson.Types.FromJSON | |
ToJSON a => ToJSON (IntMap a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: IntMap a -> Encoding toJSONList :: [IntMap a] -> Value toEncodingList :: [IntMap a] -> Encoding | |
ToHttpApiData v => ToForm (IntMap [v]) | |
Defined in Web.Internal.FormUrlEncoded | |
FromHttpApiData v => FromForm (IntMap [v]) | |
Defined in Web.Internal.FormUrlEncoded | |
Lattice v => BoundedJoinSemiLattice (IntMap v) | |
Defined in Algebra.Lattice | |
Lattice v => Lattice (IntMap v) | |
GrowingAppend (IntMap v) | |
Defined in Data.MonoTraversable | |
MonoFoldable (IntMap a) | |
Defined in Data.MonoTraversable Methods ofoldMap :: Monoid m => (Element (IntMap a) -> m) -> IntMap a -> m ofoldr :: (Element (IntMap a) -> b -> b) -> b -> IntMap a -> b ofoldl' :: (a0 -> Element (IntMap a) -> a0) -> a0 -> IntMap a -> a0 otoList :: IntMap a -> [Element (IntMap a)] oall :: (Element (IntMap a) -> Bool) -> IntMap a -> Bool oany :: (Element (IntMap a) -> Bool) -> IntMap a -> Bool olength64 :: IntMap a -> Int64 ocompareLength :: Integral i => IntMap a -> i -> Ordering otraverse_ :: Applicative f => (Element (IntMap a) -> f b) -> IntMap a -> f () ofor_ :: Applicative f => IntMap a -> (Element (IntMap a) -> f b) -> f () omapM_ :: Applicative m => (Element (IntMap a) -> m ()) -> IntMap a -> m () oforM_ :: Applicative m => IntMap a -> (Element (IntMap a) -> m ()) -> m () ofoldlM :: Monad m => (a0 -> Element (IntMap a) -> m a0) -> a0 -> IntMap a -> m a0 ofoldMap1Ex :: Semigroup m => (Element (IntMap a) -> m) -> IntMap a -> m ofoldr1Ex :: (Element (IntMap a) -> Element (IntMap a) -> Element (IntMap a)) -> IntMap a -> Element (IntMap a) ofoldl1Ex' :: (Element (IntMap a) -> Element (IntMap a) -> Element (IntMap a)) -> IntMap a -> Element (IntMap a) headEx :: IntMap a -> Element (IntMap a) lastEx :: IntMap a -> Element (IntMap a) unsafeHead :: IntMap a -> Element (IntMap a) unsafeLast :: IntMap a -> Element (IntMap a) maximumByEx :: (Element (IntMap a) -> Element (IntMap a) -> Ordering) -> IntMap a -> Element (IntMap a) minimumByEx :: (Element (IntMap a) -> Element (IntMap a) -> Ordering) -> IntMap a -> Element (IntMap a) | |
MonoFunctor (IntMap a) | |
MonoTraversable (IntMap a) | |
Defined in Data.MonoTraversable | |
t ~ IntMap a' => Rewrapped (IntMap a) t | |
Defined in Control.Lens.Wrapped | |
Newtype (MonoidalIntMap a) (IntMap a) | |
Defined in Data.IntMap.Monoidal.Strict | |
Each (IntMap a) (IntMap b) a b | |
type Item (IntMap a) | |
Defined in Data.IntMap.Internal | |
type Index (IntMap a) | |
Defined in Control.Lens.At | |
type IxValue (IntMap a) | |
Defined in Control.Lens.At | |
type Unwrapped (IntMap a) | |
Defined in Control.Lens.Wrapped | |
type Element (IntMap a) | |
Defined in Data.MonoTraversable type Element (IntMap a) = a |
nubIntOn :: (a -> Int) -> [a] -> [a] #
The nubIntOn
function behaves just like nubInt
except it performs
comparisons not on the original datatype, but a user-specified projection
from that datatype. For example, nubIntOn
can be used to
nub characters and typical fixed-with numerical types efficiently.fromEnum
Strictness
nubIntOn
is strict in the values of the function applied to the
elements of the list.
Since: containers-0.6.0.1
\( O(n \min(d,W)) \). The nubInt
function removes duplicate Int
values from a list. In particular, it keeps only the first occurrence
of each element. By using an IntSet
internally, it attains better
asymptotics than the standard nub
function.
See also nubIntOn
, a more widely applicable generalization.
Strictness
nubInt
is strict in the elements of the list.
Since: containers-0.6.0.1
nubOrdOn :: Ord b => (a -> b) -> [a] -> [a] #
The nubOrdOn
function behaves just like nubOrd
except it performs
comparisons not on the original datatype, but a user-specified projection
from that datatype.
Strictness
nubOrdOn
is strict in the values of the function applied to the
elements of the list.
Since: containers-0.6.0.1
nubOrd :: Ord a => [a] -> [a] #
\( O(n \log d) \). The nubOrd
function removes duplicate elements from a
list. In particular, it keeps only the first occurrence of each element. By
using a Set
internally it has better asymptotics than the standard
nub
function.
Strictness
nubOrd
is strict in the elements of the list.
Efficiency note
When applicable, it is almost always better to use nubInt
or nubIntOn
instead of this function, although it can be a little worse in certain
pathological cases. For example, to nub a list of characters, use
nubIntOn fromEnum xs
Since: containers-0.6.0.1
A set of integers.
Instances
IsList IntSet | Since: containers-0.5.6.2 |
Eq IntSet | |
Data IntSet | |
Defined in Data.IntSet.Internal Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> IntSet -> c IntSet # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c IntSet # toConstr :: IntSet -> Constr # dataTypeOf :: IntSet -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c IntSet) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c IntSet) # gmapT :: (forall b. Data b => b -> b) -> IntSet -> IntSet # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> IntSet -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> IntSet -> r # gmapQ :: (forall d. Data d => d -> u) -> IntSet -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> IntSet -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> IntSet -> m IntSet # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> IntSet -> m IntSet # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> IntSet -> m IntSet # | |
Ord IntSet | |
Read IntSet | |
Show IntSet | |
Semigroup IntSet | Since: containers-0.5.7 |
Monoid IntSet | |
Structured IntSet | |
Defined in Distribution.Utils.Structured | |
NFData IntSet | |
Defined in Data.IntSet.Internal | |
Hashable IntSet | |
Defined in Data.Hashable.Class | |
At IntSet | |
Contains IntSet | |
Ixed IntSet | |
Defined in Control.Lens.At | |
AsEmpty IntSet | |
Defined in Control.Lens.Empty | |
Wrapped IntSet | |
FromJSON IntSet | |
Defined in Data.Aeson.Types.FromJSON | |
ToJSON IntSet | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: IntSet -> Encoding toJSONList :: [IntSet] -> Value toEncodingList :: [IntSet] -> Encoding | |
BoundedJoinSemiLattice IntSet | |
Defined in Algebra.Lattice | |
Lattice IntSet | |
GrowingAppend IntSet | |
Defined in Data.MonoTraversable | |
MonoFoldable IntSet | |
Defined in Data.MonoTraversable Methods ofoldMap :: Monoid m => (Element IntSet -> m) -> IntSet -> m ofoldr :: (Element IntSet -> b -> b) -> b -> IntSet -> b ofoldl' :: (a -> Element IntSet -> a) -> a -> IntSet -> a otoList :: IntSet -> [Element IntSet] oall :: (Element IntSet -> Bool) -> IntSet -> Bool oany :: (Element IntSet -> Bool) -> IntSet -> Bool ocompareLength :: Integral i => IntSet -> i -> Ordering otraverse_ :: Applicative f => (Element IntSet -> f b) -> IntSet -> f () ofor_ :: Applicative f => IntSet -> (Element IntSet -> f b) -> f () omapM_ :: Applicative m => (Element IntSet -> m ()) -> IntSet -> m () oforM_ :: Applicative m => IntSet -> (Element IntSet -> m ()) -> m () ofoldlM :: Monad m => (a -> Element IntSet -> m a) -> a -> IntSet -> m a ofoldMap1Ex :: Semigroup m => (Element IntSet -> m) -> IntSet -> m ofoldr1Ex :: (Element IntSet -> Element IntSet -> Element IntSet) -> IntSet -> Element IntSet ofoldl1Ex' :: (Element IntSet -> Element IntSet -> Element IntSet) -> IntSet -> Element IntSet headEx :: IntSet -> Element IntSet lastEx :: IntSet -> Element IntSet unsafeHead :: IntSet -> Element IntSet unsafeLast :: IntSet -> Element IntSet maximumByEx :: (Element IntSet -> Element IntSet -> Ordering) -> IntSet -> Element IntSet minimumByEx :: (Element IntSet -> Element IntSet -> Ordering) -> IntSet -> Element IntSet | |
MonoPointed IntSet | |
Defined in Data.MonoTraversable | |
t ~ IntSet => Rewrapped IntSet t | |
Defined in Control.Lens.Wrapped | |
type Item IntSet | |
Defined in Data.IntSet.Internal | |
type Index IntSet | |
Defined in Control.Lens.At | |
type IxValue IntSet | |
Defined in Control.Lens.At | |
type Unwrapped IntSet | |
Defined in Control.Lens.Wrapped | |
type Element IntSet | |
Defined in Data.MonoTraversable |
General-purpose finite sequences.
Instances
Monad Seq | |
Functor Seq | |
MonadFix Seq | Since: containers-0.5.11 |
Defined in Data.Sequence.Internal | |
Applicative Seq | Since: containers-0.5.4 |
Foldable Seq | |
Defined in Data.Sequence.Internal Methods fold :: Monoid m => Seq m -> m # foldMap :: Monoid m => (a -> m) -> Seq a -> m # foldMap' :: Monoid m => (a -> m) -> Seq a -> m # foldr :: (a -> b -> b) -> b -> Seq a -> b # foldr' :: (a -> b -> b) -> b -> Seq a -> b # foldl :: (b -> a -> b) -> b -> Seq a -> b # foldl' :: (b -> a -> b) -> b -> Seq a -> b # foldr1 :: (a -> a -> a) -> Seq a -> a # foldl1 :: (a -> a -> a) -> Seq a -> a # elem :: Eq a => a -> Seq a -> Bool # maximum :: Ord a => Seq a -> a # | |
Traversable Seq | |
MonadPlus Seq | |
Alternative Seq | Since: containers-0.5.4 |
Eq1 Seq | Since: containers-0.5.9 |
Ord1 Seq | Since: containers-0.5.9 |
Defined in Data.Sequence.Internal | |
Read1 Seq | Since: containers-0.5.9 |
Defined in Data.Sequence.Internal | |
Show1 Seq | Since: containers-0.5.9 |
MonadZip Seq |
|
Hashable1 Seq | |
Defined in Data.Hashable.Class | |
UnzipWith Seq | |
Defined in Data.Sequence.Internal Methods unzipWith' :: (x -> (a, b)) -> Seq x -> (Seq a, Seq b) | |
Apply Seq | |
Bind Seq | |
FromJSON1 Seq | |
Defined in Data.Aeson.Types.FromJSON Methods liftParseJSON :: (Value -> Parser a) -> (Value -> Parser [a]) -> Value -> Parser (Seq a) liftParseJSONList :: (Value -> Parser a) -> (Value -> Parser [a]) -> Value -> Parser [Seq a] | |
ToJSON1 Seq | |
Defined in Data.Aeson.Types.ToJSON Methods liftToJSON :: (a -> Value) -> ([a] -> Value) -> Seq a -> Value liftToJSONList :: (a -> Value) -> ([a] -> Value) -> [Seq a] -> Value liftToEncoding :: (a -> Encoding) -> ([a] -> Encoding) -> Seq a -> Encoding liftToEncodingList :: (a -> Encoding) -> ([a] -> Encoding) -> [Seq a] -> Encoding | |
FoldableWithIndex Int Seq | |
FunctorWithIndex Int Seq | |
TraversableWithIndex Int Seq | |
IsList (Seq a) | |
Eq a => Eq (Seq a) | |
Data a => Data (Seq a) | |
Defined in Data.Sequence.Internal Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Seq a -> c (Seq a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Seq a) # dataTypeOf :: Seq a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Seq a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Seq a)) # gmapT :: (forall b. Data b => b -> b) -> Seq a -> Seq a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Seq a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Seq a -> r # gmapQ :: (forall d. Data d => d -> u) -> Seq a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Seq a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Seq a -> m (Seq a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Seq a -> m (Seq a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Seq a -> m (Seq a) # | |
Ord a => Ord (Seq a) | |
Read a => Read (Seq a) | |
Show a => Show (Seq a) | |
a ~ Char => IsString (Seq a) | Since: containers-0.5.7 |
Defined in Data.Sequence.Internal Methods fromString :: String -> Seq a # | |
Semigroup (Seq a) | Since: containers-0.5.7 |
Monoid (Seq a) | |
Structured v => Structured (Seq v) | |
Defined in Distribution.Utils.Structured | |
NFData a => NFData (Seq a) | |
Defined in Data.Sequence.Internal | |
Hashable v => Hashable (Seq v) | |
Defined in Data.Hashable.Class | |
Ixed (Seq a) | |
Defined in Control.Lens.At | |
AsEmpty (Seq a) | |
Defined in Control.Lens.Empty | |
Reversing (Seq a) | |
Defined in Control.Lens.Internal.Iso | |
Wrapped (Seq a) | |
FromJSON a => FromJSON (Seq a) | |
Defined in Data.Aeson.Types.FromJSON | |
ToJSON a => ToJSON (Seq a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Seq a -> Encoding toJSONList :: [Seq a] -> Value toEncodingList :: [Seq a] -> Encoding | |
Ord a => Stream (Seq a) | |
Defined in Text.Megaparsec.Stream Methods tokenToChunk :: Proxy (Seq a) -> Token (Seq a) -> Tokens (Seq a) tokensToChunk :: Proxy (Seq a) -> [Token (Seq a)] -> Tokens (Seq a) chunkToTokens :: Proxy (Seq a) -> Tokens (Seq a) -> [Token (Seq a)] chunkLength :: Proxy (Seq a) -> Tokens (Seq a) -> Int chunkEmpty :: Proxy (Seq a) -> Tokens (Seq a) -> Bool take1_ :: Seq a -> Maybe (Token (Seq a), Seq a) takeN_ :: Int -> Seq a -> Maybe (Tokens (Seq a), Seq a) takeWhile_ :: (Token (Seq a) -> Bool) -> Seq a -> (Tokens (Seq a), Seq a) | |
GrowingAppend (Seq a) | |
Defined in Data.MonoTraversable | |
MonoFoldable (Seq a) | |
Defined in Data.MonoTraversable Methods ofoldMap :: Monoid m => (Element (Seq a) -> m) -> Seq a -> m ofoldr :: (Element (Seq a) -> b -> b) -> b -> Seq a -> b ofoldl' :: (a0 -> Element (Seq a) -> a0) -> a0 -> Seq a -> a0 otoList :: Seq a -> [Element (Seq a)] oall :: (Element (Seq a) -> Bool) -> Seq a -> Bool oany :: (Element (Seq a) -> Bool) -> Seq a -> Bool ocompareLength :: Integral i => Seq a -> i -> Ordering otraverse_ :: Applicative f => (Element (Seq a) -> f b) -> Seq a -> f () ofor_ :: Applicative f => Seq a -> (Element (Seq a) -> f b) -> f () omapM_ :: Applicative m => (Element (Seq a) -> m ()) -> Seq a -> m () oforM_ :: Applicative m => Seq a -> (Element (Seq a) -> m ()) -> m () ofoldlM :: Monad m => (a0 -> Element (Seq a) -> m a0) -> a0 -> Seq a -> m a0 ofoldMap1Ex :: Semigroup m => (Element (Seq a) -> m) -> Seq a -> m ofoldr1Ex :: (Element (Seq a) -> Element (Seq a) -> Element (Seq a)) -> Seq a -> Element (Seq a) ofoldl1Ex' :: (Element (Seq a) -> Element (Seq a) -> Element (Seq a)) -> Seq a -> Element (Seq a) headEx :: Seq a -> Element (Seq a) lastEx :: Seq a -> Element (Seq a) unsafeHead :: Seq a -> Element (Seq a) unsafeLast :: Seq a -> Element (Seq a) maximumByEx :: (Element (Seq a) -> Element (Seq a) -> Ordering) -> Seq a -> Element (Seq a) minimumByEx :: (Element (Seq a) -> Element (Seq a) -> Ordering) -> Seq a -> Element (Seq a) | |
MonoFunctor (Seq a) | |
MonoPointed (Seq a) | |
Defined in Data.MonoTraversable | |
MonoTraversable (Seq a) | |
Defined in Data.MonoTraversable | |
IsSequence (Seq a) | |
Defined in Data.Sequences Methods fromList :: [Element (Seq a)] -> Seq a lengthIndex :: Seq a -> Index (Seq a) break :: (Element (Seq a) -> Bool) -> Seq a -> (Seq a, Seq a) span :: (Element (Seq a) -> Bool) -> Seq a -> (Seq a, Seq a) dropWhile :: (Element (Seq a) -> Bool) -> Seq a -> Seq a takeWhile :: (Element (Seq a) -> Bool) -> Seq a -> Seq a splitAt :: Index (Seq a) -> Seq a -> (Seq a, Seq a) unsafeSplitAt :: Index (Seq a) -> Seq a -> (Seq a, Seq a) take :: Index (Seq a) -> Seq a -> Seq a unsafeTake :: Index (Seq a) -> Seq a -> Seq a drop :: Index (Seq a) -> Seq a -> Seq a unsafeDrop :: Index (Seq a) -> Seq a -> Seq a dropEnd :: Index (Seq a) -> Seq a -> Seq a partition :: (Element (Seq a) -> Bool) -> Seq a -> (Seq a, Seq a) uncons :: Seq a -> Maybe (Element (Seq a), Seq a) unsnoc :: Seq a -> Maybe (Seq a, Element (Seq a)) filter :: (Element (Seq a) -> Bool) -> Seq a -> Seq a filterM :: Monad m => (Element (Seq a) -> m Bool) -> Seq a -> m (Seq a) replicate :: Index (Seq a) -> Element (Seq a) -> Seq a replicateM :: Monad m => Index (Seq a) -> m (Element (Seq a)) -> m (Seq a) groupBy :: (Element (Seq a) -> Element (Seq a) -> Bool) -> Seq a -> [Seq a] groupAllOn :: Eq b => (Element (Seq a) -> b) -> Seq a -> [Seq a] subsequences :: Seq a -> [Seq a] permutations :: Seq a -> [Seq a] tailMay :: Seq a -> Maybe (Seq a) initMay :: Seq a -> Maybe (Seq a) unsafeTail :: Seq a -> Seq a unsafeInit :: Seq a -> Seq a index :: Seq a -> Index (Seq a) -> Maybe (Element (Seq a)) indexEx :: Seq a -> Index (Seq a) -> Element (Seq a) unsafeIndex :: Seq a -> Index (Seq a) -> Element (Seq a) | |
SemiSequence (Seq a) | |
Defined in Data.Sequences Associated Types type Index (Seq a) | |
t ~ Seq a' => Rewrapped (Seq a) t | |
Defined in Control.Lens.Wrapped | |
Cons (Seq a) (Seq b) a b | |
Snoc (Seq a) (Seq b) a b | |
Each (Seq a) (Seq b) a b | |
type Item (Seq a) | |
Defined in Data.Sequence.Internal | |
type Index (Seq a) | |
Defined in Control.Lens.At | |
type IxValue (Seq a) | |
Defined in Control.Lens.At | |
type Unwrapped (Seq a) | |
Defined in Control.Lens.Wrapped | |
type Token (Seq a) | |
Defined in Text.Megaparsec.Stream type Token (Seq a) = a | |
type Tokens (Seq a) | |
Defined in Text.Megaparsec.Stream | |
type Element (Seq a) | |
Defined in Data.MonoTraversable type Element (Seq a) = a | |
type Index (Seq a) | |
Defined in Data.Sequences |
rnf2 :: (NFData2 p, NFData a, NFData b) => p a b -> () #
Lift the standard rnf
function through the type constructor.
Since: deepseq-1.4.3.0
rnf1 :: (NFData1 f, NFData a) => f a -> () #
Lift the standard rnf
function through the type constructor.
Since: deepseq-1.4.3.0
(<$!!>) :: (Monad m, NFData b) => (a -> b) -> m a -> m b infixl 4 #
Deeply strict version of <$>
.
Since: deepseq-1.4.3.0
($!!) :: NFData a => (a -> b) -> a -> b infixr 0 #
the deep analogue of $!
. In the expression f $!! x
, x
is
fully evaluated before the function f
is applied to it.
Since: deepseq-1.2.0.0
class NFData1 (f :: Type -> Type) where #
A class of functors that can be fully evaluated.
Since: deepseq-1.4.3.0
Minimal complete definition
Nothing
Methods
Instances
NFData1 [] | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
NFData1 Maybe | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
NFData1 Ratio | Available on Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
NFData1 Ptr | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
NFData1 FunPtr | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
NFData1 First | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
NFData1 Last | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
NFData1 MVar | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
NFData1 NonEmpty | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
NFData1 Identity | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
NFData1 Min | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
NFData1 Max | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
NFData1 WrappedMonoid | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq Methods liftRnf :: (a -> ()) -> WrappedMonoid a -> () # | |
NFData1 Option | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
NFData1 StableName | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq Methods liftRnf :: (a -> ()) -> StableName a -> () # | |
NFData1 ZipList | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
NFData1 IORef | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
NFData1 First | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
NFData1 Last | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
NFData1 Dual | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
NFData1 Sum | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
NFData1 Product | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
NFData1 Down | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
NFData1 HashSet | |
Defined in Data.HashSet.Internal | |
NFData1 Vector | |
Defined in Data.Vector.Unboxed.Base | |
NFData1 Vector | |
Defined in Data.Vector | |
NFData1 Vector | |
Defined in Data.Vector.Storable | |
NFData1 Vector | |
Defined in Data.Vector.Primitive | |
NFData1 Array | |
Defined in Data.Primitive.Array | |
NFData1 SmallArray | |
Defined in Data.Primitive.SmallArray | |
NFData1 Maybe | |
Defined in Data.Strict.Maybe | |
NFData1 I | |
Defined in Data.SOP.BasicFunctors | |
NFData a => NFData1 (Either a) | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
NFData a => NFData1 ((,) a) | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
NFData1 (Proxy :: Type -> Type) | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
NFData a => NFData1 (Array a) | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
NFData1 (Fixed :: Type -> Type) | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
NFData a => NFData1 (Arg a) | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
NFData1 (STRef s) | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
NFData k => NFData1 (HashMap k) | |
Defined in Data.HashMap.Internal | |
NFData k => NFData1 (Leaf k) | |
Defined in Data.HashMap.Internal | |
NFData1 (MVector s) | |
Defined in Data.Vector.Unboxed.Base | |
NFData1 (MVector s) | |
Defined in Data.Vector.Storable.Mutable | |
NFData1 (MVector s) | |
Defined in Data.Vector.Primitive.Mutable | |
NFData a => NFData1 (These a) | |
Defined in Data.These | |
NFData a => NFData1 (Pair a) | |
Defined in Data.Strict.Tuple | |
NFData a => NFData1 (Either a) | |
Defined in Data.Strict.Either | |
NFData a => NFData1 (These a) | |
Defined in Data.Strict.These | |
(NFData a1, NFData a2) => NFData1 ((,,) a1 a2) | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
NFData a => NFData1 (Const a :: Type -> Type) | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
NFData1 ((:~:) a) | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
(NFData1 f, NFData1 g) => NFData1 (These1 f g) | |
Defined in Data.Functor.These | |
NFData a => NFData1 (K a :: Type -> Type) | |
Defined in Data.SOP.BasicFunctors | |
(NFData a1, NFData a2, NFData a3) => NFData1 ((,,,) a1 a2 a3) | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
(NFData1 f, NFData1 g) => NFData1 (Product f g) | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
(NFData1 f, NFData1 g) => NFData1 (Sum f g) | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
NFData1 ((:~~:) a :: Type -> Type) | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
(NFData a1, NFData a2, NFData a3, NFData a4) => NFData1 ((,,,,) a1 a2 a3 a4) | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
(NFData1 f, NFData1 g) => NFData1 (Compose f g) | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
(NFData1 f, NFData1 g) => NFData1 (f :.: g) | |
Defined in Data.SOP.BasicFunctors | |
(NFData a1, NFData a2, NFData a3, NFData a4, NFData a5) => NFData1 ((,,,,,) a1 a2 a3 a4 a5) | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
(NFData a1, NFData a2, NFData a3, NFData a4, NFData a5, NFData a6) => NFData1 ((,,,,,,) a1 a2 a3 a4 a5 a6) | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
(NFData a1, NFData a2, NFData a3, NFData a4, NFData a5, NFData a6, NFData a7) => NFData1 ((,,,,,,,) a1 a2 a3 a4 a5 a6 a7) | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
(NFData a1, NFData a2, NFData a3, NFData a4, NFData a5, NFData a6, NFData a7, NFData a8) => NFData1 ((,,,,,,,,) a1 a2 a3 a4 a5 a6 a7 a8) | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq |
class NFData2 (p :: Type -> Type -> Type) where #
A class of bifunctors that can be fully evaluated.
Since: deepseq-1.4.3.0
Methods
Instances
NFData2 Either | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
NFData2 (,) | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
NFData2 Array | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
NFData2 Arg | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
NFData2 STRef | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
NFData2 HashMap | |
Defined in Data.HashMap.Internal | |
NFData2 Leaf | |
Defined in Data.HashMap.Internal | |
NFData2 These | |
Defined in Data.These | |
NFData2 Pair | |
Defined in Data.Strict.Tuple | |
NFData2 Either | |
Defined in Data.Strict.Either | |
NFData2 These | |
Defined in Data.Strict.These | |
NFData a1 => NFData2 ((,,) a1) | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
NFData2 (Const :: Type -> Type -> Type) | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
NFData2 ((:~:) :: Type -> Type -> Type) | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
NFData2 (K :: Type -> Type -> Type) | |
Defined in Data.SOP.BasicFunctors | |
(NFData a1, NFData a2) => NFData2 ((,,,) a1 a2) | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
NFData2 ((:~~:) :: Type -> Type -> Type) | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
(NFData a1, NFData a2, NFData a3) => NFData2 ((,,,,) a1 a2 a3) | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
(NFData a1, NFData a2, NFData a3, NFData a4) => NFData2 ((,,,,,) a1 a2 a3 a4) | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
(NFData a1, NFData a2, NFData a3, NFData a4, NFData a5) => NFData2 ((,,,,,,) a1 a2 a3 a4 a5) | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
(NFData a1, NFData a2, NFData a3, NFData a4, NFData a5, NFData a6) => NFData2 ((,,,,,,,) a1 a2 a3 a4 a5 a6) | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
(NFData a1, NFData a2, NFData a3, NFData a4, NFData a5, NFData a6, NFData a7) => NFData2 ((,,,,,,,,) a1 a2 a3 a4 a5 a6 a7) | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq |
newtype ExceptT e (m :: Type -> Type) a #
A monad transformer that adds exceptions to other monads.
ExceptT
constructs a monad parameterized over two things:
- e - The exception type.
- m - The inner monad.
The return
function yields a computation that produces the given
value, while >>=
sequences two subcomputations, exiting on the
first exception.
Instances
MonadWriter w m => MonadWriter w (ExceptT e m) | Since: mtl-2.2 |
MonadState s m => MonadState s (ExceptT e m) | Since: mtl-2.2 |
MonadReader r m => MonadReader r (ExceptT e m) | Since: mtl-2.2 |
Monad m => MonadError e (ExceptT e m) | Since: mtl-2.2 |
Defined in Control.Monad.Error.Class Methods throwError :: e -> ExceptT e m a # catchError :: ExceptT e m a -> (e -> ExceptT e m a) -> ExceptT e m a # | |
MonadBaseControl b m => MonadBaseControl b (ExceptT e m) | |
Defined in Control.Monad.Trans.Control Associated Types type StM (ExceptT e m) a | |
MonadTrans (ExceptT e) | |
Defined in Control.Monad.Trans.Except | |
MonadTransControl (ExceptT e) | |
DistributiveT (ExceptT e :: (Type -> Type) -> Type -> Type) | |
Defined in Barbies.Internal.DistributiveT | |
FunctorT (ExceptT e :: (Type -> Type) -> Type -> Type) | |
Defined in Barbies.Internal.FunctorT | |
TraversableT (ExceptT e :: (Type -> Type) -> Type -> Type) | |
Defined in Barbies.Internal.TraversableT Methods ttraverse :: forall e0 f g (x :: k'). Applicative e0 => (forall (a :: k). f a -> e0 (g a)) -> ExceptT e f x -> e0 (ExceptT e g x) | |
Monad m => Monad (ExceptT e m) | |
Functor m => Functor (ExceptT e m) | |
MonadFix m => MonadFix (ExceptT e m) | |
Defined in Control.Monad.Trans.Except | |
MonadFail m => MonadFail (ExceptT e m) | |
Defined in Control.Monad.Trans.Except | |
(Functor m, Monad m) => Applicative (ExceptT e m) | |
Defined in Control.Monad.Trans.Except | |
Foldable f => Foldable (ExceptT e f) | |
Defined in Control.Monad.Trans.Except Methods fold :: Monoid m => ExceptT e f m -> m # foldMap :: Monoid m => (a -> m) -> ExceptT e f a -> m # foldMap' :: Monoid m => (a -> m) -> ExceptT e f a -> m # foldr :: (a -> b -> b) -> b -> ExceptT e f a -> b # foldr' :: (a -> b -> b) -> b -> ExceptT e f a -> b # foldl :: (b -> a -> b) -> b -> ExceptT e f a -> b # foldl' :: (b -> a -> b) -> b -> ExceptT e f a -> b # foldr1 :: (a -> a -> a) -> ExceptT e f a -> a # foldl1 :: (a -> a -> a) -> ExceptT e f a -> a # toList :: ExceptT e f a -> [a] # null :: ExceptT e f a -> Bool # length :: ExceptT e f a -> Int # elem :: Eq a => a -> ExceptT e f a -> Bool # maximum :: Ord a => ExceptT e f a -> a # minimum :: Ord a => ExceptT e f a -> a # | |
Traversable f => Traversable (ExceptT e f) | |
Defined in Control.Monad.Trans.Except | |
(Monad m, Monoid e) => MonadPlus (ExceptT e m) | |
(Functor m, Monad m, Monoid e) => Alternative (ExceptT e m) | |
Contravariant m => Contravariant (ExceptT e m) | |
(Eq e, Eq1 m) => Eq1 (ExceptT e m) | |
(Ord e, Ord1 m) => Ord1 (ExceptT e m) | |
Defined in Control.Monad.Trans.Except | |
(Read e, Read1 m) => Read1 (ExceptT e m) | |
Defined in Control.Monad.Trans.Except Methods liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (ExceptT e m a) # liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [ExceptT e m a] # liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (ExceptT e m a) # liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [ExceptT e m a] # | |
(Show e, Show1 m) => Show1 (ExceptT e m) | |
MonadZip m => MonadZip (ExceptT e m) | |
MonadIO m => MonadIO (ExceptT e m) | |
Defined in Control.Monad.Trans.Except | |
MonadThrow m => MonadThrow (ExceptT e m) | Throws exceptions into the base monad. |
Defined in Control.Monad.Catch | |
MonadCatch m => MonadCatch (ExceptT e m) | Catches exceptions from the base monad. |
MonadMask m => MonadMask (ExceptT e m) | Since: exceptions-0.9.0 |
Defined in Control.Monad.Catch Methods mask :: ((forall a. ExceptT e m a -> ExceptT e m a) -> ExceptT e m b) -> ExceptT e m b # uninterruptibleMask :: ((forall a. ExceptT e m a -> ExceptT e m a) -> ExceptT e m b) -> ExceptT e m b # generalBracket :: ExceptT e m a -> (a -> ExitCase b -> ExceptT e m c) -> (a -> ExceptT e m b) -> ExceptT e m (b, c) # | |
PrimMonad m => PrimMonad (ExceptT e m) | |
(Functor m, Monad m) => Apply (ExceptT e m) | |
(Functor m, Monad m) => Bind (ExceptT e m) | |
MonadGet m => MonadGet (ExceptT e m) | |
Defined in Data.Bytes.Get Methods ensure :: Int -> ExceptT e m ByteString lookAhead :: ExceptT e m a -> ExceptT e m a lookAheadM :: ExceptT e m (Maybe a) -> ExceptT e m (Maybe a) lookAheadE :: ExceptT e m (Either a b) -> ExceptT e m (Either a b) getBytes :: Int -> ExceptT e m ByteString remaining :: ExceptT e m (Remaining (ExceptT e m)) getByteString :: Int -> ExceptT e m ByteString getLazyByteString :: Int64 -> ExceptT e m ByteString getWord16be :: ExceptT e m Word16 getWord16le :: ExceptT e m Word16 getWord16host :: ExceptT e m Word16 getWord32be :: ExceptT e m Word32 getWord32le :: ExceptT e m Word32 getWord32host :: ExceptT e m Word32 getWord64be :: ExceptT e m Word64 getWord64le :: ExceptT e m Word64 getWord64host :: ExceptT e m Word64 getWordhost :: ExceptT e m Word | |
MonadResource m => MonadResource (ExceptT e m) | |
Defined in Control.Monad.Trans.Resource.Internal Methods liftResourceT :: ResourceT IO a -> ExceptT e m a | |
Zoom m n s t => Zoom (ExceptT e m) (ExceptT e n) s t | |
(Eq e, Eq1 m, Eq a) => Eq (ExceptT e m a) | |
(Ord e, Ord1 m, Ord a) => Ord (ExceptT e m a) | |
Defined in Control.Monad.Trans.Except Methods compare :: ExceptT e m a -> ExceptT e m a -> Ordering # (<) :: ExceptT e m a -> ExceptT e m a -> Bool # (<=) :: ExceptT e m a -> ExceptT e m a -> Bool # (>) :: ExceptT e m a -> ExceptT e m a -> Bool # (>=) :: ExceptT e m a -> ExceptT e m a -> Bool # | |
(Read e, Read1 m, Read a) => Read (ExceptT e m a) | |
(Show e, Show1 m, Show a) => Show (ExceptT e m a) | |
Wrapped (ExceptT e m a) | |
t ~ ExceptT e' m' a' => Rewrapped (ExceptT e m a) t | |
Defined in Control.Lens.Wrapped | |
type StT (ExceptT e) a | |
Defined in Control.Monad.Trans.Control | |
type PrimState (ExceptT e m) | |
Defined in Control.Monad.Primitive type PrimState (ExceptT e m) = PrimState m | |
type Zoomed (ExceptT e m) | |
Defined in Control.Lens.Zoom | |
type Bytes (ExceptT e m) | |
Defined in Data.Bytes.Get type Bytes (ExceptT e m) = Bytes m | |
type Remaining (ExceptT e m) | |
Defined in Data.Bytes.Get type Remaining (ExceptT e m) = Remaining m | |
type StM (ExceptT e m) a | |
Defined in Control.Monad.Trans.Control | |
type Unwrapped (ExceptT e m a) | |
Defined in Control.Lens.Wrapped |
class MonadTrans (t :: (Type -> Type) -> Type -> Type) where #
The class of monad transformers. Instances should satisfy the
following laws, which state that lift
is a monad transformation:
Methods
lift :: Monad m => m a -> t m a #
Lift a computation from the argument monad to the constructed monad.
Instances
gets :: MonadState s m => (s -> a) -> m a #
Gets specific component of the state, using a projection function supplied.
modify' :: MonadState s m => (s -> s) -> m () #
A variant of modify
in which the computation is strict in the
new state.
Since: mtl-2.2
modify :: MonadState s m => (s -> s) -> m () #
Monadic state transformer.
Maps an old state to a new state inside a state monad. The old state is thrown away.
Main> :t modify ((+1) :: Int -> Int) modify (...) :: (MonadState Int a) => a ()
This says that modify (+1)
acts over any
Monad that is a member of the MonadState
class,
with an Int
state.
class Monad m => MonadState s (m :: Type -> Type) | m -> s where #
Minimal definition is either both of get
and put
or just state
Methods
Return the state from the internals of the monad.
Replace the state inside the monad.
state :: (s -> (a, s)) -> m a #
Embed a simple state action into the monad.
Instances
liftEither :: MonadError e m => Either e a -> m a #
Lifts an
into any Either
e
.MonadError
e
do { val <- liftEither =<< action1; action2 }
where action1
returns an Either
to represent errors.
Since: mtl-2.2.2
class Monad m => MonadError e (m :: Type -> Type) | m -> e where #
The strategy of combining computations that can throw exceptions by bypassing bound functions from the point an exception is thrown to the point that it is handled.
Is parameterized over the type of error information and
the monad type constructor.
It is common to use
as the monad type constructor
for an error monad in which error descriptions take the form of strings.
In that case and many other common cases the resulting monad is already defined
as an instance of the Either
StringMonadError
class.
You can also define your own error type and/or use a monad type constructor
other than
or Either
String
.
In these cases you will have to explicitly define instances of the Either
IOError
MonadError
class.
(If you are using the deprecated Control.Monad.Error or
Control.Monad.Trans.Error, you may also have to define an Error
instance.)
Methods
throwError :: e -> m a #
Is used within a monadic computation to begin exception processing.
catchError :: m a -> (e -> m a) -> m a #
A handler function to handle previous errors and return to normal execution. A common idiom is:
do { action1; action2; action3 } `catchError` handler
where the action
functions can call throwError
.
Note that handler
and the do-block must have the same return type.
Instances
MonadError () Maybe | Since: mtl-2.2.2 |
Defined in Control.Monad.Error.Class | |
MonadError IOException IO | |
Defined in Control.Monad.Error.Class | |
MonadError ClientError ClientM | |
Defined in Servant.Client.Internal.HttpClient Methods throwError :: ClientError -> ClientM a # catchError :: ClientM a -> (ClientError -> ClientM a) -> ClientM a # | |
MonadError PandocError PandocPure | |
Defined in Text.Pandoc.Class.PandocPure Methods throwError :: PandocError -> PandocPure a # catchError :: PandocPure a -> (PandocError -> PandocPure a) -> PandocPure a # | |
MonadError e m => MonadError e (MaybeT m) | |
Defined in Control.Monad.Error.Class | |
MonadError e m => MonadError e (ListT m) | |
Defined in Control.Monad.Error.Class | |
MonadError e (Either e) | |
Defined in Control.Monad.Error.Class | |
MonadError e m => MonadError e (ResourceT m) | |
Defined in Control.Monad.Trans.Resource.Internal Methods throwError :: e -> ResourceT m a # catchError :: ResourceT m a -> (e -> ResourceT m a) -> ResourceT m a # | |
(Functor m, MonadError e m) => MonadError e (Free m) | |
Defined in Control.Monad.Free | |
(Monoid w, MonadError e m) => MonadError e (WriterT w m) | |
Defined in Control.Monad.Error.Class Methods throwError :: e -> WriterT w m a # catchError :: WriterT w m a -> (e -> WriterT w m a) -> WriterT w m a # | |
(Monoid w, MonadError e m) => MonadError e (WriterT w m) | |
Defined in Control.Monad.Error.Class Methods throwError :: e -> WriterT w m a # catchError :: WriterT w m a -> (e -> WriterT w m a) -> WriterT w m a # | |
MonadError e m => MonadError e (StateT s m) | |
Defined in Control.Monad.Error.Class Methods throwError :: e -> StateT s m a # catchError :: StateT s m a -> (e -> StateT s m a) -> StateT s m a # | |
MonadError e m => MonadError e (StateT s m) | |
Defined in Control.Monad.Error.Class Methods throwError :: e -> StateT s m a # catchError :: StateT s m a -> (e -> StateT s m a) -> StateT s m a # | |
MonadError e m => MonadError e (ReaderT r m) | |
Defined in Control.Monad.Error.Class Methods throwError :: e -> ReaderT r m a # catchError :: ReaderT r m a -> (e -> ReaderT r m a) -> ReaderT r m a # | |
MonadError e m => MonadError e (IdentityT m) | |
Defined in Control.Monad.Error.Class Methods throwError :: e -> IdentityT m a # catchError :: IdentityT m a -> (e -> IdentityT m a) -> IdentityT m a # | |
Monad m => MonadError e (ExceptT e m) | Since: mtl-2.2 |
Defined in Control.Monad.Error.Class Methods throwError :: e -> ExceptT e m a # catchError :: ExceptT e m a -> (e -> ExceptT e m a) -> ExceptT e m a # | |
(Monad m, Error e) => MonadError e (ErrorT e m) | |
Defined in Control.Monad.Error.Class Methods throwError :: e -> ErrorT e m a # catchError :: ErrorT e m a -> (e -> ErrorT e m a) -> ErrorT e m a # | |
(Functor f, MonadError e m) => MonadError e (FT f m) | |
Defined in Control.Monad.Trans.Free.Church | |
(Functor f, MonadError e m) => MonadError e (FreeT f m) | |
Defined in Control.Monad.Trans.Free Methods throwError :: e -> FreeT f m a # catchError :: FreeT f m a -> (e -> FreeT f m a) -> FreeT f m a # | |
MonadError e m => MonadError e (ConduitT i o m) | |
Defined in Data.Conduit.Internal.Conduit Methods throwError :: e -> ConduitT i o m a # catchError :: ConduitT i o m a -> (e -> ConduitT i o m a) -> ConduitT i o m a # | |
(Stream s, MonadError e' m) => MonadError e' (ParsecT e s m) | |
Defined in Text.Megaparsec.Internal Methods throwError :: e' -> ParsecT e s m a # catchError :: ParsecT e s m a -> (e' -> ParsecT e s m a) -> ParsecT e s m a # | |
(Monoid w, MonadError e m) => MonadError e (RWST r w s m) | |
Defined in Control.Monad.Error.Class Methods throwError :: e -> RWST r w s m a # catchError :: RWST r w s m a -> (e -> RWST r w s m a) -> RWST r w s m a # | |
(Monoid w, MonadError e m) => MonadError e (RWST r w s m) | |
Defined in Control.Monad.Error.Class Methods throwError :: e -> RWST r w s m a # catchError :: RWST r w s m a -> (e -> RWST r w s m a) -> RWST r w s m a # | |
MonadError e m => MonadError e (Pipe i o u m) | |
Defined in Data.Conduino.Internal Methods throwError :: e -> Pipe i o u m a # catchError :: Pipe i o u m a -> (e -> Pipe i o u m a) -> Pipe i o u m a # | |
MonadError e m => MonadError e (Pipe l i o u m) | |
Defined in Data.Conduit.Internal.Pipe Methods throwError :: e -> Pipe l i o u m a # catchError :: Pipe l i o u m a -> (e -> Pipe l i o u m a) -> Pipe l i o u m a # | |
Monad m => MonadError (Pos, String) (PT n m) | |
Defined in Data.YAML.Loader Methods throwError :: (Pos, String) -> PT n m a # catchError :: PT n m a -> ((Pos, String) -> PT n m a) -> PT n m a # |
runExcept :: Except e a -> Either e a #
Extractor for computations in the exception monad.
(The inverse of except
).
withExcept :: (e -> e') -> Except e a -> Except e' a #
Transform any exceptions thrown by the computation using the given
function (a specialization of withExceptT
).
runExceptT :: ExceptT e m a -> m (Either e a) #
The inverse of ExceptT
.
mapExceptT :: (m (Either e a) -> n (Either e' b)) -> ExceptT e m a -> ExceptT e' n b #
Map the unwrapped computation using the given function.
runExceptT
(mapExceptT
f m) = f (runExceptT
m)
withExceptT :: forall (m :: Type -> Type) e e' a. Functor m => (e -> e') -> ExceptT e m a -> ExceptT e' m a #
Transform any exceptions thrown by the computation using the given function.
newtype StateT s (m :: Type -> Type) a #
A state transformer monad parameterized by:
s
- The state.m
- The inner monad.
The return
function leaves the state unchanged, while >>=
uses
the final state of the first computation as the initial state of
the second.
Instances
MonadParsec e s m => MonadParsec e s (StateT st m) | |
Defined in Text.Megaparsec.Class Methods parseError :: ParseError s e -> StateT st m a label :: String -> StateT st m a -> StateT st m a hidden :: StateT st m a -> StateT st m a try :: StateT st m a -> StateT st m a # lookAhead :: StateT st m a -> StateT st m a notFollowedBy :: StateT st m a -> StateT st m () withRecovery :: (ParseError s e -> StateT st m a) -> StateT st m a -> StateT st m a observing :: StateT st m a -> StateT st m (Either (ParseError s e) a) token :: (Token s -> Maybe a) -> Set (ErrorItem (Token s)) -> StateT st m a tokens :: (Tokens s -> Tokens s -> Bool) -> Tokens s -> StateT st m (Tokens s) takeWhileP :: Maybe String -> (Token s -> Bool) -> StateT st m (Tokens s) takeWhile1P :: Maybe String -> (Token s -> Bool) -> StateT st m (Tokens s) takeP :: Maybe String -> Int -> StateT st m (Tokens s) getParserState :: StateT st m (State s e) updateParserState :: (State s e -> State s e) -> StateT st m () | |
MonadWriter w m => MonadWriter w (StateT s m) | |
Monad m => MonadState s (StateT s m) | |
MonadReader r m => MonadReader r (StateT s m) | |
MonadError e m => MonadError e (StateT s m) | |
Defined in Control.Monad.Error.Class Methods throwError :: e -> StateT s m a # catchError :: StateT s m a -> (e -> StateT s m a) -> StateT s m a # | |
MonadBaseControl b m => MonadBaseControl b (StateT s m) | |
Defined in Control.Monad.Trans.Control Associated Types type StM (StateT s m) a | |
MonadTrans (StateT s) | |
Defined in Control.Monad.Trans.State.Lazy | |
MonadTransControl (StateT s) | |
DistributiveT (StateT s :: (Type -> Type) -> Type -> Type) | |
Defined in Barbies.Internal.DistributiveT | |
FunctorT (StateT s :: (Type -> Type) -> Type -> Type) | |
Defined in Barbies.Internal.FunctorT | |
Monad m => Monad (StateT s m) | |
Functor m => Functor (StateT s m) | |
MonadFix m => MonadFix (StateT s m) | |
Defined in Control.Monad.Trans.State.Lazy | |
MonadFail m => MonadFail (StateT s m) | |
Defined in Control.Monad.Trans.State.Lazy | |
(Functor m, Monad m) => Applicative (StateT s m) | |
Defined in Control.Monad.Trans.State.Lazy | |
MonadPlus m => MonadPlus (StateT s m) | |
(Functor m, MonadPlus m) => Alternative (StateT s m) | |
Contravariant m => Contravariant (StateT s m) | |
MonadIO m => MonadIO (StateT s m) | |
Defined in Control.Monad.Trans.State.Lazy | |
MonadThrow m => MonadThrow (StateT s m) | |
Defined in Control.Monad.Catch | |
MonadCatch m => MonadCatch (StateT s m) | |
MonadMask m => MonadMask (StateT s m) | |
Defined in Control.Monad.Catch Methods mask :: ((forall a. StateT s m a -> StateT s m a) -> StateT s m b) -> StateT s m b # uninterruptibleMask :: ((forall a. StateT s m a -> StateT s m a) -> StateT s m b) -> StateT s m b # generalBracket :: StateT s m a -> (a -> ExitCase b -> StateT s m c) -> (a -> StateT s m b) -> StateT s m (b, c) # | |
PrimMonad m => PrimMonad (StateT s m) | |
Bind m => Apply (StateT s m) | |
Bind m => Bind (StateT s m) | |
MonadGet m => MonadGet (StateT s m) | |
Defined in Data.Bytes.Get Methods ensure :: Int -> StateT s m ByteString lookAhead :: StateT s m a -> StateT s m a lookAheadM :: StateT s m (Maybe a) -> StateT s m (Maybe a) lookAheadE :: StateT s m (Either a b) -> StateT s m (Either a b) getBytes :: Int -> StateT s m ByteString remaining :: StateT s m (Remaining (StateT s m)) getByteString :: Int -> StateT s m ByteString getLazyByteString :: Int64 -> StateT s m ByteString getWord16be :: StateT s m Word16 getWord16le :: StateT s m Word16 getWord16host :: StateT s m Word16 getWord32be :: StateT s m Word32 getWord32le :: StateT s m Word32 getWord32host :: StateT s m Word32 getWord64be :: StateT s m Word64 getWord64le :: StateT s m Word64 getWord64host :: StateT s m Word64 getWordhost :: StateT s m Word | |
MonadResource m => MonadResource (StateT s m) | |
Defined in Control.Monad.Trans.Resource.Internal Methods liftResourceT :: ResourceT IO a -> StateT s m a | |
Monad z => Zoom (StateT s z) (StateT t z) s t | |
Wrapped (StateT s m a) | |
Functor m => MonoFunctor (StateT s m a) | |
Applicative m => MonoPointed (StateT s m a) | |
Defined in Data.MonoTraversable | |
t ~ StateT s' m' a' => Rewrapped (StateT s m a) t | |
Defined in Control.Lens.Wrapped | |
Strict (StateT s m a) (StateT s m a) | |
type StT (StateT s) a | |
Defined in Control.Monad.Trans.Control type StT (StateT s) a = (a, s) | |
type PrimState (StateT s m) | |
Defined in Control.Monad.Primitive type PrimState (StateT s m) = PrimState m | |
type Zoomed (StateT s z) | |
Defined in Control.Lens.Zoom | |
type Bytes (StateT s m) | |
Defined in Data.Bytes.Get type Bytes (StateT s m) = Bytes m | |
type Remaining (StateT s m) | |
Defined in Data.Bytes.Get type Remaining (StateT s m) = Remaining m | |
type StM (StateT s m) a | |
Defined in Control.Monad.Trans.Control | |
type Unwrapped (StateT s m a) | |
Defined in Control.Lens.Wrapped | |
type Element (StateT s m a) | |
Defined in Data.MonoTraversable type Element (StateT s m a) = a |
type State s = StateT s Identity #
A state monad parameterized by the type s
of the state to carry.
The return
function leaves the state unchanged, while >>=
uses
the final state of the first computation as the initial state of
the second.
Arguments
:: State s a | state-passing computation to execute |
-> s | initial state |
-> (a, s) | return value and final state |
Unwrap a state monad computation as a function.
(The inverse of state
.)
Arguments
:: State s a | state-passing computation to execute |
-> s | initial value |
-> a | return value of the state computation |
Arguments
:: State s a | state-passing computation to execute |
-> s | initial value |
-> s | final state |
evalStateT :: Monad m => StateT s m a -> s -> m a #
Evaluate a state computation with the given initial state and return the final value, discarding the final state.
evalStateT
m s =liftM
fst
(runStateT
m s)
execStateT :: Monad m => StateT s m a -> s -> m s #
Evaluate a state computation with the given initial state and return the final state, discarding the final value.
execStateT
m s =liftM
snd
(runStateT
m s)
withStateT :: forall s (m :: Type -> Type) a. (s -> s) -> StateT s m a -> StateT s m a #
executes action withStateT
f mm
on a state modified by
applying f
.
withStateT
f m =modify
f >> m
encodeUtf8 :: Text -> ByteString #
Encode text using UTF-8 encoding.
decodeUtf8 :: ByteString -> Text #
Decode a ByteString
containing UTF-8 encoded text that is known
to be valid.
If the input contains any invalid UTF-8 data, an exception will be
thrown that cannot be caught in pure code. For more control over
the handling of invalid data, use decodeUtf8'
or
decodeUtf8With
.
A space efficient, packed, unboxed Unicode text type.
Instances
Structured Text | |
Defined in Distribution.Utils.Structured | |
Hashable Text | |
Defined in Data.Hashable.Class | |
Ixed Text | |
Defined in Control.Lens.At | |
AsEmpty Text | |
Defined in Control.Lens.Empty | |
Reversing Text | |
Defined in Control.Lens.Internal.Iso | |
Chunk Text | |
Defined in Data.Attoparsec.Internal.Types Associated Types type ChunkElem Text Methods pappendChunk :: State Text -> Text -> State Text atBufferEnd :: Text -> State Text -> Pos bufferElemAt :: Text -> Pos -> State Text -> Maybe (ChunkElem Text, Int) chunkElemToChar :: Text -> ChunkElem Text -> Char | |
FromJSON Text | |
Defined in Data.Aeson.Types.FromJSON | |
ToJSON Text | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Text -> Encoding toJSONList :: [Text] -> Value toEncodingList :: [Text] -> Encoding | |
FromJSONKey Text | |
Defined in Data.Aeson.Types.FromJSON | |
ToJSONKey Text | |
Defined in Data.Aeson.Types.ToJSON | |
KeyValue Object | |
Defined in Data.Aeson.Types.ToJSON | |
KeyValue Pair | |
Defined in Data.Aeson.Types.ToJSON | |
Stream Text | |
Defined in Text.Megaparsec.Stream Methods tokenToChunk :: Proxy Text -> Token Text -> Tokens Text tokensToChunk :: Proxy Text -> [Token Text] -> Tokens Text chunkToTokens :: Proxy Text -> Tokens Text -> [Token Text] chunkLength :: Proxy Text -> Tokens Text -> Int chunkEmpty :: Proxy Text -> Tokens Text -> Bool take1_ :: Text -> Maybe (Token Text, Text) takeN_ :: Int -> Text -> Maybe (Tokens Text, Text) takeWhile_ :: (Token Text -> Bool) -> Text -> (Tokens Text, Text) | |
TraversableStream Text | |
Defined in Text.Megaparsec.Stream Methods reachOffset :: Int -> PosState Text -> (Maybe String, PosState Text) reachOffsetNoLine :: Int -> PosState Text -> PosState Text | |
VisualStream Text | |
Defined in Text.Megaparsec.Stream | |
FoldCase Text | |
Defined in Data.CaseInsensitive.Internal | |
FromFormKey Text | |
Defined in Web.Internal.FormUrlEncoded Methods parseFormKey :: Text -> Either Text Text | |
ToFormKey Text | |
Defined in Web.Internal.FormUrlEncoded | |
HasChars Text | |
GrowingAppend Text | |
Defined in Data.MonoTraversable | |
MonoFoldable Text | |
Defined in Data.MonoTraversable Methods ofoldMap :: Monoid m => (Element Text -> m) -> Text -> m ofoldr :: (Element Text -> b -> b) -> b -> Text -> b ofoldl' :: (a -> Element Text -> a) -> a -> Text -> a otoList :: Text -> [Element Text] oall :: (Element Text -> Bool) -> Text -> Bool oany :: (Element Text -> Bool) -> Text -> Bool ocompareLength :: Integral i => Text -> i -> Ordering otraverse_ :: Applicative f => (Element Text -> f b) -> Text -> f () ofor_ :: Applicative f => Text -> (Element Text -> f b) -> f () omapM_ :: Applicative m => (Element Text -> m ()) -> Text -> m () oforM_ :: Applicative m => Text -> (Element Text -> m ()) -> m () ofoldlM :: Monad m => (a -> Element Text -> m a) -> a -> Text -> m a ofoldMap1Ex :: Semigroup m => (Element Text -> m) -> Text -> m ofoldr1Ex :: (Element Text -> Element Text -> Element Text) -> Text -> Element Text ofoldl1Ex' :: (Element Text -> Element Text -> Element Text) -> Text -> Element Text headEx :: Text -> Element Text lastEx :: Text -> Element Text unsafeHead :: Text -> Element Text unsafeLast :: Text -> Element Text maximumByEx :: (Element Text -> Element Text -> Ordering) -> Text -> Element Text minimumByEx :: (Element Text -> Element Text -> Ordering) -> Text -> Element Text | |
MonoFunctor Text | |
MonoPointed Text | |
Defined in Data.MonoTraversable | |
MonoTraversable Text | |
Defined in Data.MonoTraversable | |
IsSequence Text | |
Defined in Data.Sequences Methods fromList :: [Element Text] -> Text lengthIndex :: Text -> Index Text break :: (Element Text -> Bool) -> Text -> (Text, Text) span :: (Element Text -> Bool) -> Text -> (Text, Text) dropWhile :: (Element Text -> Bool) -> Text -> Text takeWhile :: (Element Text -> Bool) -> Text -> Text splitAt :: Index Text -> Text -> (Text, Text) unsafeSplitAt :: Index Text -> Text -> (Text, Text) take :: Index Text -> Text -> Text unsafeTake :: Index Text -> Text -> Text drop :: Index Text -> Text -> Text unsafeDrop :: Index Text -> Text -> Text dropEnd :: Index Text -> Text -> Text partition :: (Element Text -> Bool) -> Text -> (Text, Text) uncons :: Text -> Maybe (Element Text, Text) unsnoc :: Text -> Maybe (Text, Element Text) filter :: (Element Text -> Bool) -> Text -> Text filterM :: Monad m => (Element Text -> m Bool) -> Text -> m Text replicate :: Index Text -> Element Text -> Text replicateM :: Monad m => Index Text -> m (Element Text) -> m Text groupBy :: (Element Text -> Element Text -> Bool) -> Text -> [Text] groupAllOn :: Eq b => (Element Text -> b) -> Text -> [Text] subsequences :: Text -> [Text] permutations :: Text -> [Text] unsafeTail :: Text -> Text unsafeInit :: Text -> Text index :: Text -> Index Text -> Maybe (Element Text) indexEx :: Text -> Index Text -> Element Text unsafeIndex :: Text -> Index Text -> Element Text | |
SemiSequence Text | |
Defined in Data.Sequences Associated Types type Index Text | |
Textual Text | |
ToSources Text | |
Defined in Text.Pandoc.Sources | |
FromStyleId Text | |
Defined in Text.Pandoc.Readers.Docx.Parse.Styles Methods fromStyleId :: Text -> Text | |
FromStyleName Text | |
Defined in Text.Pandoc.Readers.Docx.Parse.Styles Methods fromStyleName :: Text -> Text | |
ToMetaValue Text | |
Defined in Text.Pandoc.Builder Methods toMetaValue :: Text -> MetaValue | |
Strict Text Text | |
LazySequence Text Text | |
Defined in Data.Sequences | |
Utf8 Text ByteString | |
Defined in Data.Sequences | |
UpdateSourcePos Text Char | |
Defined in Text.Pandoc.Sources Methods updateSourcePos :: SourcePos -> Char -> Text -> SourcePos | |
Cons Text Text Char Char | |
Snoc Text Text Char Char | |
(a ~ Char, b ~ Char) => Each Text Text a b | |
FromPairs Value (DList Pair) | |
Defined in Data.Aeson.Types.ToJSON Methods fromPairs :: DList Pair -> Value | |
v ~ Value => KeyValuePair v (DList Pair) | |
Defined in Data.Aeson.Types.ToJSON | |
ToContext a b => ToContext a (Map Text b) | |
ToSources [(FilePath, Text)] | |
Defined in Text.Pandoc.Sources | |
KnownNat n => Predicate (SizeEqualTo n) Text | |
KnownNat n => Predicate (SizeGreaterThan n) Text | |
KnownNat n => Predicate (SizeLessThan n) Text | |
MimeRender PlainText Text | |
Defined in Servant.API.ContentTypes Methods mimeRender :: Proxy PlainText -> Text -> ByteString | |
MimeUnrender PlainText Text | |
Defined in Servant.API.ContentTypes Methods mimeUnrender :: Proxy PlainText -> ByteString -> Either String Text mimeUnrenderWithType :: Proxy PlainText -> MediaType -> ByteString -> Either String Text | |
ToMetaValue a => ToMetaValue (Map Text a) | |
Defined in Text.Pandoc.Builder Methods toMetaValue :: Map Text a -> MetaValue | |
type Item Text | |
type Index Text | |
Defined in Control.Lens.At | |
type IxValue Text | |
Defined in Control.Lens.At | |
type State Text | |
Defined in Data.Attoparsec.Internal.Types type State Text = Buffer | |
type ChunkElem Text | |
Defined in Data.Attoparsec.Internal.Types | |
type Token Text | |
Defined in Text.Megaparsec.Stream | |
type Tokens Text | |
Defined in Text.Megaparsec.Stream | |
type Element Text | |
Defined in Data.MonoTraversable | |
type Index Text | |
Defined in Data.Sequences |
Arguments
:: ParseTime t | |
=> TimeLocale | Time locale. |
-> String | Format string. |
-> String | Input string. |
-> t | The time value. |
Arguments
:: ParseTime t | |
=> Bool | Accept leading whitespace? |
-> TimeLocale | Time locale. |
-> String | Format string |
-> ReadP t |
Parse a time value given a format string. See parseTimeM
for details.
Arguments
:: ParseTime t | |
=> Bool | Accept leading whitespace? |
-> TimeLocale | Time locale. |
-> String | Format string |
-> ReadS t |
Parse a time value given a format string. See parseTimeM
for details.
Arguments
:: ParseTime t | |
=> Bool | Accept leading and trailing whitespace? |
-> TimeLocale | Time locale. |
-> String | Format string. |
-> String | Input string. |
-> t | The time value. |
Parse a time value given a format string. Fails if the input could
not be parsed using the given format. See parseTimeM
for details.
Arguments
:: (MonadFail m, ParseTime t) | |
=> Bool | Accept leading and trailing whitespace? |
-> TimeLocale | Time locale. |
-> String | Format string. |
-> String | Input string. |
-> m t | Return the time value, or fail if the input could not be parsed using the given format. |
Parses a time value given a format string.
Supports the same %-codes as formatTime
, including %-
, %_
and %0
modifiers, however padding widths are not supported.
Case is not significant in the input string.
Some variations in the input are accepted:
%z
- accepts any of
±HHMM
or±HH:MM
. %Z
- accepts any string of letters, or any of the formats accepted by
%z
. %0Y
- accepts exactly four digits.
%0G
- accepts exactly four digits.
%0C
- accepts exactly two digits.
%0f
- accepts exactly two digits.
For example, to parse a date in YYYY-MM-DD format, while allowing the month
and date to have optional leading zeros (notice the -
modifier used for %m
and %d
):
Prelude Data.Time> parseTimeM True defaultTimeLocale "%Y-%-m-%-d" "2010-3-04" :: Maybe Day Just 2010-03-04
utcToLocalZonedTime :: UTCTime -> IO ZonedTime #
getZonedTime :: IO ZonedTime #
zonedTimeToUTC :: ZonedTime -> UTCTime #
utcToZonedTime :: TimeZone -> UTCTime -> ZonedTime #
A local time together with a time zone.
There is no Eq
instance for ZonedTime
.
If you want to compare local times, use zonedTimeToLocalTime
.
If you want to compare absolute times, use zonedTimeToUTC
.
Constructors
ZonedTime | |
Fields |
Instances
Data ZonedTime | |
Defined in Data.Time.LocalTime.Internal.ZonedTime Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ZonedTime -> c ZonedTime # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ZonedTime # toConstr :: ZonedTime -> Constr # dataTypeOf :: ZonedTime -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ZonedTime) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ZonedTime) # gmapT :: (forall b. Data b => b -> b) -> ZonedTime -> ZonedTime # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ZonedTime -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ZonedTime -> r # gmapQ :: (forall d. Data d => d -> u) -> ZonedTime -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> ZonedTime -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> ZonedTime -> m ZonedTime # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ZonedTime -> m ZonedTime # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ZonedTime -> m ZonedTime # | |
Show ZonedTime | |
NFData ZonedTime | |
Defined in Data.Time.LocalTime.Internal.ZonedTime | |
FromJSON ZonedTime | |
Defined in Data.Aeson.Types.FromJSON | |
ToJSON ZonedTime | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: ZonedTime -> Encoding toJSONList :: [ZonedTime] -> Value toEncodingList :: [ZonedTime] -> Encoding | |
FromJSONKey ZonedTime | |
Defined in Data.Aeson.Types.FromJSON Methods fromJSONKey :: FromJSONKeyFunction ZonedTime fromJSONKeyList :: FromJSONKeyFunction [ZonedTime] | |
ToJSONKey ZonedTime | |
Defined in Data.Aeson.Types.ToJSON | |
FromFormKey ZonedTime | |
Defined in Web.Internal.FormUrlEncoded Methods parseFormKey :: Text -> Either Text ZonedTime | |
ToFormKey ZonedTime | |
Defined in Web.Internal.FormUrlEncoded |
formatTime :: FormatTime t => TimeLocale -> String -> t -> String #
Substitute various time-related information for each %-code in the string, as per formatCharacter
.
The general form is %<modifier><width><alternate><specifier>
, where <modifier>
, <width>
, and <alternate>
are optional.
<modifier>
glibc-style modifiers can be used before the specifier (here marked as z
):
%-z
- no padding
%_z
- pad with spaces
%0z
- pad with zeros
%^z
- convert to upper case
%#z
- convert to lower case (consistently, unlike glibc)
<width>
Width digits can also be used after any modifiers and before the specifier (here marked as z
), for example:
%4z
- pad to 4 characters (with default padding character)
%_12z
- pad with spaces to 12 characters
<alternate>
An optional E
character indicates an alternate formatting. Currently this only affects %Z
and %z
.
%Ez
- alternate formatting
<specifier>
For all types (note these three are done by formatTime
, not by formatCharacter
):
%%
%
%t
- tab
%n
- newline
TimeZone
For TimeZone
(and ZonedTime
and UTCTime
):
%z
- timezone offset in the format
±HHMM
%Ez
- timezone offset in the format
±HH:MM
%Z
- timezone name (or else offset in the format
±HHMM
) %EZ
- timezone name (or else offset in the format
±HH:MM
)
LocalTime
For LocalTime
(and ZonedTime
and UTCTime
and UniversalTime
):
%c
- as
dateTimeFmt
locale
(e.g.%a %b %e %H:%M:%S %Z %Y
)
TimeOfDay
For TimeOfDay
(and LocalTime
and ZonedTime
and UTCTime
and UniversalTime
):
%R
- same as
%H:%M
%T
- same as
%H:%M:%S
%X
- as
timeFmt
locale
(e.g.%H:%M:%S
) %r
- as
time12Fmt
locale
(e.g.%I:%M:%S %p
) %P
- day-half of day from (
amPm
locale
), converted to lowercase,am
,pm
%p
- day-half of day from (
amPm
locale
),AM
,PM
%H
- hour of day (24-hour), 0-padded to two chars,
00
-23
%k
- hour of day (24-hour), space-padded to two chars,
0
-23
%I
- hour of day-half (12-hour), 0-padded to two chars,
01
-12
%l
- hour of day-half (12-hour), space-padded to two chars,
1
-12
%M
- minute of hour, 0-padded to two chars,
00
-59
%S
- second of minute (without decimal part), 0-padded to two chars,
00
-60
%q
- picosecond of second, 0-padded to twelve chars,
000000000000
-999999999999
. %Q
- decimal point and fraction of second, up to 12 second decimals, without trailing zeros.
For a whole number of seconds,
%Q
omits the decimal point unless padding is specified.
UTCTime
and ZonedTime
For UTCTime
and ZonedTime
:
%s
- number of whole seconds since the Unix epoch. For times before
the Unix epoch, this is a negative number. Note that in
%s.%q
and%s%Q
the decimals are positive, not negative. For example, 0.9 seconds before the Unix epoch is formatted as-1.1
with%s%Q
.
DayOfWeek
For DayOfWeek
(and Day
and LocalTime
and ZonedTime
and UTCTime
and UniversalTime
):
%u
- day of week number for Week Date format,
1
(= Monday) -7
(= Sunday) %w
- day of week number,
0
(= Sunday) -6
(= Saturday) %a
- day of week, short form (
snd
fromwDays
locale
),Sun
-Sat
%A
- day of week, long form (
fst
fromwDays
locale
),Sunday
-Saturday
Day
For Day
(and LocalTime
and ZonedTime
and UTCTime
and UniversalTime
):
%D
- same as
%m/%d/%y
%F
- same as
%Y-%m-%d
%x
- as
dateFmt
locale
(e.g.%m/%d/%y
) %Y
- year, no padding. Note
%0Y
and%_Y
pad to four chars %y
- year of century, 0-padded to two chars,
00
-99
%C
- century, no padding. Note
%0C
and%_C
pad to two chars %B
- month name, long form (
fst
frommonths
locale
),January
-December
%b
,%h
- month name, short form (
snd
frommonths
locale
),Jan
-Dec
%m
- month of year, 0-padded to two chars,
01
-12
%d
- day of month, 0-padded to two chars,
01
-31
%e
- day of month, space-padded to two chars,
1
-31
%j
- day of year, 0-padded to three chars,
001
-366
%f
- century for Week Date format, no padding. Note
%0f
and%_f
pad to two chars %V
- week of year for Week Date format, 0-padded to two chars,
01
-53
%U
- week of year where weeks start on Sunday (as
sundayStartWeek
), 0-padded to two chars,00
-53
%W
- week of year where weeks start on Monday (as
mondayStartWeek
), 0-padded to two chars,00
-53
Duration types
The specifiers for DiffTime
, NominalDiffTime
, CalendarDiffDays
, and CalendarDiffTime
are semantically
separate from the other types.
Specifiers on negative time differences will generally be negative (think rem
rather than mod
).
NominalDiffTime
and DiffTime
Note that a "minute" of DiffTime
is simply 60 SI seconds, rather than a minute of civil time.
Use NominalDiffTime
to work with civil time, ignoring any leap seconds.
For NominalDiffTime
and DiffTime
:
%w
- total whole weeks
%d
- total whole days
%D
- whole days of week
%h
- total whole hours
%H
- whole hours of day
%m
- total whole minutes
%M
- whole minutes of hour
%s
- total whole seconds
%Es
- total seconds, with decimal point and up to <width> (default 12) decimal places, without trailing zeros.
For a whole number of seconds,
%Es
omits the decimal point unless padding is specified. %0Es
- total seconds, with decimal point and <width> (default 12) decimal places.
%S
- whole seconds of minute
%ES
- seconds of minute, with decimal point and up to <width> (default 12) decimal places, without trailing zeros.
For a whole number of seconds,
%ES
omits the decimal point unless padding is specified. %0ES
- seconds of minute as two digits, with decimal point and <width> (default 12) decimal places.
CalendarDiffDays
For CalendarDiffDays
(and CalendarDiffTime
):
%y
- total years
%b
- total months
%B
- months of year
%w
- total weeks, not including months
%d
- total days, not including months
%D
- days of week
CalendarDiffTime
For CalendarDiffTime
:
%h
- total hours, not including months
%H
- hours of day
%m
- total minutes, not including months
%M
- minutes of hour
%s
- total whole seconds, not including months
%Es
- total seconds, not including months, with decimal point and up to <width> (default 12) decimal places, without trailing zeros.
For a whole number of seconds,
%Es
omits the decimal point unless padding is specified. %0Es
- total seconds, not including months, with decimal point and <width> (default 12) decimal places.
%S
- whole seconds of minute
%ES
- seconds of minute, with decimal point and up to <width> (default 12) decimal places, without trailing zeros.
For a whole number of seconds,
%ES
omits the decimal point unless padding is specified. %0ES
- seconds of minute as two digits, with decimal point and <width> (default 12) decimal places.
class FormatTime t #
Minimal complete definition
Instances
FormatTime DotNetTime | |
Defined in Data.Aeson.Types.Internal |
The class of types which can be parsed given a UNIX-style time format string.
Minimal complete definition
Format string according to RFC822.
iso8601DateFormat :: Maybe String -> String #
Construct format string according to ISO-8601.
The Maybe String
argument allows to supply an optional time specification. E.g.:
iso8601DateFormat
Nothing == "%Y-%m-%d" -- i.e.YYYY-MM-DD
iso8601DateFormat
(Just "%H:%M:%S") == "%Y-%m-%dT%H:%M:%S" -- i.e.YYYY-MM-DDTHH:MM:SS
defaultTimeLocale :: TimeLocale #
Locale representing American usage.
knownTimeZones
contains only the ten time-zones mentioned in RFC 822 sec. 5:
"UT", "GMT", "EST", "EDT", "CST", "CDT", "MST", "MDT", "PST", "PDT".
Note that the parsing functions will regardless parse "UTC", single-letter military time-zones, and +HHMM format.
data TimeLocale #
Constructors
TimeLocale | |
Fields
|
Instances
Eq TimeLocale | |
Defined in Data.Time.Format.Locale | |
Ord TimeLocale | |
Defined in Data.Time.Format.Locale Methods compare :: TimeLocale -> TimeLocale -> Ordering # (<) :: TimeLocale -> TimeLocale -> Bool # (<=) :: TimeLocale -> TimeLocale -> Bool # (>) :: TimeLocale -> TimeLocale -> Bool # (>=) :: TimeLocale -> TimeLocale -> Bool # max :: TimeLocale -> TimeLocale -> TimeLocale # min :: TimeLocale -> TimeLocale -> TimeLocale # | |
Show TimeLocale | |
Defined in Data.Time.Format.Locale Methods showsPrec :: Int -> TimeLocale -> ShowS # show :: TimeLocale -> String # showList :: [TimeLocale] -> ShowS # |
localTimeToUT1 :: Rational -> LocalTime -> UniversalTime #
Get the UT1 time of a local time on a particular meridian (in degrees, positive is East).
ut1ToLocalTime :: Rational -> UniversalTime -> LocalTime #
Get the local time of a UT1 time on a particular meridian (in degrees, positive is East).
localTimeToUTC :: TimeZone -> LocalTime -> UTCTime #
Get the UTC time of a local time in a time zone.
utcToLocalTime :: TimeZone -> UTCTime -> LocalTime #
Get the local time of a UTC time in a time zone.
diffLocalTime :: LocalTime -> LocalTime -> NominalDiffTime #
diffLocalTime a b = a - b
addLocalTime :: NominalDiffTime -> LocalTime -> LocalTime #
addLocalTime a b = a + b
A simple day and time aggregate, where the day is of the specified parameter, and the time is a TimeOfDay. Conversion of this (as local civil time) to UTC depends on the time zone. Conversion of this (as local mean time) to UT1 depends on the longitude.
Constructors
LocalTime | |
Fields
|
Instances
Eq LocalTime | |
Data LocalTime | |
Defined in Data.Time.LocalTime.Internal.LocalTime Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> LocalTime -> c LocalTime # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c LocalTime # toConstr :: LocalTime -> Constr # dataTypeOf :: LocalTime -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c LocalTime) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c LocalTime) # gmapT :: (forall b. Data b => b -> b) -> LocalTime -> LocalTime # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LocalTime -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LocalTime -> r # gmapQ :: (forall d. Data d => d -> u) -> LocalTime -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> LocalTime -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> LocalTime -> m LocalTime # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> LocalTime -> m LocalTime # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> LocalTime -> m LocalTime # | |
Ord LocalTime | |
Defined in Data.Time.LocalTime.Internal.LocalTime | |
Show LocalTime | |
Structured LocalTime | |
Defined in Distribution.Utils.Structured | |
NFData LocalTime | |
Defined in Data.Time.LocalTime.Internal.LocalTime | |
FromJSON LocalTime | |
Defined in Data.Aeson.Types.FromJSON | |
ToJSON LocalTime | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: LocalTime -> Encoding toJSONList :: [LocalTime] -> Value toEncodingList :: [LocalTime] -> Encoding | |
FromJSONKey LocalTime | |
Defined in Data.Aeson.Types.FromJSON Methods fromJSONKey :: FromJSONKeyFunction LocalTime fromJSONKeyList :: FromJSONKeyFunction [LocalTime] | |
ToJSONKey LocalTime | |
Defined in Data.Aeson.Types.ToJSON | |
FromFormKey LocalTime | |
Defined in Web.Internal.FormUrlEncoded Methods parseFormKey :: Text -> Either Text LocalTime | |
ToFormKey LocalTime | |
Defined in Web.Internal.FormUrlEncoded |
timeOfDayToDayFraction :: TimeOfDay -> Rational #
Get the fraction of a day since midnight given a time of day.
dayFractionToTimeOfDay :: Rational -> TimeOfDay #
Get the time of day given the fraction of a day since midnight.
timeOfDayToTime :: TimeOfDay -> DiffTime #
Get the time since midnight for a given time of day.
timeToTimeOfDay :: DiffTime -> TimeOfDay #
Get the time of day given a time since midnight. Time more than 24h will be converted to leap-seconds.
localToUTCTimeOfDay :: TimeZone -> TimeOfDay -> (Integer, TimeOfDay) #
Convert a time of day in some timezone to a time of day in UTC, together with a day adjustment.
utcToLocalTimeOfDay :: TimeZone -> TimeOfDay -> (Integer, TimeOfDay) #
Convert a time of day in UTC to a time of day in some timezone, together with a day adjustment.
daysAndTimeOfDayToTime :: Integer -> TimeOfDay -> NominalDiffTime #
Convert a count of days and a time of day since midnight into a period of time.
timeToDaysAndTimeOfDay :: NominalDiffTime -> (Integer, TimeOfDay) #
Convert a period of time into a count of days and a time of day since midnight. The time of day will never have a leap second.
Time of day as represented in hour, minute and second (with picoseconds), typically used to express local time of day.
Constructors
TimeOfDay | |
Instances
Eq TimeOfDay | |
Data TimeOfDay | |
Defined in Data.Time.LocalTime.Internal.TimeOfDay Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TimeOfDay -> c TimeOfDay # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TimeOfDay # toConstr :: TimeOfDay -> Constr # dataTypeOf :: TimeOfDay -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c TimeOfDay) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TimeOfDay) # gmapT :: (forall b. Data b => b -> b) -> TimeOfDay -> TimeOfDay # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TimeOfDay -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TimeOfDay -> r # gmapQ :: (forall d. Data d => d -> u) -> TimeOfDay -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> TimeOfDay -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> TimeOfDay -> m TimeOfDay # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TimeOfDay -> m TimeOfDay # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TimeOfDay -> m TimeOfDay # | |
Ord TimeOfDay | |
Defined in Data.Time.LocalTime.Internal.TimeOfDay | |
Show TimeOfDay | |
Structured TimeOfDay | |
Defined in Distribution.Utils.Structured | |
NFData TimeOfDay | |
Defined in Data.Time.LocalTime.Internal.TimeOfDay | |
FromJSON TimeOfDay | |
Defined in Data.Aeson.Types.FromJSON | |
ToJSON TimeOfDay | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: TimeOfDay -> Encoding toJSONList :: [TimeOfDay] -> Value toEncodingList :: [TimeOfDay] -> Encoding | |
FromJSONKey TimeOfDay | |
Defined in Data.Aeson.Types.FromJSON Methods fromJSONKey :: FromJSONKeyFunction TimeOfDay fromJSONKeyList :: FromJSONKeyFunction [TimeOfDay] | |
ToJSONKey TimeOfDay | |
Defined in Data.Aeson.Types.ToJSON |
getCurrentTimeZone :: IO TimeZone #
Get the current time-zone.
getTimeZone :: UTCTime -> IO TimeZone #
Get the local time-zone for a given time (varying as per summertime adjustments).
timeZoneOffsetString :: TimeZone -> String #
Text representing the offset of this timezone, such as "-0800" or "+0400" (like %z
in formatTime).
timeZoneOffsetString' :: Maybe Char -> TimeZone -> String #
Text representing the offset of this timezone, such as "-0800" or "+0400" (like %z
in formatTime), with arbitrary padding.
hoursToTimeZone :: Int -> TimeZone #
Create a nameless non-summer timezone for this number of hours.
minutesToTimeZone :: Int -> TimeZone #
Create a nameless non-summer timezone for this number of minutes.
A TimeZone is a whole number of minutes offset from UTC, together with a name and a "just for summer" flag.
Constructors
TimeZone | |
Fields
|
Instances
Eq TimeZone | |
Data TimeZone | |
Defined in Data.Time.LocalTime.Internal.TimeZone Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TimeZone -> c TimeZone # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TimeZone # toConstr :: TimeZone -> Constr # dataTypeOf :: TimeZone -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c TimeZone) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TimeZone) # gmapT :: (forall b. Data b => b -> b) -> TimeZone -> TimeZone # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TimeZone -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TimeZone -> r # gmapQ :: (forall d. Data d => d -> u) -> TimeZone -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> TimeZone -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> TimeZone -> m TimeZone # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TimeZone -> m TimeZone # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TimeZone -> m TimeZone # | |
Ord TimeZone | |
Defined in Data.Time.LocalTime.Internal.TimeZone | |
Show TimeZone | This only shows the time zone name, or offset if the name is empty. |
Structured TimeZone | |
Defined in Distribution.Utils.Structured | |
NFData TimeZone | |
Defined in Data.Time.LocalTime.Internal.TimeZone |
scaleCalendarDiffTime :: Integer -> CalendarDiffTime -> CalendarDiffTime #
Scale by a factor. Note that scaleCalendarDiffTime (-1)
will not perfectly invert a duration, due to variable month lengths.
data CalendarDiffTime #
Constructors
CalendarDiffTime | |
Fields
|
Instances
diffUTCTime :: UTCTime -> UTCTime -> NominalDiffTime #
diffUTCTime a b = a - b
addUTCTime :: NominalDiffTime -> UTCTime -> UTCTime #
addUTCTime a b = a + b
getCurrentTime :: IO UTCTime #
Get the current UTCTime
from the system clock.
newtype UniversalTime #
The Modified Julian Date is the day with the fraction of the day, measured from UT midnight. It's used to represent UT1, which is time as measured by the earth's rotation, adjusted for various wobbles.
Constructors
ModJulianDate | |
Fields |
Instances
This is the simplest representation of UTC. It consists of the day number, and a time offset from midnight. Note that if a day has a leap second added to it, it will have 86401 seconds.
Constructors
UTCTime | |
Fields
|
Instances
Eq UTCTime | |
Data UTCTime | |
Defined in Data.Time.Clock.Internal.UTCTime Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> UTCTime -> c UTCTime # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c UTCTime # toConstr :: UTCTime -> Constr # dataTypeOf :: UTCTime -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c UTCTime) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c UTCTime) # gmapT :: (forall b. Data b => b -> b) -> UTCTime -> UTCTime # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> UTCTime -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> UTCTime -> r # gmapQ :: (forall d. Data d => d -> u) -> UTCTime -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> UTCTime -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> UTCTime -> m UTCTime # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> UTCTime -> m UTCTime # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> UTCTime -> m UTCTime # | |
Ord UTCTime | |
Defined in Data.Time.Clock.Internal.UTCTime | |
Structured UTCTime | |
Defined in Distribution.Utils.Structured | |
NFData UTCTime | |
Defined in Data.Time.Clock.Internal.UTCTime | |
FromJSON UTCTime | |
Defined in Data.Aeson.Types.FromJSON | |
ToJSON UTCTime | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: UTCTime -> Encoding toJSONList :: [UTCTime] -> Value toEncodingList :: [UTCTime] -> Encoding | |
FromJSONKey UTCTime | |
Defined in Data.Aeson.Types.FromJSON | |
ToJSONKey UTCTime | |
Defined in Data.Aeson.Types.ToJSON | |
FromFormKey UTCTime | |
Defined in Web.Internal.FormUrlEncoded Methods parseFormKey :: Text -> Either Text UTCTime | |
ToFormKey UTCTime | |
Defined in Web.Internal.FormUrlEncoded |
getTime_resolution :: DiffTime #
The resolution of getSystemTime
, getCurrentTime
, getPOSIXTime
nominalDay :: NominalDiffTime #
One day in NominalDiffTime
.
nominalDiffTimeToSeconds :: NominalDiffTime -> Pico #
Get the seconds in a NominalDiffTime
.
Since: time-1.9.1
secondsToNominalDiffTime :: Pico -> NominalDiffTime #
Create a NominalDiffTime
from a number of seconds.
Since: time-1.9.1
data NominalDiffTime #
This is a length of time, as measured by UTC. It has a precision of 10^-12 s.
Conversion functions will treat it as seconds.
For example, (0.010 :: NominalDiffTime)
corresponds to 10 milliseconds.
It ignores leap-seconds, so it's not necessarily a fixed amount of clock time. For instance, 23:00 UTC + 2 hours of NominalDiffTime = 01:00 UTC (+ 1 day), regardless of whether a leap-second intervened.
Instances
diffTimeToPicoseconds :: DiffTime -> Integer #
Get the number of picoseconds in a DiffTime
.
picosecondsToDiffTime :: Integer -> DiffTime #
Create a DiffTime
from a number of picoseconds.
secondsToDiffTime :: Integer -> DiffTime #
Create a DiffTime
which represents an integral number of seconds.
This is a length of time, as measured by a clock. Conversion functions will treat it as seconds. It has a precision of 10^-12 s.
Instances
Instances
diffGregorianDurationRollOver :: Day -> Day -> CalendarDiffDays #
Calendrical difference, with as many whole months as possible.
Same as diffGregorianDurationClip
for positive durations.
diffGregorianDurationClip :: Day -> Day -> CalendarDiffDays #
Calendrical difference, with as many whole months as possible
addGregorianDurationRollOver :: CalendarDiffDays -> Day -> Day #
Add months (rolling over to next month), then add days
addGregorianDurationClip :: CalendarDiffDays -> Day -> Day #
Add months (clipped to last day), then add days
addGregorianYearsRollOver :: Integer -> Day -> Day #
Add years, matching month and day, with Feb 29th rolled over to Mar 1st if necessary. For instance, 2004-02-29 + 2 years = 2006-03-01.
addGregorianYearsClip :: Integer -> Day -> Day #
Add years, matching month and day, with Feb 29th clipped to Feb 28th if necessary. For instance, 2004-02-29 + 2 years = 2006-02-28.
addGregorianMonthsRollOver :: Integer -> Day -> Day #
Add months, with days past the last day of the month rolling over to the next month. For instance, 2005-01-30 + 1 month = 2005-03-02.
addGregorianMonthsClip :: Integer -> Day -> Day #
Add months, with days past the last day of the month clipped to the last day. For instance, 2005-01-30 + 1 month = 2005-02-28.
gregorianMonthLength :: Integer -> Int -> Int #
The number of days in a given month according to the proleptic Gregorian calendar. First argument is year, second is month.
showGregorian :: Day -> String #
Show in ISO 8601 format (yyyy-mm-dd)
fromGregorianValid :: Integer -> Int -> Int -> Maybe Day #
Convert from proleptic Gregorian calendar. First argument is year, second month number (1-12), third day (1-31). Invalid values will return Nothing
fromGregorian :: Integer -> Int -> Int -> Day #
Convert from proleptic Gregorian calendar. First argument is year, second month number (1-12), third day (1-31). Invalid values will be clipped to the correct range, month first, then day.
toGregorian :: Day -> (Integer, Int, Int) #
Convert to proleptic Gregorian calendar. First element of result is year, second month number (1-12), third day (1-31).
isLeapYear :: Integer -> Bool #
Is this year a leap year according to the proleptic Gregorian calendar?
pattern ModifiedJulianDay :: Integer -> Day #
toModifiedJulianDay :: Day -> Integer #
scaleCalendarDiffDays :: Integer -> CalendarDiffDays -> CalendarDiffDays #
Scale by a factor. Note that scaleCalendarDiffDays (-1)
will not perfectly invert a duration, due to variable month lengths.
data CalendarDiffDays #
Constructors
CalendarDiffDays | |
Instances
Instances
KnownNat n => Bounded (Finite n) | |
KnownNat n => Enum (Finite n) | |
Defined in Data.Finite.Internal | |
Eq (Finite n) | |
KnownNat n => Integral (Finite n) | |
Defined in Data.Finite.Internal | |
KnownNat n => Num (Finite n) | |
Ord (Finite n) | |
Defined in Data.Finite.Internal | |
KnownNat n => Read (Finite n) | |
KnownNat n => Real (Finite n) | |
Defined in Data.Finite.Internal Methods toRational :: Finite n -> Rational # | |
Show (Finite n) | |
Generic (Finite n) | |
NFData (Finite n) | |
Defined in Data.Finite.Internal | |
KnownNat n => Finitary (Finite n) | |
Defined in Data.Finitary | |
type Rep (Finite n) | |
Defined in Data.Finite.Internal | |
type Cardinality (Finite n) | |
Defined in Data.Finitary type Cardinality (Finite n) = n |
class Profunctor (p :: Type -> Type -> Type) where #
Instances
Profunctor ReifiedFold | |
Defined in Control.Lens.Reified Methods dimap :: (a -> b) -> (c -> d) -> ReifiedFold b c -> ReifiedFold a d # lmap :: (a -> b) -> ReifiedFold b c -> ReifiedFold a c # rmap :: (b -> c) -> ReifiedFold a b -> ReifiedFold a c # (#.) :: forall a b c q. Coercible c b => q b c -> ReifiedFold a b -> ReifiedFold a c (.#) :: forall a b c q. Coercible b a => ReifiedFold b c -> q a b -> ReifiedFold a c | |
Profunctor ReifiedGetter | |
Defined in Control.Lens.Reified Methods dimap :: (a -> b) -> (c -> d) -> ReifiedGetter b c -> ReifiedGetter a d # lmap :: (a -> b) -> ReifiedGetter b c -> ReifiedGetter a c # rmap :: (b -> c) -> ReifiedGetter a b -> ReifiedGetter a c # (#.) :: forall a b c q. Coercible c b => q b c -> ReifiedGetter a b -> ReifiedGetter a c (.#) :: forall a b c q. Coercible b a => ReifiedGetter b c -> q a b -> ReifiedGetter a c | |
Profunctor Fold | |
Defined in Control.Foldl | |
Monad m => Profunctor (Kleisli m) | |
Defined in Data.Profunctor.Unsafe Methods dimap :: (a -> b) -> (c -> d) -> Kleisli m b c -> Kleisli m a d # lmap :: (a -> b) -> Kleisli m b c -> Kleisli m a c # rmap :: (b -> c) -> Kleisli m a b -> Kleisli m a c # (#.) :: forall a b c q. Coercible c b => q b c -> Kleisli m a b -> Kleisli m a c (.#) :: forall a b c q. Coercible b a => Kleisli m b c -> q a b -> Kleisli m a c | |
Profunctor (Tagged :: Type -> Type -> Type) | |
Defined in Data.Profunctor.Unsafe Methods dimap :: (a -> b) -> (c -> d) -> Tagged b c -> Tagged a d # lmap :: (a -> b) -> Tagged b c -> Tagged a c # rmap :: (b -> c) -> Tagged a b -> Tagged a c # (#.) :: forall a b c q. Coercible c b => q b c -> Tagged a b -> Tagged a c (.#) :: forall a b c q. Coercible b a => Tagged b c -> q a b -> Tagged a c | |
Profunctor (Indexed i) | |
Defined in Control.Lens.Internal.Indexed Methods dimap :: (a -> b) -> (c -> d) -> Indexed i b c -> Indexed i a d # lmap :: (a -> b) -> Indexed i b c -> Indexed i a c # rmap :: (b -> c) -> Indexed i a b -> Indexed i a c # (#.) :: forall a b c q. Coercible c b => q b c -> Indexed i a b -> Indexed i a c (.#) :: forall a b c q. Coercible b a => Indexed i b c -> q a b -> Indexed i a c | |
Profunctor (ReifiedIndexedFold i) | |
Defined in Control.Lens.Reified Methods dimap :: (a -> b) -> (c -> d) -> ReifiedIndexedFold i b c -> ReifiedIndexedFold i a d # lmap :: (a -> b) -> ReifiedIndexedFold i b c -> ReifiedIndexedFold i a c # rmap :: (b -> c) -> ReifiedIndexedFold i a b -> ReifiedIndexedFold i a c # (#.) :: forall a b c q. Coercible c b => q b c -> ReifiedIndexedFold i a b -> ReifiedIndexedFold i a c (.#) :: forall a b c q. Coercible b a => ReifiedIndexedFold i b c -> q a b -> ReifiedIndexedFold i a c | |
Profunctor (ReifiedIndexedGetter i) | |
Defined in Control.Lens.Reified Methods dimap :: (a -> b) -> (c -> d) -> ReifiedIndexedGetter i b c -> ReifiedIndexedGetter i a d # lmap :: (a -> b) -> ReifiedIndexedGetter i b c -> ReifiedIndexedGetter i a c # rmap :: (b -> c) -> ReifiedIndexedGetter i a b -> ReifiedIndexedGetter i a c # (#.) :: forall a b c q. Coercible c b => q b c -> ReifiedIndexedGetter i a b -> ReifiedIndexedGetter i a c (.#) :: forall a b c q. Coercible b a => ReifiedIndexedGetter i b c -> q a b -> ReifiedIndexedGetter i a c | |
Profunctor (CopastroSum p) | |
Defined in Data.Profunctor.Choice Methods dimap :: (a -> b) -> (c -> d) -> CopastroSum p b c -> CopastroSum p a d # lmap :: (a -> b) -> CopastroSum p b c -> CopastroSum p a c # rmap :: (b -> c) -> CopastroSum p a b -> CopastroSum p a c # (#.) :: forall a b c q. Coercible c b => q b c -> CopastroSum p a b -> CopastroSum p a c (.#) :: forall a b c q. Coercible b a => CopastroSum p b c -> q a b -> CopastroSum p a c | |
Profunctor (CotambaraSum p) | |
Defined in Data.Profunctor.Choice Methods dimap :: (a -> b) -> (c -> d) -> CotambaraSum p b c -> CotambaraSum p a d # lmap :: (a -> b) -> CotambaraSum p b c -> CotambaraSum p a c # rmap :: (b -> c) -> CotambaraSum p a b -> CotambaraSum p a c # (#.) :: forall a b c q. Coercible c b => q b c -> CotambaraSum p a b -> CotambaraSum p a c (.#) :: forall a b c q. Coercible b a => CotambaraSum p b c -> q a b -> CotambaraSum p a c | |
Profunctor (PastroSum p) | |
Defined in Data.Profunctor.Choice Methods dimap :: (a -> b) -> (c -> d) -> PastroSum p b c -> PastroSum p a d # lmap :: (a -> b) -> PastroSum p b c -> PastroSum p a c # rmap :: (b -> c) -> PastroSum p a b -> PastroSum p a c # (#.) :: forall a b c q. Coercible c b => q b c -> PastroSum p a b -> PastroSum p a c (.#) :: forall a b c q. Coercible b a => PastroSum p b c -> q a b -> PastroSum p a c | |
Profunctor p => Profunctor (TambaraSum p) | |
Defined in Data.Profunctor.Choice Methods dimap :: (a -> b) -> (c -> d) -> TambaraSum p b c -> TambaraSum p a d # lmap :: (a -> b) -> TambaraSum p b c -> TambaraSum p a c # rmap :: (b -> c) -> TambaraSum p a b -> TambaraSum p a c # (#.) :: forall a b c q. Coercible c b => q b c -> TambaraSum p a b -> TambaraSum p a c (.#) :: forall a b c q. Coercible b a => TambaraSum p b c -> q a b -> TambaraSum p a c | |
Profunctor p => Profunctor (Tambara p) | |
Defined in Data.Profunctor.Strong Methods dimap :: (a -> b) -> (c -> d) -> Tambara p b c -> Tambara p a d # lmap :: (a -> b) -> Tambara p b c -> Tambara p a c # rmap :: (b -> c) -> Tambara p a b -> Tambara p a c # (#.) :: forall a b c q. Coercible c b => q b c -> Tambara p a b -> Tambara p a c (.#) :: forall a b c q. Coercible b a => Tambara p b c -> q a b -> Tambara p a c | |
Profunctor (Copastro p) | |
Defined in Data.Profunctor.Strong Methods dimap :: (a -> b) -> (c -> d) -> Copastro p b c -> Copastro p a d # lmap :: (a -> b) -> Copastro p b c -> Copastro p a c # rmap :: (b -> c) -> Copastro p a b -> Copastro p a c # (#.) :: forall a b c q. Coercible c b => q b c -> Copastro p a b -> Copastro p a c (.#) :: forall a b c q. Coercible b a => Copastro p b c -> q a b -> Copastro p a c | |
Profunctor (Cotambara p) | |
Defined in Data.Profunctor.Strong Methods dimap :: (a -> b) -> (c -> d) -> Cotambara p b c -> Cotambara p a d # lmap :: (a -> b) -> Cotambara p b c -> Cotambara p a c # rmap :: (b -> c) -> Cotambara p a b -> Cotambara p a c # (#.) :: forall a b c q. Coercible c b => q b c -> Cotambara p a b -> Cotambara p a c (.#) :: forall a b c q. Coercible b a => Cotambara p b c -> q a b -> Cotambara p a c | |
Profunctor (Pastro p) | |
Defined in Data.Profunctor.Strong Methods dimap :: (a -> b) -> (c -> d) -> Pastro p b c -> Pastro p a d # lmap :: (a -> b) -> Pastro p b c -> Pastro p a c # rmap :: (b -> c) -> Pastro p a b -> Pastro p a c # (#.) :: forall a b c q. Coercible c b => q b c -> Pastro p a b -> Pastro p a c (.#) :: forall a b c q. Coercible b a => Pastro p b c -> q a b -> Pastro p a c | |
Profunctor p => Profunctor (Closure p) | |
Defined in Data.Profunctor.Closed Methods dimap :: (a -> b) -> (c -> d) -> Closure p b c -> Closure p a d # lmap :: (a -> b) -> Closure p b c -> Closure p a c # rmap :: (b -> c) -> Closure p a b -> Closure p a c # (#.) :: forall a b c q. Coercible c b => q b c -> Closure p a b -> Closure p a c (.#) :: forall a b c q. Coercible b a => Closure p b c -> q a b -> Closure p a c | |
Profunctor (Environment p) | |
Defined in Data.Profunctor.Closed Methods dimap :: (a -> b) -> (c -> d) -> Environment p b c -> Environment p a d # lmap :: (a -> b) -> Environment p b c -> Environment p a c # rmap :: (b -> c) -> Environment p a b -> Environment p a c # (#.) :: forall a b c q. Coercible c b => q b c -> Environment p a b -> Environment p a c (.#) :: forall a b c q. Coercible b a => Environment p b c -> q a b -> Environment p a c | |
Functor m => Profunctor (FoldM m) | |
Defined in Control.Foldl Methods dimap :: (a -> b) -> (c -> d) -> FoldM m b c -> FoldM m a d # lmap :: (a -> b) -> FoldM m b c -> FoldM m a c # rmap :: (b -> c) -> FoldM m a b -> FoldM m a c # (#.) :: forall a b c q. Coercible c b => q b c -> FoldM m a b -> FoldM m a c (.#) :: forall a b c q. Coercible b a => FoldM m b c -> q a b -> FoldM m a c | |
Profunctor (->) | |
Defined in Data.Profunctor.Unsafe | |
Functor w => Profunctor (Cokleisli w) | |
Defined in Data.Profunctor.Unsafe Methods dimap :: (a -> b) -> (c -> d) -> Cokleisli w b c -> Cokleisli w a d # lmap :: (a -> b) -> Cokleisli w b c -> Cokleisli w a c # rmap :: (b -> c) -> Cokleisli w a b -> Cokleisli w a c # (#.) :: forall a b c q. Coercible c b => q b c -> Cokleisli w a b -> Cokleisli w a c (.#) :: forall a b c q. Coercible b a => Cokleisli w b c -> q a b -> Cokleisli w a c | |
Functor f => Profunctor (Costar f) | |
Defined in Data.Profunctor.Types Methods dimap :: (a -> b) -> (c -> d) -> Costar f b c -> Costar f a d # lmap :: (a -> b) -> Costar f b c -> Costar f a c # rmap :: (b -> c) -> Costar f a b -> Costar f a c # (#.) :: forall a b c q. Coercible c b => q b c -> Costar f a b -> Costar f a c (.#) :: forall a b c q. Coercible b a => Costar f b c -> q a b -> Costar f a c | |
Profunctor (Forget r :: Type -> Type -> Type) | |
Defined in Data.Profunctor.Types Methods dimap :: (a -> b) -> (c -> d) -> Forget r b c -> Forget r a d # lmap :: (a -> b) -> Forget r b c -> Forget r a c # rmap :: (b -> c) -> Forget r a b -> Forget r a c # (#.) :: forall a b c q. Coercible c b => q b c -> Forget r a b -> Forget r a c (.#) :: forall a b c q. Coercible b a => Forget r b c -> q a b -> Forget r a c | |
Functor f => Profunctor (Star f) | |
Defined in Data.Profunctor.Types Methods dimap :: (a -> b) -> (c -> d) -> Star f b c -> Star f a d # lmap :: (a -> b) -> Star f b c -> Star f a c # rmap :: (b -> c) -> Star f a b -> Star f a c # (#.) :: forall a b c q. Coercible c b => q b c -> Star f a b -> Star f a c (.#) :: forall a b c q. Coercible b a => Star f b c -> q a b -> Star f a c | |
Profunctor (Exchange a b) | |
Defined in Control.Lens.Internal.Iso Methods dimap :: (a0 -> b0) -> (c -> d) -> Exchange a b b0 c -> Exchange a b a0 d # lmap :: (a0 -> b0) -> Exchange a b b0 c -> Exchange a b a0 c # rmap :: (b0 -> c) -> Exchange a b a0 b0 -> Exchange a b a0 c # (#.) :: forall a0 b0 c q. Coercible c b0 => q b0 c -> Exchange a b a0 b0 -> Exchange a b a0 c (.#) :: forall a0 b0 c q. Coercible b0 a0 => Exchange a b b0 c -> q a0 b0 -> Exchange a b a0 c | |
Contravariant f => Profunctor (Clown f :: Type -> Type -> Type) | |
Defined in Data.Profunctor.Unsafe Methods dimap :: (a -> b) -> (c -> d) -> Clown f b c -> Clown f a d # lmap :: (a -> b) -> Clown f b c -> Clown f a c # rmap :: (b -> c) -> Clown f a b -> Clown f a c # (#.) :: forall a b c q. Coercible c b => q b c -> Clown f a b -> Clown f a c (.#) :: forall a b c q. Coercible b a => Clown f b c -> q a b -> Clown f a c | |
Functor f => Profunctor (Joker f :: Type -> Type -> Type) | |
Defined in Data.Profunctor.Unsafe Methods dimap :: (a -> b) -> (c -> d) -> Joker f b c -> Joker f a d # lmap :: (a -> b) -> Joker f b c -> Joker f a c # rmap :: (b -> c) -> Joker f a b -> Joker f a c # (#.) :: forall a b c q. Coercible c b => q b c -> Joker f a b -> Joker f a c (.#) :: forall a b c q. Coercible b a => Joker f b c -> q a b -> Joker f a c | |
Arrow p => Profunctor (WrappedArrow p) | |
Defined in Data.Profunctor.Types Methods dimap :: (a -> b) -> (c -> d) -> WrappedArrow p b c -> WrappedArrow p a d # lmap :: (a -> b) -> WrappedArrow p b c -> WrappedArrow p a c # rmap :: (b -> c) -> WrappedArrow p a b -> WrappedArrow p a c # (#.) :: forall a b c q. Coercible c b => q b c -> WrappedArrow p a b -> WrappedArrow p a c (.#) :: forall a b c q. Coercible b a => WrappedArrow p b c -> q a b -> WrappedArrow p a c | |
(Profunctor p, Profunctor q) => Profunctor (Product p q) | |
Defined in Data.Profunctor.Unsafe Methods dimap :: (a -> b) -> (c -> d) -> Product p q b c -> Product p q a d # lmap :: (a -> b) -> Product p q b c -> Product p q a c # rmap :: (b -> c) -> Product p q a b -> Product p q a c # (#.) :: forall a b c q0. Coercible c b => q0 b c -> Product p q a b -> Product p q a c (.#) :: forall a b c q0. Coercible b a => Product p q b c -> q0 a b -> Product p q a c | |
(Profunctor p, Profunctor q) => Profunctor (Sum p q) | |
Defined in Data.Profunctor.Unsafe Methods dimap :: (a -> b) -> (c -> d) -> Sum p q b c -> Sum p q a d # lmap :: (a -> b) -> Sum p q b c -> Sum p q a c # rmap :: (b -> c) -> Sum p q a b -> Sum p q a c # (#.) :: forall a b c q0. Coercible c b => q0 b c -> Sum p q a b -> Sum p q a c (.#) :: forall a b c q0. Coercible b a => Sum p q b c -> q0 a b -> Sum p q a c | |
(Functor f, Profunctor p) => Profunctor (Tannen f p) | |
Defined in Data.Profunctor.Unsafe Methods dimap :: (a -> b) -> (c -> d) -> Tannen f p b c -> Tannen f p a d # lmap :: (a -> b) -> Tannen f p b c -> Tannen f p a c # rmap :: (b -> c) -> Tannen f p a b -> Tannen f p a c # (#.) :: forall a b c q. Coercible c b => q b c -> Tannen f p a b -> Tannen f p a c (.#) :: forall a b c q. Coercible b a => Tannen f p b c -> q a b -> Tannen f p a c | |
(Profunctor p, Profunctor q) => Profunctor (Procompose p q) | |
Defined in Data.Profunctor.Composition Methods dimap :: (a -> b) -> (c -> d) -> Procompose p q b c -> Procompose p q a d # lmap :: (a -> b) -> Procompose p q b c -> Procompose p q a c # rmap :: (b -> c) -> Procompose p q a b -> Procompose p q a c # (#.) :: forall a b c q0. Coercible c b => q0 b c -> Procompose p q a b -> Procompose p q a c (.#) :: forall a b c q0. Coercible b a => Procompose p q b c -> q0 a b -> Procompose p q a c | |
(Profunctor p, Profunctor q) => Profunctor (Rift p q) | |
Defined in Data.Profunctor.Composition Methods dimap :: (a -> b) -> (c -> d) -> Rift p q b c -> Rift p q a d # lmap :: (a -> b) -> Rift p q b c -> Rift p q a c # rmap :: (b -> c) -> Rift p q a b -> Rift p q a c # (#.) :: forall a b c q0. Coercible c b => q0 b c -> Rift p q a b -> Rift p q a c (.#) :: forall a b c q0. Coercible b a => Rift p q b c -> q0 a b -> Rift p q a c | |
(Profunctor p, Functor f, Functor g) => Profunctor (Biff p f g) | |
Defined in Data.Profunctor.Unsafe Methods dimap :: (a -> b) -> (c -> d) -> Biff p f g b c -> Biff p f g a d # lmap :: (a -> b) -> Biff p f g b c -> Biff p f g a c # rmap :: (b -> c) -> Biff p f g a b -> Biff p f g a c # (#.) :: forall a b c q. Coercible c b => q b c -> Biff p f g a b -> Biff p f g a c (.#) :: forall a b c q. Coercible b a => Biff p f g b c -> q a b -> Biff p f g a c |
class Foldable f => FoldableWithIndex i (f :: Type -> Type) | f -> i where #
Minimal complete definition
Nothing
Methods
ifoldMap :: Monoid m => (i -> a -> m) -> f a -> m #
ifoldMap' :: Monoid m => (i -> a -> m) -> f a -> m #
ifoldr :: (i -> a -> b -> b) -> b -> f a -> b #
ifoldl :: (i -> b -> a -> b) -> b -> f a -> b #
Instances
FoldableWithIndex Int [] | |
FoldableWithIndex Int NonEmpty | |
Defined in WithIndex | |
FoldableWithIndex Int ZipList | |
Defined in WithIndex | |
FoldableWithIndex Int IntMap | |
Defined in WithIndex | |
FoldableWithIndex Int Seq | |
FoldableWithIndex Int MonoidalIntMap | |
Defined in Data.IntMap.Monoidal.Strict Methods ifoldMap :: Monoid m => (Int -> a -> m) -> MonoidalIntMap a -> m # ifoldMap' :: Monoid m => (Int -> a -> m) -> MonoidalIntMap a -> m # ifoldr :: (Int -> a -> b -> b) -> b -> MonoidalIntMap a -> b # ifoldl :: (Int -> b -> a -> b) -> b -> MonoidalIntMap a -> b # ifoldr' :: (Int -> a -> b -> b) -> b -> MonoidalIntMap a -> b # ifoldl' :: (Int -> b -> a -> b) -> b -> MonoidalIntMap a -> b # | |
FoldableWithIndex () Maybe | |
FoldableWithIndex () Par1 | |
FoldableWithIndex () Identity | |
Defined in WithIndex | |
FoldableWithIndex k (NEMap k) Source # | |
Defined in AOC.Common | |
FoldableWithIndex k (MonoidalMap k) | |
Defined in Data.Map.Monoidal.Strict Methods ifoldMap :: Monoid m => (k -> a -> m) -> MonoidalMap k a -> m # ifoldMap' :: Monoid m => (k -> a -> m) -> MonoidalMap k a -> m # ifoldr :: (k -> a -> b -> b) -> b -> MonoidalMap k a -> b # ifoldl :: (k -> b -> a -> b) -> b -> MonoidalMap k a -> b # ifoldr' :: (k -> a -> b -> b) -> b -> MonoidalMap k a -> b # ifoldl' :: (k -> b -> a -> b) -> b -> MonoidalMap k a -> b # | |
FoldableWithIndex i (Level i) | |
Defined in Control.Lens.Internal.Level | |
FoldableWithIndex k (Map k) | |
FoldableWithIndex k ((,) k) | |
Ix i => FoldableWithIndex i (Array i) | |
Defined in WithIndex | |
FoldableWithIndex Void (V1 :: Type -> Type) | |
FoldableWithIndex Void (U1 :: Type -> Type) | |
FoldableWithIndex Void (Proxy :: Type -> Type) | |
Defined in WithIndex | |
FoldableWithIndex Int (V n) | |
FoldableWithIndex i f => FoldableWithIndex i (Reverse f) | |
Defined in WithIndex | |
FoldableWithIndex i f => FoldableWithIndex i (Rec1 f) | |
FoldableWithIndex i m => FoldableWithIndex i (IdentityT m) | |
Defined in WithIndex Methods ifoldMap :: Monoid m0 => (i -> a -> m0) -> IdentityT m a -> m0 # ifoldMap' :: Monoid m0 => (i -> a -> m0) -> IdentityT m a -> m0 # ifoldr :: (i -> a -> b -> b) -> b -> IdentityT m a -> b # ifoldl :: (i -> b -> a -> b) -> b -> IdentityT m a -> b # | |
FoldableWithIndex i f => FoldableWithIndex i (Backwards f) | |
Defined in WithIndex Methods ifoldMap :: Monoid m => (i -> a -> m) -> Backwards f a -> m # ifoldMap' :: Monoid m => (i -> a -> m) -> Backwards f a -> m # ifoldr :: (i -> a -> b -> b) -> b -> Backwards f a -> b # ifoldl :: (i -> b -> a -> b) -> b -> Backwards f a -> b # | |
FoldableWithIndex Void (Const e :: Type -> Type) | |
Defined in WithIndex | |
FoldableWithIndex Void (Constant e :: Type -> Type) | |
Defined in WithIndex Methods ifoldMap :: Monoid m => (Void -> a -> m) -> Constant e a -> m # ifoldMap' :: Monoid m => (Void -> a -> m) -> Constant e a -> m # ifoldr :: (Void -> a -> b -> b) -> b -> Constant e a -> b # ifoldl :: (Void -> b -> a -> b) -> b -> Constant e a -> b # ifoldr' :: (Void -> a -> b -> b) -> b -> Constant e a -> b # ifoldl' :: (Void -> b -> a -> b) -> b -> Constant e a -> b # | |
FoldableWithIndex i (Magma i t b) | |
Defined in Control.Lens.Internal.Magma Methods ifoldMap :: Monoid m => (i -> a -> m) -> Magma i t b a -> m # ifoldMap' :: Monoid m => (i -> a -> m) -> Magma i t b a -> m # ifoldr :: (i -> a -> b0 -> b0) -> b0 -> Magma i t b a -> b0 # ifoldl :: (i -> b0 -> a -> b0) -> b0 -> Magma i t b a -> b0 # ifoldr' :: (i -> a -> b0 -> b0) -> b0 -> Magma i t b a -> b0 # ifoldl' :: (i -> b0 -> a -> b0) -> b0 -> Magma i t b a -> b0 # | |
FoldableWithIndex Void (K1 i c :: Type -> Type) | |
Defined in WithIndex | |
FoldableWithIndex [Int] Tree | |
Defined in WithIndex | |
FoldableWithIndex (E Quaternion) Quaternion | |
Defined in Linear.Quaternion Methods ifoldMap :: Monoid m => (E Quaternion -> a -> m) -> Quaternion a -> m # ifoldMap' :: Monoid m => (E Quaternion -> a -> m) -> Quaternion a -> m # ifoldr :: (E Quaternion -> a -> b -> b) -> b -> Quaternion a -> b # ifoldl :: (E Quaternion -> b -> a -> b) -> b -> Quaternion a -> b # ifoldr' :: (E Quaternion -> a -> b -> b) -> b -> Quaternion a -> b # ifoldl' :: (E Quaternion -> b -> a -> b) -> b -> Quaternion a -> b # | |
FoldableWithIndex (E V0) V0 | |
FoldableWithIndex (E V1) V1 | |
FoldableWithIndex (E V2) V2 | |
FoldableWithIndex (E V3) V3 | |
FoldableWithIndex (E V4) V4 | |
FoldableWithIndex (E Plucker) Plucker | |
Defined in Linear.Plucker Methods ifoldMap :: Monoid m => (E Plucker -> a -> m) -> Plucker a -> m # ifoldMap' :: Monoid m => (E Plucker -> a -> m) -> Plucker a -> m # ifoldr :: (E Plucker -> a -> b -> b) -> b -> Plucker a -> b # ifoldl :: (E Plucker -> b -> a -> b) -> b -> Plucker a -> b # ifoldr' :: (E Plucker -> a -> b -> b) -> b -> Plucker a -> b # ifoldl' :: (E Plucker -> b -> a -> b) -> b -> Plucker a -> b # | |
FoldableWithIndex i f => FoldableWithIndex [i] (Free f) | |
Defined in Control.Monad.Free | |
FoldableWithIndex i f => FoldableWithIndex [i] (Cofree f) | |
Defined in Control.Comonad.Cofree | |
SNatI n => FoldableWithIndex (Fin n) (Vec n) | |
Defined in Data.Vec.Pull | |
FoldableWithIndex (Fin n) (Vec n) | |
Defined in Data.Vec.Lazy | |
(FoldableWithIndex i f, FoldableWithIndex j g) => FoldableWithIndex (Either i j) (Sum f g) | |
Defined in WithIndex Methods ifoldMap :: Monoid m => (Either i j -> a -> m) -> Sum f g a -> m # ifoldMap' :: Monoid m => (Either i j -> a -> m) -> Sum f g a -> m # ifoldr :: (Either i j -> a -> b -> b) -> b -> Sum f g a -> b # ifoldl :: (Either i j -> b -> a -> b) -> b -> Sum f g a -> b # ifoldr' :: (Either i j -> a -> b -> b) -> b -> Sum f g a -> b # ifoldl' :: (Either i j -> b -> a -> b) -> b -> Sum f g a -> b # | |
(FoldableWithIndex i f, FoldableWithIndex j g) => FoldableWithIndex (Either i j) (Product f g) | |
Defined in WithIndex Methods ifoldMap :: Monoid m => (Either i j -> a -> m) -> Product f g a -> m # ifoldMap' :: Monoid m => (Either i j -> a -> m) -> Product f g a -> m # ifoldr :: (Either i j -> a -> b -> b) -> b -> Product f g a -> b # ifoldl :: (Either i j -> b -> a -> b) -> b -> Product f g a -> b # ifoldr' :: (Either i j -> a -> b -> b) -> b -> Product f g a -> b # ifoldl' :: (Either i j -> b -> a -> b) -> b -> Product f g a -> b # | |
(FoldableWithIndex i f, FoldableWithIndex j g) => FoldableWithIndex (Either i j) (f :+: g) | |
Defined in WithIndex Methods ifoldMap :: Monoid m => (Either i j -> a -> m) -> (f :+: g) a -> m # ifoldMap' :: Monoid m => (Either i j -> a -> m) -> (f :+: g) a -> m # ifoldr :: (Either i j -> a -> b -> b) -> b -> (f :+: g) a -> b # ifoldl :: (Either i j -> b -> a -> b) -> b -> (f :+: g) a -> b # ifoldr' :: (Either i j -> a -> b -> b) -> b -> (f :+: g) a -> b # ifoldl' :: (Either i j -> b -> a -> b) -> b -> (f :+: g) a -> b # | |
(FoldableWithIndex i f, FoldableWithIndex j g) => FoldableWithIndex (Either i j) (f :*: g) | |
Defined in WithIndex Methods ifoldMap :: Monoid m => (Either i j -> a -> m) -> (f :*: g) a -> m # ifoldMap' :: Monoid m => (Either i j -> a -> m) -> (f :*: g) a -> m # ifoldr :: (Either i j -> a -> b -> b) -> b -> (f :*: g) a -> b # ifoldl :: (Either i j -> b -> a -> b) -> b -> (f :*: g) a -> b # ifoldr' :: (Either i j -> a -> b -> b) -> b -> (f :*: g) a -> b # ifoldl' :: (Either i j -> b -> a -> b) -> b -> (f :*: g) a -> b # | |
(FoldableWithIndex i f, FoldableWithIndex j g) => FoldableWithIndex (i, j) (Compose f g) | |
Defined in WithIndex Methods ifoldMap :: Monoid m => ((i, j) -> a -> m) -> Compose f g a -> m # ifoldMap' :: Monoid m => ((i, j) -> a -> m) -> Compose f g a -> m # ifoldr :: ((i, j) -> a -> b -> b) -> b -> Compose f g a -> b # ifoldl :: ((i, j) -> b -> a -> b) -> b -> Compose f g a -> b # ifoldr' :: ((i, j) -> a -> b -> b) -> b -> Compose f g a -> b # ifoldl' :: ((i, j) -> b -> a -> b) -> b -> Compose f g a -> b # | |
(FoldableWithIndex i f, FoldableWithIndex j g) => FoldableWithIndex (i, j) (f :.: g) | |
Defined in WithIndex Methods ifoldMap :: Monoid m => ((i, j) -> a -> m) -> (f :.: g) a -> m # ifoldMap' :: Monoid m => ((i, j) -> a -> m) -> (f :.: g) a -> m # ifoldr :: ((i, j) -> a -> b -> b) -> b -> (f :.: g) a -> b # ifoldl :: ((i, j) -> b -> a -> b) -> b -> (f :.: g) a -> b # ifoldr' :: ((i, j) -> a -> b -> b) -> b -> (f :.: g) a -> b # ifoldl' :: ((i, j) -> b -> a -> b) -> b -> (f :.: g) a -> b # |
class Functor f => FunctorWithIndex i (f :: Type -> Type) | f -> i where #
Minimal complete definition
Nothing
Instances
class (Foldable1 t, Traversable t) => Traversable1 (t :: Type -> Type) where #
Minimal complete definition
traverse1 | sequence1
Instances
class (FunctorWithIndex i t, FoldableWithIndex i t, Traversable t) => TraversableWithIndex i (t :: Type -> Type) | t -> i where #
Minimal complete definition
Nothing
Methods
itraverse :: Applicative f => (i -> a -> f b) -> t a -> f (t b) #
Instances
iall :: FoldableWithIndex i f => (i -> a -> Bool) -> f a -> Bool #
iany :: FoldableWithIndex i f => (i -> a -> Bool) -> f a -> Bool #
iconcatMap :: FoldableWithIndex i f => (i -> a -> [b]) -> f a -> [b] #
ifind :: FoldableWithIndex i f => (i -> a -> Bool) -> f a -> Maybe (i, a) #
ifoldlM :: (FoldableWithIndex i f, Monad m) => (i -> b -> a -> m b) -> b -> f a -> m b #
ifoldrM :: (FoldableWithIndex i f, Monad m) => (i -> a -> b -> m b) -> b -> f a -> m b #
iforM_ :: (FoldableWithIndex i t, Monad m) => t a -> (i -> a -> m b) -> m () #
ifor_ :: (FoldableWithIndex i t, Applicative f) => t a -> (i -> a -> f b) -> f () #
imapM_ :: (FoldableWithIndex i t, Monad m) => (i -> a -> m b) -> t a -> m () #
inone :: FoldableWithIndex i f => (i -> a -> Bool) -> f a -> Bool #
itoList :: FoldableWithIndex i f => f a -> [(i, a)] #
itraverse_ :: (FoldableWithIndex i t, Applicative f) => (i -> a -> f b) -> t a -> f () #
ifor :: (TraversableWithIndex i t, Applicative f) => t a -> (i -> a -> f b) -> f (t b) #
iforM :: (TraversableWithIndex i t, Monad m) => t a -> (i -> a -> m b) -> m (t b) #
imapAccumL :: TraversableWithIndex i t => (i -> s -> a -> (s, b)) -> s -> t a -> (s, t b) #
imapAccumR :: TraversableWithIndex i t => (i -> s -> a -> (s, b)) -> s -> t a -> (s, t b) #
imapM :: (TraversableWithIndex i t, Monad m) => (i -> a -> m b) -> t a -> m (t b) #
_head :: Cons s s a a => Traversal' s a #
_init :: Snoc s s a a => Traversal' s s #
_last :: Snoc s s a a => Traversal' s a #
_tail :: Cons s s a a => Traversal' s s #
cloneEquality :: forall {k1} {k2} (s :: k1) (t :: k2) (a :: k1) (b :: k2). AnEquality s t a b -> Equality s t a b #
equality :: forall {k1} {k2} (s :: k1) (a :: k1) (b :: k2) (t :: k2). (s :~: a) -> (b :~: t) -> Equality s t a b #
fromEq :: forall {k2} {k1} (s :: k2) (t :: k1) (a :: k2) (b :: k1). AnEquality s t a b -> Equality b a t s #
fromLeibniz :: forall {k1} {k2} (a :: k1) (b :: k2) (s :: k1) (t :: k2). (Identical a b a b -> Identical a b s t) -> Equality s t a b #
fromLeibniz' :: forall {k2} (s :: k2) (a :: k2). ((s :~: s) -> s :~: a) -> Equality' s a #
mapEq :: forall k1 k2 (s :: k1) (t :: k2) (a :: k1) (b :: k2) f. AnEquality s t a b -> f s -> f a #
overEquality :: forall {k1} {k2} (s :: k1) (t :: k2) (a :: k1) (b :: k2) p. AnEquality s t a b -> p a b -> p s t #
runEq :: forall {k1} {k2} (s :: k1) (t :: k2) (a :: k1) (b :: k2). AnEquality s t a b -> Identical s t a b #
simply :: forall {k1} {k2} p (f :: k1 -> k2) (s :: k1) (a :: k1) (rep :: RuntimeRep) (r :: TYPE rep). (Optic' p f s a -> r) -> Optic' p f s a -> r #
substEq :: forall {k1} {k2} (s :: k1) (t :: k2) (a :: k1) (b :: k2) (rep :: RuntimeRep) (r :: TYPE rep). AnEquality s t a b -> ((s ~ a, t ~ b) => r) -> r #
underEquality :: forall {k1} {k2} (s :: k1) (t :: k2) (a :: k1) (b :: k2) p. AnEquality s t a b -> p t s -> p b a #
withEquality :: forall {k1} {k2} (s :: k1) (t :: k2) (a :: k1) (b :: k2) (rep :: RuntimeRep) (r :: TYPE rep). AnEquality s t a b -> ((s :~: a) -> (b :~: t) -> r) -> r #
(^?!) :: HasCallStack => s -> Getting (Endo a) s a -> a #
(^@..) :: s -> IndexedGetting i (Endo [(i, a)]) s a -> [(i, a)] #
(^@?!) :: HasCallStack => s -> IndexedGetting i (Endo (i, a)) s a -> (i, a) #
asumOf :: Alternative f => Getting (Endo (f a)) s (f a) -> s -> f a #
backwards :: (Profunctor p, Profunctor q) => Optical p q (Backwards f) s t a b -> Optical p q f s t a b #
concatMapOf :: Getting [r] s a -> (a -> [r]) -> s -> [r] #
droppingWhile :: (Conjoined p, Profunctor q, Applicative f) => (a -> Bool) -> Optical p q (Compose (State Bool) f) s t a a -> Optical p q f s t a a #
elemIndexOf :: Eq a => IndexedGetting i (First i) s a -> a -> s -> Maybe i #
elemIndicesOf :: Eq a => IndexedGetting i (Endo [i]) s a -> a -> s -> [i] #
filteredBy :: (Indexable i p, Applicative f) => Getting (First i) a i -> p a (f a) -> a -> f a #
findIndexOf :: IndexedGetting i (First i) s a -> (a -> Bool) -> s -> Maybe i #
findIndicesOf :: IndexedGetting i (Endo [i]) s a -> (a -> Bool) -> s -> [i] #
foldMapByOf :: Fold s a -> (r -> r -> r) -> r -> (a -> r) -> s -> r #
foldr1Of' :: HasCallStack => Getting (Dual (Endo (Endo (Maybe a)))) s a -> (a -> a -> a) -> s -> a #
foldring :: (Contravariant f, Applicative f) => ((a -> f a -> f a) -> f a -> s -> f a) -> LensLike f s t a b #
iconcatMapOf :: IndexedGetting i [r] s a -> (i -> a -> [r]) -> s -> [r] #
idroppingWhile :: (Indexable i p, Profunctor q, Applicative f) => (i -> a -> Bool) -> Optical (Indexed i) q (Compose (State Bool) f) s t a a -> Optical p q f s t a a #
ifindMOf :: Monad m => IndexedGetting i (Endo (m (Maybe a))) s a -> (i -> a -> m Bool) -> s -> m (Maybe a) #
ifoldMapOf :: IndexedGetting i m s a -> (i -> a -> m) -> s -> m #
ifolding :: (Foldable f, Indexable i p, Contravariant g, Applicative g) => (s -> f (i, a)) -> Over p g s t a b #
ifoldlMOf :: Monad m => IndexedGetting i (Endo (r -> m r)) s a -> (i -> r -> a -> m r) -> r -> s -> m r #
ifoldlOf :: IndexedGetting i (Dual (Endo r)) s a -> (i -> r -> a -> r) -> r -> s -> r #
ifoldlOf' :: IndexedGetting i (Endo (r -> r)) s a -> (i -> r -> a -> r) -> r -> s -> r #
ifoldrMOf :: Monad m => IndexedGetting i (Dual (Endo (r -> m r))) s a -> (i -> a -> r -> m r) -> r -> s -> m r #
ifoldrOf :: IndexedGetting i (Endo r) s a -> (i -> a -> r -> r) -> r -> s -> r #
ifoldrOf' :: IndexedGetting i (Dual (Endo (r -> r))) s a -> (i -> a -> r -> r) -> r -> s -> r #
ifoldring :: (Indexable i p, Contravariant f, Applicative f) => ((i -> a -> f a -> f a) -> f a -> s -> f a) -> Over p f s t a b #
iforMOf_ :: Monad m => IndexedGetting i (Sequenced r m) s a -> s -> (i -> a -> m r) -> m () #
iforOf_ :: Functor f => IndexedGetting i (Traversed r f) s a -> s -> (i -> a -> f r) -> f () #
imapMOf_ :: Monad m => IndexedGetting i (Sequenced r m) s a -> (i -> a -> m r) -> s -> m () #
ipre :: IndexedGetting i (First (i, a)) s a -> IndexPreservingGetter s (Maybe (i, a)) #
ipreuse :: MonadState s m => IndexedGetting i (First (i, a)) s a -> m (Maybe (i, a)) #
ipreuses :: MonadState s m => IndexedGetting i (First r) s a -> (i -> a -> r) -> m (Maybe r) #
ipreview :: MonadReader s m => IndexedGetting i (First (i, a)) s a -> m (Maybe (i, a)) #
ipreviews :: MonadReader s m => IndexedGetting i (First r) s a -> (i -> a -> r) -> m (Maybe r) #
itakingWhile :: (Indexable i p, Profunctor q, Contravariant f, Applicative f) => (i -> a -> Bool) -> Optical' (Indexed i) q (Const (Endo (f s)) :: Type -> Type) s a -> Optical' p q f s a #
itoListOf :: IndexedGetting i (Endo [(i, a)]) s a -> s -> [(i, a)] #
itraverseOf_ :: Functor f => IndexedGetting i (Traversed r f) s a -> (i -> a -> f r) -> s -> f () #
lined :: forall (f :: Type -> Type). Applicative f => IndexedLensLike' Int f String String #
maximum1Of :: Ord a => Getting (Max a) s a -> s -> a #
minimum1Of :: Ord a => Getting (Min a) s a -> s -> a #
replicated :: Int -> Fold a a #
sequence1Of_ :: Functor f => Getting (TraversedF a f) s (f a) -> s -> f () #
sequenceAOf_ :: Functor f => Getting (Traversed a f) s (f a) -> s -> f () #
sequenceOf_ :: Monad m => Getting (Sequenced a m) s (m a) -> s -> m () #
takingWhile :: (Conjoined p, Applicative f) => (a -> Bool) -> Over p (TakingWhile p f a a) s t a a -> Over p f s t a a #
toNonEmptyOf :: Getting (NonEmptyDList a) s a -> s -> NonEmpty a #
traverse1Of_ :: Functor f => Getting (TraversedF r f) s a -> (a -> f r) -> s -> f () #
traverseOf_ :: Functor f => Getting (Traversed r f) s a -> (a -> f r) -> s -> f () #
worded :: forall (f :: Type -> Type). Applicative f => IndexedLensLike' Int f String String #
(^@.) :: s -> IndexedGetting i (i, a) s a -> (i, a) #
getting :: (Profunctor p, Profunctor q, Functor f, Contravariant f) => Optical p q f s t a b -> Optical' p q f s a #
ilistening :: MonadWriter w m => IndexedGetting i (i, u) w u -> m a -> m (a, (i, u)) #
ilistenings :: MonadWriter w m => IndexedGetting i v w u -> (i -> u -> v) -> m a -> m (a, v) #
ito :: (Indexable i p, Contravariant f) => (s -> (i, a)) -> Over' p f s a #
iuse :: MonadState s m => IndexedGetting i (i, a) s a -> m (i, a) #
iuses :: MonadState s m => IndexedGetting i r s a -> (i -> a -> r) -> m r #
iview :: MonadReader s m => IndexedGetting i (i, a) s a -> m (i, a) #
iviews :: MonadReader s m => IndexedGetting i r s a -> (i -> a -> r) -> m r #
like :: (Profunctor p, Contravariant f, Functor f) => a -> Optic' p f s a #
listening :: MonadWriter w m => Getting u w u -> m a -> m (a, u) #
listenings :: MonadWriter w m => Getting v w u -> (u -> v) -> m a -> m (a, v) #
to :: (Profunctor p, Contravariant f) => (s -> a) -> Optic' p f s a #
use :: MonadState s m => Getting a s a -> m a #
view :: MonadReader s m => Getting a s a -> m a #
icompose :: Indexable p c => (i -> j -> p) -> (Indexed i s t -> r) -> (Indexed j a b -> s -> t) -> c a b -> r #
ifoldMapBy :: FoldableWithIndex i t => (r -> r -> r) -> r -> (i -> a -> r) -> t a -> r #
ifoldMapByOf :: IndexedFold i t a -> (r -> r -> r) -> r -> (i -> a -> r) -> t -> r #
ifolded :: forall i (f :: Type -> Type) a. FoldableWithIndex i f => IndexedFold i (f a) a #
imapped :: forall i (f :: Type -> Type) a b. FunctorWithIndex i f => IndexedSetter i (f a) (f b) a b #
itraverseBy :: TraversableWithIndex i t => (forall x. x -> f x) -> (forall x y. f (x -> y) -> f x -> f y) -> (i -> a -> f b) -> t a -> f (t b) #
itraverseByOf :: IndexedTraversal i s t a b -> (forall x. x -> f x) -> (forall x y. f (x -> y) -> f x -> f y) -> (i -> a -> f b) -> s -> f t #
itraversed :: forall i (t :: Type -> Type) a b. TraversableWithIndex i t => IndexedTraversal i (t a) (t b) a b #
indexing :: Indexable Int p => ((a -> Indexing f b) -> s -> Indexing f t) -> p a (f b) -> s -> f t #
indexing64 :: Indexable Int64 p => ((a -> Indexing64 f b) -> s -> Indexing64 f t) -> p a (f b) -> s -> f t #
makeClassyPrisms :: Name -> DecsQ #
makePrisms :: Name -> DecsQ #
retagged :: (Profunctor p, Bifunctor p) => p a b -> p s b #
bimapping :: forall (f :: Type -> Type -> Type) (g :: Type -> Type -> Type) s t a b s' t' a' b'. (Bifunctor f, Bifunctor g) => AnIso s t a b -> AnIso s' t' a' b' -> Iso (f s s') (g t t') (f a a') (g b b') #
contramapping :: forall (f :: Type -> Type) s t a b. Contravariant f => AnIso s t a b -> Iso (f a) (f b) (f s) (f t) #
dimapping :: forall (p :: Type -> Type -> Type) (q :: Type -> Type -> Type) s t a b s' t' a' b'. (Profunctor p, Profunctor q) => AnIso s t a b -> AnIso s' t' a' b' -> Iso (p a s') (q b t') (p s a') (q t b') #
firsting :: forall (f :: Type -> Type -> Type) (g :: Type -> Type -> Type) s t a b x y. (Bifunctor f, Bifunctor g) => AnIso s t a b -> Iso (f s x) (g t y) (f a x) (g b y) #
lmapping :: forall (p :: Type -> Type -> Type) (q :: Type -> Type -> Type) s t a b x y. (Profunctor p, Profunctor q) => AnIso s t a b -> Iso (p a x) (q b y) (p s x) (q t y) #
mapping :: forall (f :: Type -> Type) (g :: Type -> Type) s t a b. (Functor f, Functor g) => AnIso s t a b -> Iso (f s) (g t) (f a) (g b) #
rmapping :: forall (p :: Type -> Type -> Type) (q :: Type -> Type -> Type) s t a b x y. (Profunctor p, Profunctor q) => AnIso s t a b -> Iso (p x s) (q y t) (p x a) (q y b) #
seconding :: forall (f :: Type -> Type -> Type) (g :: Type -> Type -> Type) s t a b x y. (Bifunctor f, Bifunctor g) => AnIso s t a b -> Iso (f x s) (g y t) (f x a) (g y b) #
swapped :: forall (p :: Type -> Type -> Type) a b c d. Swap p => Iso (p a b) (p c d) (p b a) (p d c) #
withIso :: forall s t a b (rep :: RuntimeRep) (r :: TYPE rep). AnIso s t a b -> ((s -> a) -> (b -> t) -> r) -> r #
xplat :: forall {k} s g (t :: k) a (b :: k). Optic (Costar ((->) s)) g s t a b -> ((s -> a) -> g b) -> g t #
xplatf :: forall {k1} {k2} f g (s :: k1) (t :: k2) (a :: k1) (b :: k2). Optic (Costar f) g s t a b -> (f a -> g b) -> f s -> g t #
(#%%=) :: MonadState s m => ALens s s a b -> (a -> (r, b)) -> m r #
(#%=) :: MonadState s m => ALens s s a b -> (a -> b) -> m () #
(#=) :: MonadState s m => ALens s s a b -> b -> m () #
(%%=) :: forall {k} s m p r (a :: k) b. MonadState s m => Over p ((,) r) s s a b -> p a (r, b) -> m r #
(%%@~) :: forall {k} i f s (t :: k) a (b :: k). Over (Indexed i) f s t a b -> (i -> a -> f b) -> s -> f t #
(<#%=) :: MonadState s m => ALens s s a b -> (a -> b) -> m b #
(<#=) :: MonadState s m => ALens s s a b -> b -> m b #
(<%=) :: MonadState s m => LensLike ((,) b) s s a b -> (a -> b) -> m b #
(<//=) :: (MonadState s m, Fractional a) => LensLike' ((,) a) s a -> a -> m a #
(<//~) :: Fractional a => LensLike ((,) a) s t a a -> a -> s -> (a, t) #
(<<%=) :: (Strong p, MonadState s m) => Over p ((,) a) s s a b -> p a b -> m a #
(<<.=) :: MonadState s m => LensLike ((,) a) s s a b -> b -> m a #
(<<//=) :: (MonadState s m, Fractional a) => LensLike' ((,) a) s a -> a -> m a #
(<<//~) :: Fractional a => LensLike' ((,) a) s a -> a -> s -> (a, s) #
(<<^^=) :: (MonadState s m, Fractional a, Integral e) => LensLike' ((,) a) s a -> e -> m a #
(<<~) :: MonadState s m => ALens s s a b -> m b -> m b #
(<^^=) :: (MonadState s m, Fractional a, Integral e) => LensLike' ((,) a) s a -> e -> m a #
alongside :: LensLike (AlongsideLeft f b') s t a b -> LensLike (AlongsideRight f t) s' t' a' b' -> LensLike f (s, s') (t, t') (a, a') (b, b') #
choosing :: Functor f => LensLike f s t a b -> LensLike f s' t' a b -> LensLike f (Either s s') (Either t t') a b #
chosen :: IndexPreservingLens (Either a a) (Either b b) a b #
cloneIndexPreservingLens :: ALens s t a b -> IndexPreservingLens s t a b #
cloneIndexedLens :: AnIndexedLens i s t a b -> IndexedLens i s t a b #
ilens :: (s -> (i, a)) -> (s -> b -> t) -> IndexedLens i s t a b #
inside :: forall (p :: Type -> Type -> Type) s t a b e. Corepresentable p => ALens s t a b -> Lens (p e s) (p e t) (p e a) (p e b) #
iplens :: (s -> a) -> (s -> b -> t) -> IndexPreservingLens s t a b #
locus :: forall (p :: Type -> Type -> Type -> Type) a c s b. IndexedComonadStore p => Lens (p a c s) (p b c s) a b #
withLens :: forall s t a b (rep :: RuntimeRep) (r :: TYPE rep). ALens s t a b -> ((s -> a) -> (s -> b -> t) -> r) -> r #
ilevels :: forall (f :: Type -> Type) i s t a b j. Applicative f => Traversing (Indexed i) f s t a b -> IndexedLensLike Int f s t (Level i a) (Level j b) #
levels :: forall (f :: Type -> Type) s t a b. Applicative f => Traversing (->) f s t a b -> IndexedLensLike Int f s t (Level () a) (Level () b) #
(...) :: forall {k} f c s t p (a :: k) b. (Applicative f, Plated c) => LensLike f s t c c -> Over p f c c a b -> Over p f s t a b #
composOpFold :: Plated a => b -> (b -> b -> b) -> (a -> b) -> a -> b #
contextsOf :: ATraversal' a a -> a -> [Context a a a] #
contextsOn :: Plated a => ATraversal s t a a -> s -> [Context a a t] #
contextsOnOf :: ATraversal s t a a -> ATraversal' a a -> s -> [Context a a t] #
cosmosOf :: (Applicative f, Contravariant f) => LensLike' f a a -> LensLike' f a a #
cosmosOn :: (Applicative f, Contravariant f, Plated a) => LensLike' f s a -> LensLike' f s a #
cosmosOnOf :: (Applicative f, Contravariant f) => LensLike' f s a -> LensLike' f a a -> LensLike' f s a #
deep :: (Conjoined p, Applicative f, Plated s) => Traversing p f s s a b -> Over p f s s a b #
gplate1 :: forall {k} (f :: k -> Type) (a :: k). (Generic1 f, GPlated1 f (Rep1 f)) => Traversal' (f a) (f a) #
holesOnOf :: Conjoined p => LensLike (Bazaar p r r) s t a b -> Over p (Bazaar p r r) a b r r -> s -> [Pretext p r r t] #
rewriteMOf :: Monad m => LensLike (WrappedMonad m) a b a b -> (b -> m (Maybe a)) -> a -> m b #
rewriteMOn :: (Monad m, Plated a) => LensLike (WrappedMonad m) s t a a -> (a -> m (Maybe a)) -> s -> m t #
rewriteMOnOf :: Monad m => LensLike (WrappedMonad m) s t a b -> LensLike (WrappedMonad m) a b a b -> (b -> m (Maybe a)) -> s -> m t #
rewriteOnOf :: ASetter s t a b -> ASetter a b a b -> (b -> Maybe a) -> s -> t #
transformM :: (Monad m, Plated a) => (a -> m a) -> a -> m a #
transformMOf :: Monad m => LensLike (WrappedMonad m) a b a b -> (b -> m b) -> a -> m b #
transformMOn :: (Monad m, Plated a) => LensLike (WrappedMonad m) s t a a -> (a -> m a) -> s -> m t #
transformMOnOf :: Monad m => LensLike (WrappedMonad m) s t a b -> LensLike (WrappedMonad m) a b a b -> (b -> m b) -> s -> m t #
transformOf :: ASetter a b a b -> (b -> b) -> a -> b #
transformOn :: Plated a => ASetter s t a a -> (a -> a) -> s -> t #
transformOnOf :: ASetter s t a b -> ASetter a b a b -> (b -> b) -> s -> t #
universeOf :: Getting [a] a a -> a -> [a] #
universeOn :: Plated a => Getting [a] s a -> s -> [a] #
universeOnOf :: Getting [a] s a -> Getting [a] a a -> s -> [a] #
clonePrism :: APrism s t a b -> Prism s t a b #
outside :: forall (p :: Type -> Type -> Type) s t a b r. Representable p => APrism s t a b -> Lens (p t r) (p s r) (p b r) (p a r) #
without :: APrism s t a b -> APrism u v c d -> Prism (Either s u) (Either t v) (Either a c) (Either b d) #
reuse :: MonadState b m => AReview t b -> m t #
reuses :: MonadState b m => AReview t b -> (t -> r) -> m r #
review :: MonadReader b m => AReview t b -> m t #
reviewing :: (Bifunctor p, Functor f) => Optic (Tagged :: Type -> Type -> Type) Identity s t a b -> Optic' p f t b #
reviews :: MonadReader b m => AReview t b -> (t -> r) -> m r #
(%=) :: MonadState s m => ASetter s s a b -> (a -> b) -> m () #
(%@=) :: MonadState s m => AnIndexedSetter i s s a b -> (i -> a -> b) -> m () #
(%@~) :: AnIndexedSetter i s t a b -> (i -> a -> b) -> s -> t #
(**=) :: (MonadState s m, Floating a) => ASetter' s a -> a -> m () #
(*=) :: (MonadState s m, Num a) => ASetter' s a -> a -> m () #
(+=) :: (MonadState s m, Num a) => ASetter' s a -> a -> m () #
(-=) :: (MonadState s m, Num a) => ASetter' s a -> a -> m () #
(.=) :: MonadState s m => ASetter s s a b -> b -> m () #
(.@=) :: MonadState s m => AnIndexedSetter i s s a b -> (i -> b) -> m () #
(.@~) :: AnIndexedSetter i s t a b -> (i -> b) -> s -> t #
(//=) :: (MonadState s m, Fractional a) => ASetter' s a -> a -> m () #
(//~) :: Fractional a => ASetter s t a a -> a -> s -> t #
(<.=) :: MonadState s m => ASetter s s a b -> b -> m b #
(<>=) :: (MonadState s m, Semigroup a) => ASetter' s a -> a -> m () #
(<?=) :: MonadState s m => ASetter s s a (Maybe b) -> b -> m b #
(<~) :: MonadState s m => ASetter s s a b -> m b -> m () #
(?=) :: MonadState s m => ASetter s s a (Maybe b) -> b -> m () #
(^^=) :: (MonadState s m, Fractional a, Integral e) => ASetter' s a -> e -> m () #
(^^~) :: (Fractional a, Integral e) => ASetter s t a a -> e -> s -> t #
assign :: MonadState s m => ASetter s s a b -> b -> m () #
censoring :: MonadWriter w m => Setter w w u v -> (u -> v) -> m a -> m a #
cloneIndexPreservingSetter :: ASetter s t a b -> IndexPreservingSetter s t a b #
cloneIndexedSetter :: AnIndexedSetter i s t a b -> IndexedSetter i s t a b #
cloneSetter :: ASetter s t a b -> Setter s t a b #
contramapped :: forall (f :: Type -> Type) b a. Contravariant f => Setter (f b) (f a) a b #
icensoring :: MonadWriter w m => IndexedSetter i w w u v -> (i -> u -> v) -> m a -> m a #
ilocally :: MonadReader s m => AnIndexedSetter i s s a b -> (i -> a -> b) -> m r -> m r #
imapOf :: AnIndexedSetter i s t a b -> (i -> a -> b) -> s -> t #
imodifying :: MonadState s m => AnIndexedSetter i s s a b -> (i -> a -> b) -> m () #
iover :: AnIndexedSetter i s t a b -> (i -> a -> b) -> s -> t #
ipassing :: MonadWriter w m => IndexedSetter i w w u v -> m (a, i -> u -> v) -> m a #
iset :: AnIndexedSetter i s t a b -> (i -> b) -> s -> t #
isets :: ((i -> a -> b) -> s -> t) -> IndexedSetter i s t a b #
locally :: MonadReader s m => ASetter s s a b -> (a -> b) -> m r -> m r #
modifying :: MonadState s m => ASetter s s a b -> (a -> b) -> m () #
passing :: MonadWriter w m => Setter w w u v -> m (a, u -> v) -> m a #
scribe :: (MonadWriter t m, Monoid s) => ASetter s t a b -> b -> m () #
sets :: (Profunctor p, Profunctor q, Settable f) => (p a b -> q s t) -> Optical p q f s t a b #
setting :: ((a -> b) -> s -> t) -> IndexPreservingSetter s t a b #
declareClassy :: DecsQ -> DecsQ #
declareFields :: DecsQ -> DecsQ #
declareLenses :: DecsQ -> DecsQ #
declareLensesWith :: LensRules -> DecsQ -> DecsQ #
declarePrisms :: DecsQ -> DecsQ #
declareWrapped :: DecsQ -> DecsQ #
lensRulesFor :: [(String, String)] -> LensRules #
lookingupNamer :: [(String, String)] -> FieldNamer #
makeClassy :: Name -> DecsQ #
makeClassy_ :: Name -> DecsQ #
makeFields :: Name -> DecsQ #
makeFieldsNoPrefix :: Name -> DecsQ #
makeLenses :: Name -> DecsQ #
makeLensesWith :: LensRules -> Name -> DecsQ #
makeWrapped :: Name -> DecsQ #
mappingNamer :: (String -> [String]) -> FieldNamer #
beside :: (Representable q, Applicative (Rep q), Applicative f, Bitraversable r) => Optical p q f s t a b -> Optical p q f s' t' a b -> Optical p q f (r s s') (r t t') a b #
both1 :: forall (r :: Type -> Type -> Type) a b. Bitraversable1 r => Traversal1 (r a a) (r b b) a b #
cloneIndexPreservingTraversal :: ATraversal s t a b -> IndexPreservingTraversal s t a b #
cloneIndexPreservingTraversal1 :: ATraversal1 s t a b -> IndexPreservingTraversal1 s t a b #
cloneIndexedTraversal :: AnIndexedTraversal i s t a b -> IndexedTraversal i s t a b #
cloneIndexedTraversal1 :: AnIndexedTraversal1 i s t a b -> IndexedTraversal1 i s t a b #
cloneTraversal :: ATraversal s t a b -> Traversal s t a b #
cloneTraversal1 :: ATraversal1 s t a b -> Traversal1 s t a b #
confusing :: Applicative f => LensLike (Curried (Yoneda f) (Yoneda f)) s t a b -> LensLike f s t a b #
deepOf :: (Conjoined p, Applicative f) => LensLike f s t s t -> Traversing p f s t a b -> Over p f s t a b #
dropping :: (Conjoined p, Applicative f) => Int -> Over p (Indexing f) s t a a -> Over p f s t a a #
element :: forall (t :: Type -> Type) a. Traversable t => Int -> IndexedTraversal' Int (t a) a #
elementOf :: forall (f :: Type -> Type) s t a. Applicative f => LensLike (Indexing f) s t a a -> Int -> IndexedLensLike Int f s t a a #
elements :: forall (t :: Type -> Type) a. Traversable t => (Int -> Bool) -> IndexedTraversal' Int (t a) a #
elementsOf :: forall (f :: Type -> Type) s t a. Applicative f => LensLike (Indexing f) s t a a -> (Int -> Bool) -> IndexedLensLike Int f s t a a #
failing :: (Conjoined p, Applicative f) => Traversing p f s t a b -> Over p f s t a b -> Over p f s t a b #
forMOf :: LensLike (WrappedMonad m) s t a b -> s -> (a -> m b) -> m t #
iforMOf :: (Indexed i a (WrappedMonad m b) -> s -> WrappedMonad m t) -> s -> (i -> a -> m b) -> m t #
ignored :: Applicative f => pafb -> s -> f s #
imapAccumLOf :: Over (Indexed i) (State acc) s t a b -> (i -> acc -> a -> (acc, b)) -> acc -> s -> (acc, t) #
imapAccumROf :: Over (Indexed i) (Backwards (State acc)) s t a b -> (i -> acc -> a -> (acc, b)) -> acc -> s -> (acc, t) #
imapMOf :: Over (Indexed i) (WrappedMonad m) s t a b -> (i -> a -> m b) -> s -> m t #
ipartsOf :: (Indexable [i] p, Functor f) => Traversing (Indexed i) f s t a a -> Over p f s t [a] [a] #
ipartsOf' :: forall i p f s t a. (Indexable [i] p, Functor f) => Over (Indexed i) (Bazaar' (Indexed i) a) s t a a -> Over p f s t [a] [a] #
itraverseOf :: (Indexed i a (f b) -> s -> f t) -> (i -> a -> f b) -> s -> f t #
iunsafePartsOf :: (Indexable [i] p, Functor f) => Traversing (Indexed i) f s t a b -> Over p f s t [a] [b] #
iunsafePartsOf' :: forall i s t a b. Over (Indexed i) (Bazaar (Indexed i) a b) s t a b -> IndexedLens [i] s t [a] [b] #
mapAccumLOf :: LensLike (State acc) s t a b -> (acc -> a -> (acc, b)) -> acc -> s -> (acc, t) #
mapAccumROf :: LensLike (Backwards (State acc)) s t a b -> (acc -> a -> (acc, b)) -> acc -> s -> (acc, t) #
mapMOf :: LensLike (WrappedMonad m) s t a b -> (a -> m b) -> s -> m t #
partsOf :: Functor f => Traversing (->) f s t a a -> LensLike f s t [a] [a] #
partsOf' :: ATraversal s t a a -> Lens s t [a] [a] #
sequenceAOf :: LensLike f s t (f b) b -> s -> f t #
sequenceByOf :: Traversal s t (f b) b -> (forall x. x -> f x) -> (forall x y. f (x -> y) -> f x -> f y) -> s -> f t #
sequenceOf :: LensLike (WrappedMonad m) s t (m b) b -> s -> m t #
singular :: (HasCallStack, Conjoined p, Functor f) => Traversing p f s t a a -> Over p f s t a a #
taking :: (Conjoined p, Applicative f) => Int -> Traversing p f s t a a -> Over p f s t a a #
transposeOf :: LensLike ZipList s t [a] a -> s -> [t] #
traverseByOf :: Traversal s t a b -> (forall x. x -> f x) -> (forall x y. f (x -> y) -> f x -> f y) -> (a -> f b) -> s -> f t #
traverseOf :: LensLike f s t a b -> (a -> f b) -> s -> f t #
traversed :: forall (f :: Type -> Type) a b. Traversable f => IndexedTraversal Int (f a) (f b) a b #
traversed1 :: forall (f :: Type -> Type) a b. Traversable1 f => IndexedTraversal1 Int (f a) (f b) a b #
traversed64 :: forall (f :: Type -> Type) a b. Traversable f => IndexedTraversal Int64 (f a) (f b) a b #
unsafePartsOf :: Functor f => Traversing (->) f s t a b -> LensLike f s t [a] [b] #
unsafePartsOf' :: ATraversal s t a b -> Lens s t [a] [b] #
unsafeSingular :: (HasCallStack, Conjoined p, Functor f) => Traversing p f s t a b -> Over p f s t a b #
_GWrapped' :: forall s (d :: Meta) (c :: Meta) (s' :: Meta) a. (Generic s, D1 d (C1 c (S1 s' (Rec0 a))) ~ Rep s, Unwrapped s ~ GUnwrapped (Rep s)) => Iso' s (Unwrapped s) #
_Unwrapped :: Rewrapping s t => Iso (Unwrapped t) (Unwrapped s) t s #
_Unwrapped' :: Wrapped s => Iso' (Unwrapped s) s #
_Unwrapping :: Rewrapping s t => (Unwrapped s -> s) -> Iso (Unwrapped t) (Unwrapped s) t s #
ala :: (Functor f, Rewrapping s t) => (Unwrapped s -> s) -> ((Unwrapped t -> t) -> f s) -> f (Unwrapped s) #
alaf :: (Functor f, Functor g, Rewrapping s t) => (Unwrapped s -> s) -> (f t -> g s) -> f (Unwrapped t) -> g (Unwrapped s) #
sequenceBy :: Traversable t => (forall x. x -> f x) -> (forall x y. f (x -> y) -> f x -> f y) -> t (f a) -> f (t a) #
traverseBy :: Traversable t => (forall x. x -> f x) -> (forall x y. f (x -> y) -> f x -> f y) -> (a -> f b) -> t a -> f (t b) #
Instances
type Index ByteString | |
Defined in Control.Lens.At | |
type Index ByteString | |
Defined in Control.Lens.At | |
type Index IntSet | |
Defined in Control.Lens.At | |
type Index Text | |
Defined in Control.Lens.At | |
type Index Text | |
Defined in Control.Lens.At | |
type Index [a] | |
Defined in Control.Lens.At | |
type Index (Maybe a) | |
Defined in Control.Lens.At | |
type Index (Set a) | |
Defined in Control.Lens.At | |
type Index (NonEmpty a) | |
Defined in Control.Lens.At | |
type Index (Identity a) | |
Defined in Control.Lens.At | |
type Index (Complex a) | |
Defined in Control.Lens.At | |
type Index (IntMap a) | |
Defined in Control.Lens.At | |
type Index (Tree a) | |
Defined in Control.Lens.At | |
type Index (Seq a) | |
Defined in Control.Lens.At | |
type Index (HashSet a) | |
Defined in Control.Lens.At type Index (HashSet a) = a | |
type Index (Vector a) | |
Defined in Control.Lens.At | |
type Index (Vector a) | |
Defined in Control.Lens.At | |
type Index (Vector a) | |
Defined in Control.Lens.At | |
type Index (Vector a) | |
Defined in Control.Lens.At | |
type Index (Quaternion a) | |
Defined in Linear.Quaternion type Index (Quaternion a) = E Quaternion | |
type Index (V0 a) | |
type Index (V1 a) | |
type Index (V2 a) | |
type Index (V3 a) | |
type Index (V4 a) | |
type Index (Plucker a) | |
Defined in Linear.Plucker type Index (Plucker a) = E Plucker | |
type Index (MonoidalIntMap a) | |
Defined in Data.IntMap.Monoidal.Strict | |
type Index (e -> a) | |
Defined in Control.Lens.At type Index (e -> a) = e | |
type Index (a, b) | |
Defined in Control.Lens.At | |
type Index (Map k a) | |
Defined in Control.Lens.At | |
type Index (UArray i e) | |
Defined in Control.Lens.At | |
type Index (Array i e) | |
Defined in Control.Lens.At | |
type Index (HashMap k a) | |
Defined in Control.Lens.At type Index (HashMap k a) = k | |
type Index (MonoidalMap k a) | |
Defined in Data.Map.Monoidal.Strict type Index (MonoidalMap k a) = k | |
type Index (a, b, c) | |
Defined in Control.Lens.At | |
type Index (Vector v n a) Source # | |
Defined in AOC.Common | |
type Index (V n a) | |
type Index (OrdPSQ k p v) Source # | |
Defined in AOC.Common type Index (OrdPSQ k p v) = k | |
type Index (a, b, c, d) | |
Defined in Control.Lens.At | |
type Index (a, b, c, d, e) | |
Defined in Control.Lens.At | |
type Index (a, b, c, d, e, f) | |
Defined in Control.Lens.At | |
type Index (a, b, c, d, e, f, g) | |
Defined in Control.Lens.At | |
type Index (a, b, c, d, e, f, g, h) | |
Defined in Control.Lens.At | |
type Index (a, b, c, d, e, f, g, h, i) | |
Defined in Control.Lens.At |
Instances
type IxValue ByteString | |
Defined in Control.Lens.At | |
type IxValue ByteString | |
Defined in Control.Lens.At | |
type IxValue IntSet | |
Defined in Control.Lens.At | |
type IxValue Text | |
Defined in Control.Lens.At | |
type IxValue Text | |
Defined in Control.Lens.At | |
type IxValue [a] | |
Defined in Control.Lens.At type IxValue [a] = a | |
type IxValue (Maybe a) | |
Defined in Control.Lens.At | |
type IxValue (Set k) | |
Defined in Control.Lens.At | |
type IxValue (NonEmpty a) | |
Defined in Control.Lens.At | |
type IxValue (Identity a) | |
Defined in Control.Lens.At | |
type IxValue (IntMap a) | |
Defined in Control.Lens.At | |
type IxValue (Tree a) | |
Defined in Control.Lens.At | |
type IxValue (Seq a) | |
Defined in Control.Lens.At | |
type IxValue (HashSet k) | |
Defined in Control.Lens.At type IxValue (HashSet k) = () | |
type IxValue (Vector a) | |
Defined in Control.Lens.At type IxValue (Vector a) = a | |
type IxValue (Vector a) | |
Defined in Control.Lens.At type IxValue (Vector a) = a | |
type IxValue (Vector a) | |
Defined in Control.Lens.At type IxValue (Vector a) = a | |
type IxValue (Vector a) | |
Defined in Control.Lens.At type IxValue (Vector a) = a | |
type IxValue (Quaternion a) | |
Defined in Linear.Quaternion type IxValue (Quaternion a) = a | |
type IxValue (V0 a) | |
type IxValue (V1 a) | |
type IxValue (V2 a) | |
type IxValue (V3 a) | |
type IxValue (V4 a) | |
type IxValue (Plucker a) | |
Defined in Linear.Plucker type IxValue (Plucker a) = a | |
type IxValue (MonoidalIntMap a) | |
Defined in Data.IntMap.Monoidal.Strict type IxValue (MonoidalIntMap a) = a | |
type IxValue (e -> a) | |
Defined in Control.Lens.At type IxValue (e -> a) = a | |
type IxValue (a, a2) | |
Defined in Control.Lens.At type IxValue (a, a2) = a | |
type IxValue (Map k a) | |
Defined in Control.Lens.At | |
type IxValue (UArray i e) | |
Defined in Control.Lens.At | |
type IxValue (Array i e) | |
Defined in Control.Lens.At | |
type IxValue (HashMap k a) | |
Defined in Control.Lens.At type IxValue (HashMap k a) = a | |
type IxValue (MonoidalMap k a) | |
Defined in Data.Map.Monoidal.Strict type IxValue (MonoidalMap k a) = a | |
type IxValue (a, a2, a3) | |
Defined in Control.Lens.At type IxValue (a, a2, a3) = a | |
type IxValue (Vector v n a) Source # | |
Defined in AOC.Common type IxValue (Vector v n a) = a | |
type IxValue (V n a) | |
type IxValue (OrdPSQ k p v) Source # | |
Defined in AOC.Common type IxValue (OrdPSQ k p v) = v | |
type IxValue (a, a2, a3, a4) | |
Defined in Control.Lens.At type IxValue (a, a2, a3, a4) = a | |
type IxValue (a, a2, a3, a4, a5) | |
Defined in Control.Lens.At type IxValue (a, a2, a3, a4, a5) = a | |
type IxValue (a, a2, a3, a4, a5, a6) | |
Defined in Control.Lens.At type IxValue (a, a2, a3, a4, a5, a6) = a | |
type IxValue (a, a2, a3, a4, a5, a6, a7) | |
Defined in Control.Lens.At type IxValue (a, a2, a3, a4, a5, a6, a7) = a | |
type IxValue (a, a2, a3, a4, a5, a6, a7, a8) | |
Defined in Control.Lens.At type IxValue (a, a2, a3, a4, a5, a6, a7, a8) = a | |
type IxValue (a, a2, a3, a4, a5, a6, a7, a8, a9) | |
Defined in Control.Lens.At type IxValue (a, a2, a3, a4, a5, a6, a7, a8, a9) = a |
Minimal complete definition
Nothing
Methods
ix :: Index m -> Traversal' m (IxValue m) #
Instances
Ixed ByteString | |
Defined in Control.Lens.At Methods ix :: Index ByteString -> Traversal' ByteString (IxValue ByteString) # | |
Ixed ByteString | |
Defined in Control.Lens.At Methods ix :: Index ByteString -> Traversal' ByteString (IxValue ByteString) # | |
Ixed IntSet | |
Defined in Control.Lens.At | |
Ixed Text | |
Defined in Control.Lens.At | |
Ixed Text | |
Defined in Control.Lens.At | |
Ixed [a] | |
Defined in Control.Lens.At Methods ix :: Index [a] -> Traversal' [a] (IxValue [a]) # | |
Ixed (Maybe a) | |
Defined in Control.Lens.At | |
Ord k => Ixed (Set k) | |
Defined in Control.Lens.At | |
Ixed (NonEmpty a) | |
Defined in Control.Lens.At | |
Ixed (Identity a) | |
Defined in Control.Lens.At | |
Ixed (IntMap a) | |
Defined in Control.Lens.At | |
Ixed (Tree a) | |
Defined in Control.Lens.At | |
Ixed (Seq a) | |
Defined in Control.Lens.At | |
(Eq k, Hashable k) => Ixed (HashSet k) | |
Defined in Control.Lens.At Methods ix :: Index (HashSet k) -> Traversal' (HashSet k) (IxValue (HashSet k)) # | |
Unbox a => Ixed (Vector a) | |
Defined in Control.Lens.At Methods ix :: Index (Vector a) -> Traversal' (Vector a) (IxValue (Vector a)) # | |
Ixed (Vector a) | |
Defined in Control.Lens.At Methods ix :: Index (Vector a) -> Traversal' (Vector a) (IxValue (Vector a)) # | |
Storable a => Ixed (Vector a) | |
Defined in Control.Lens.At Methods ix :: Index (Vector a) -> Traversal' (Vector a) (IxValue (Vector a)) # | |
Prim a => Ixed (Vector a) | |
Defined in Control.Lens.At Methods ix :: Index (Vector a) -> Traversal' (Vector a) (IxValue (Vector a)) # | |
Ixed (Quaternion a) | |
Defined in Linear.Quaternion Methods ix :: Index (Quaternion a) -> Traversal' (Quaternion a) (IxValue (Quaternion a)) # | |
Ixed (V0 a) | |
Ixed (V1 a) | |
Ixed (V2 a) | |
Ixed (V3 a) | |
Ixed (V4 a) | |
Ixed (Plucker a) | |
Defined in Linear.Plucker Methods ix :: Index (Plucker a) -> Traversal' (Plucker a) (IxValue (Plucker a)) # | |
Ixed (MonoidalIntMap a) | |
Defined in Data.IntMap.Monoidal.Strict Methods ix :: Index (MonoidalIntMap a) -> Traversal' (MonoidalIntMap a) (IxValue (MonoidalIntMap a)) # | |
Eq e => Ixed (e -> a) | |
Defined in Control.Lens.At Methods ix :: Index (e -> a) -> Traversal' (e -> a) (IxValue (e -> a)) # | |
a ~ a2 => Ixed (a, a2) | |
Defined in Control.Lens.At Methods ix :: Index (a, a2) -> Traversal' (a, a2) (IxValue (a, a2)) # | |
Ord k => Ixed (Map k a) | |
Defined in Control.Lens.At | |
(IArray UArray e, Ix i) => Ixed (UArray i e) | |
Defined in Control.Lens.At | |
Ix i => Ixed (Array i e) | |
Defined in Control.Lens.At | |
(Eq k, Hashable k) => Ixed (HashMap k a) | |
Defined in Control.Lens.At Methods ix :: Index (HashMap k a) -> Traversal' (HashMap k a) (IxValue (HashMap k a)) # | |
Ord k => Ixed (MonoidalMap k a) | |
Defined in Data.Map.Monoidal.Strict Methods ix :: Index (MonoidalMap k a) -> Traversal' (MonoidalMap k a) (IxValue (MonoidalMap k a)) # | |
(a ~ a2, a ~ a3) => Ixed (a, a2, a3) | |
Defined in Control.Lens.At Methods ix :: Index (a, a2, a3) -> Traversal' (a, a2, a3) (IxValue (a, a2, a3)) # | |
(Ixed (v a), Index (v a) ~ Int, IxValue (v a) ~ a) => Ixed (Vector v n a) Source # | |
Defined in AOC.Common Methods ix :: Index (Vector v n a) -> Traversal' (Vector v n a) (IxValue (Vector v n a)) # | |
Ixed (V n a) | |
(Ord k, Ord p) => Ixed (OrdPSQ k p v) Source # | |
Defined in AOC.Common Methods ix :: Index (OrdPSQ k p v) -> Traversal' (OrdPSQ k p v) (IxValue (OrdPSQ k p v)) # | |
(a ~ a2, a ~ a3, a ~ a4) => Ixed (a, a2, a3, a4) | |
Defined in Control.Lens.At Methods ix :: Index (a, a2, a3, a4) -> Traversal' (a, a2, a3, a4) (IxValue (a, a2, a3, a4)) # | |
(a ~ a2, a ~ a3, a ~ a4, a ~ a5) => Ixed (a, a2, a3, a4, a5) | |
Defined in Control.Lens.At Methods ix :: Index (a, a2, a3, a4, a5) -> Traversal' (a, a2, a3, a4, a5) (IxValue (a, a2, a3, a4, a5)) # | |
(a ~ a2, a ~ a3, a ~ a4, a ~ a5, a ~ a6) => Ixed (a, a2, a3, a4, a5, a6) | |
Defined in Control.Lens.At Methods ix :: Index (a, a2, a3, a4, a5, a6) -> Traversal' (a, a2, a3, a4, a5, a6) (IxValue (a, a2, a3, a4, a5, a6)) # | |
(a ~ a2, a ~ a3, a ~ a4, a ~ a5, a ~ a6, a ~ a7) => Ixed (a, a2, a3, a4, a5, a6, a7) | |
Defined in Control.Lens.At Methods ix :: Index (a, a2, a3, a4, a5, a6, a7) -> Traversal' (a, a2, a3, a4, a5, a6, a7) (IxValue (a, a2, a3, a4, a5, a6, a7)) # | |
(a ~ a2, a ~ a3, a ~ a4, a ~ a5, a ~ a6, a ~ a7, a ~ a8) => Ixed (a, a2, a3, a4, a5, a6, a7, a8) | |
Defined in Control.Lens.At Methods ix :: Index (a, a2, a3, a4, a5, a6, a7, a8) -> Traversal' (a, a2, a3, a4, a5, a6, a7, a8) (IxValue (a, a2, a3, a4, a5, a6, a7, a8)) # | |
(a ~ a2, a ~ a3, a ~ a4, a ~ a5, a ~ a6, a ~ a7, a ~ a8, a ~ a9) => Ixed (a, a2, a3, a4, a5, a6, a7, a8, a9) | |
Defined in Control.Lens.At Methods ix :: Index (a, a2, a3, a4, a5, a6, a7, a8, a9) -> Traversal' (a, a2, a3, a4, a5, a6, a7, a8, a9) (IxValue (a, a2, a3, a4, a5, a6, a7, a8, a9)) # |
class Cons s t a b | s -> a, t -> b, s b -> t, t a -> s where #
Instances
Cons ByteString ByteString Word8 Word8 | |
Defined in Control.Lens.Cons Methods _Cons :: Prism ByteString ByteString (Word8, ByteString) (Word8, ByteString) # | |
Cons ByteString ByteString Word8 Word8 | |
Defined in Control.Lens.Cons Methods _Cons :: Prism ByteString ByteString (Word8, ByteString) (Word8, ByteString) # | |
Cons Text Text Char Char | |
Cons Text Text Char Char | |
Cons [a] [b] a b | |
Defined in Control.Lens.Cons | |
Cons (ZipList a) (ZipList b) a b | |
Cons (Seq a) (Seq b) a b | |
(Unbox a, Unbox b) => Cons (Vector a) (Vector b) a b | |
Defined in Control.Lens.Cons | |
Cons (Vector a) (Vector b) a b | |
Defined in Control.Lens.Cons | |
(Storable a, Storable b) => Cons (Vector a) (Vector b) a b | |
Defined in Control.Lens.Cons | |
(Prim a, Prim b) => Cons (Vector a) (Vector b) a b | |
Defined in Control.Lens.Cons |
class Snoc s t a b | s -> a, t -> b, s b -> t, t a -> s where #
Instances
Snoc ByteString ByteString Word8 Word8 | |
Defined in Control.Lens.Cons Methods _Snoc :: Prism ByteString ByteString (ByteString, Word8) (ByteString, Word8) # | |
Snoc ByteString ByteString Word8 Word8 | |
Defined in Control.Lens.Cons Methods _Snoc :: Prism ByteString ByteString (ByteString, Word8) (ByteString, Word8) # | |
Snoc Text Text Char Char | |
Snoc Text Text Char Char | |
Snoc [a] [b] a b | |
Defined in Control.Lens.Cons | |
Snoc (ZipList a) (ZipList b) a b | |
Snoc (Seq a) (Seq b) a b | |
(Unbox a, Unbox b) => Snoc (Vector a) (Vector b) a b | |
Defined in Control.Lens.Cons | |
Snoc (Vector a) (Vector b) a b | |
Defined in Control.Lens.Cons | |
(Storable a, Storable b) => Snoc (Vector a) (Vector b) a b | |
Defined in Control.Lens.Cons | |
(Prim a, Prim b) => Snoc (Vector a) (Vector b) a b | |
Defined in Control.Lens.Cons |
class Each s t a b | s -> a, t -> b, s b -> t, t a -> s where #
Minimal complete definition
Nothing
Instances
(a ~ Word8, b ~ Word8) => Each ByteString ByteString a b | |
Defined in Control.Lens.Each Methods each :: Traversal ByteString ByteString a b # | |
(a ~ Word8, b ~ Word8) => Each ByteString ByteString a b | |
Defined in Control.Lens.Each Methods each :: Traversal ByteString ByteString a b # | |
(a ~ Char, b ~ Char) => Each Text Text a b | |
(a ~ Char, b ~ Char) => Each Text Text a b | |
Each [a] [b] a b | |
Defined in Control.Lens.Each | |
Each (Maybe a) (Maybe b) a b | |
Each (NonEmpty a) (NonEmpty b) a b | |
Each (Identity a) (Identity b) a b | |
Each (Complex a) (Complex b) a b | |
Each (IntMap a) (IntMap b) a b | |
Each (Tree a) (Tree b) a b | |
Each (Seq a) (Seq b) a b | |
(Unbox a, Unbox b) => Each (Vector a) (Vector b) a b | |
Defined in Control.Lens.Each | |
Each (Vector a) (Vector b) a b | |
Defined in Control.Lens.Each | |
(Storable a, Storable b) => Each (Vector a) (Vector b) a b | |
Defined in Control.Lens.Each | |
(Prim a, Prim b) => Each (Vector a) (Vector b) a b | |
Defined in Control.Lens.Each | |
Each (Quaternion a) (Quaternion b) a b | |
Defined in Linear.Quaternion | |
Each (V0 a) (V0 b) a b | |
Each (V1 a) (V1 b) a b | |
Each (V2 a) (V2 b) a b | |
Each (V3 a) (V3 b) a b | |
Each (V4 a) (V4 b) a b | |
Each (Maybe a) (Maybe b) a b | |
Defined in Control.Lens.Each | |
Each (Plucker a) (Plucker b) a b | |
Defined in Linear.Plucker | |
Each (MonoidalIntMap a) (MonoidalIntMap b) a b | |
Defined in Data.IntMap.Monoidal.Strict | |
(a ~ a', b ~ b') => Each (Either a a') (Either b b') a b | |
(a ~ a', b ~ b') => Each (a, a') (b, b') a b | |
Defined in Control.Lens.Each | |
c ~ d => Each (Map c a) (Map d b) a b | |
(Ix i, IArray UArray a, IArray UArray b, i ~ j) => Each (UArray i a) (UArray j b) a b | |
(Ix i, i ~ j) => Each (Array i a) (Array j b) a b | |
c ~ d => Each (HashMap c a) (HashMap d b) a b | |
Defined in Control.Lens.Each | |
(a ~ a', b ~ b') => Each (These a a') (These b b') a b | |
Defined in Control.Lens.Each | |
(a ~ a', b ~ b') => Each (Pair a a') (Pair b b') a b | |
Defined in Control.Lens.Each | |
(a ~ a', b ~ b') => Each (Either a a') (Either b b') a b | |
Defined in Control.Lens.Each | |
(a ~ a', b ~ b') => Each (These a a') (These b b') a b | |
Defined in Control.Lens.Each | |
Each (MonoidalMap k a) (MonoidalMap k b) a b | |
Defined in Data.Map.Monoidal.Strict | |
(a ~ a2, a ~ a3, b ~ b2, b ~ b3) => Each (a, a2, a3) (b, b2, b3) a b | |
Defined in Control.Lens.Each | |
Each (V n a) (V n b) a b | |
(a ~ a2, a ~ a3, a ~ a4, b ~ b2, b ~ b3, b ~ b4) => Each (a, a2, a3, a4) (b, b2, b3, b4) a b | |
Defined in Control.Lens.Each | |
(a ~ a2, a ~ a3, a ~ a4, a ~ a5, b ~ b2, b ~ b3, b ~ b4, b ~ b5) => Each (a, a2, a3, a4, a5) (b, b2, b3, b4, b5) a b | |
Defined in Control.Lens.Each | |
(a ~ a2, a ~ a3, a ~ a4, a ~ a5, a ~ a6, b ~ b2, b ~ b3, b ~ b4, b ~ b5, b ~ b6) => Each (a, a2, a3, a4, a5, a6) (b, b2, b3, b4, b5, b6) a b | |
Defined in Control.Lens.Each | |
(a ~ a2, a ~ a3, a ~ a4, a ~ a5, a ~ a6, a ~ a7, b ~ b2, b ~ b3, b ~ b4, b ~ b5, b ~ b6, b ~ b7) => Each (a, a2, a3, a4, a5, a6, a7) (b, b2, b3, b4, b5, b6, b7) a b | |
Defined in Control.Lens.Each | |
(a ~ a2, a ~ a3, a ~ a4, a ~ a5, a ~ a6, a ~ a7, a ~ a8, b ~ b2, b ~ b3, b ~ b4, b ~ b5, b ~ b6, b ~ b7, b ~ b8) => Each (a, a2, a3, a4, a5, a6, a7, a8) (b, b2, b3, b4, b5, b6, b7, b8) a b | |
Defined in Control.Lens.Each | |
(a ~ a2, a ~ a3, a ~ a4, a ~ a5, a ~ a6, a ~ a7, a ~ a8, a ~ a9, b ~ b2, b ~ b3, b ~ b4, b ~ b5, b ~ b6, b ~ b7, b ~ b8, b ~ b9) => Each (a, a2, a3, a4, a5, a6, a7, a8, a9) (b, b2, b3, b4, b5, b6, b7, b8, b9) a b | |
Defined in Control.Lens.Each |
Minimal complete definition
Nothing
Instances
type AnEquality (s :: k) (t :: k1) (a :: k) (b :: k2) = Identical a (Proxy b) a (Proxy b) -> Identical a (Proxy b) s (Proxy t) #
type AnEquality' (s :: k) (a :: k) = AnEquality s s a a #
type IndexedGetting i m s a = Indexed i a (Const m a) -> s -> Const m s #
newtype Bazaar (p :: Type -> Type -> Type) a b t #
Constructors
Bazaar | |
Fields
|
Instances
Profunctor p => Bizarre p (Bazaar p) | |
Defined in Control.Lens.Internal.Bazaar Methods bazaar :: Applicative f => p a (f b) -> Bazaar p a b t -> f t | |
Corepresentable p => Sellable p (Bazaar p) | |
Defined in Control.Lens.Internal.Bazaar | |
Conjoined p => IndexedComonad (Bazaar p) | |
IndexedFunctor (Bazaar p) | |
Defined in Control.Lens.Internal.Bazaar | |
Functor (Bazaar p a b) | |
Applicative (Bazaar p a b) | |
Defined in Control.Lens.Internal.Bazaar Methods pure :: a0 -> Bazaar p a b a0 # (<*>) :: Bazaar p a b (a0 -> b0) -> Bazaar p a b a0 -> Bazaar p a b b0 # liftA2 :: (a0 -> b0 -> c) -> Bazaar p a b a0 -> Bazaar p a b b0 -> Bazaar p a b c # (*>) :: Bazaar p a b a0 -> Bazaar p a b b0 -> Bazaar p a b b0 # (<*) :: Bazaar p a b a0 -> Bazaar p a b b0 -> Bazaar p a b a0 # | |
(a ~ b, Conjoined p) => Comonad (Bazaar p a b) | |
Apply (Bazaar p a b) | |
Defined in Control.Lens.Internal.Bazaar | |
(a ~ b, Conjoined p) => ComonadApply (Bazaar p a b) | |
newtype Bazaar1 (p :: Type -> Type -> Type) a b t #
Constructors
Bazaar1 | |
Fields
|
Instances
Profunctor p => Bizarre1 p (Bazaar1 p) | |
Defined in Control.Lens.Internal.Bazaar | |
Corepresentable p => Sellable p (Bazaar1 p) | |
Defined in Control.Lens.Internal.Bazaar | |
Conjoined p => IndexedComonad (Bazaar1 p) | |
IndexedFunctor (Bazaar1 p) | |
Defined in Control.Lens.Internal.Bazaar | |
Functor (Bazaar1 p a b) | |
(a ~ b, Conjoined p) => Comonad (Bazaar1 p a b) | |
Apply (Bazaar1 p a b) | |
Defined in Control.Lens.Internal.Bazaar | |
(a ~ b, Conjoined p) => ComonadApply (Bazaar1 p a b) | |
Constructors
Context (b -> t) a |
Instances
IndexedComonad Context | |
IndexedFunctor Context | |
Defined in Control.Lens.Internal.Context | |
IndexedComonadStore Context | |
a ~ b => ComonadStore a (Context a b) | |
Defined in Control.Lens.Internal.Context | |
Functor (Context a b) | |
a ~ b => Comonad (Context a b) | |
Sellable (->) Context | |
Defined in Control.Lens.Internal.Context |
Constructors
TopName Name | |
MethodName Name Name |
data Traversed a (f :: Type -> Type) #
Instances
Applicative f => Semigroup (Traversed a f) | |
Applicative f => Monoid (Traversed a f) | |
class (Choice p, Corepresentable p, Comonad (Corep p), Traversable (Corep p), Strong p, Representable p, Monad (Rep p), MonadFix (Rep p), Distributive (Rep p), Costrong p, ArrowLoop p, ArrowApply p, ArrowChoice p, Closed p) => Conjoined (p :: Type -> Type -> Type) where #
Minimal complete definition
Nothing
Methods
distrib :: Functor f => p a b -> p (f a) (f b) #
conjoined :: (p ~ (->) => q (a -> b) r) -> q (p a b) r -> q (p a b) r #
Instances
Conjoined ReifiedGetter | |
Defined in Control.Lens.Reified Methods distrib :: Functor f => ReifiedGetter a b -> ReifiedGetter (f a) (f b) # conjoined :: (ReifiedGetter ~ (->) => q (a -> b) r) -> q (ReifiedGetter a b) r -> q (ReifiedGetter a b) r # | |
Conjoined (Indexed i) | |
Conjoined (->) | |
class Conjoined p => Indexable i (p :: Type -> Type -> Type) where #
Instances
i ~ j => Indexable i (Indexed j) | |
Defined in Control.Lens.Internal.Indexed | |
Indexable i (->) | |
Defined in Control.Lens.Internal.Indexed |
Constructors
Indexed | |
Fields
|
Instances
Instances
Reversing ByteString | |
Defined in Control.Lens.Internal.Iso Methods reversing :: ByteString -> ByteString # | |
Reversing ByteString | |
Defined in Control.Lens.Internal.Iso Methods reversing :: ByteString -> ByteString # | |
Reversing Text | |
Defined in Control.Lens.Internal.Iso | |
Reversing Text | |
Defined in Control.Lens.Internal.Iso | |
Reversing [a] | |
Defined in Control.Lens.Internal.Iso | |
Reversing (NonEmpty a) | |
Defined in Control.Lens.Internal.Iso | |
Reversing (Seq a) | |
Defined in Control.Lens.Internal.Iso | |
Unbox a => Reversing (Vector a) | |
Defined in Control.Lens.Internal.Iso | |
Reversing (Vector a) | |
Defined in Control.Lens.Internal.Iso | |
Storable a => Reversing (Vector a) | |
Defined in Control.Lens.Internal.Iso | |
Prim a => Reversing (Vector a) | |
Defined in Control.Lens.Internal.Iso |
Instances
FoldableWithIndex i (Level i) | |
Defined in Control.Lens.Internal.Level | |
FunctorWithIndex i (Level i) | |
Defined in Control.Lens.Internal.Level | |
TraversableWithIndex i (Level i) | |
Defined in Control.Lens.Internal.Level Methods itraverse :: Applicative f => (i -> a -> f b) -> Level i a -> f (Level i b) # | |
Functor (Level i) | |
Foldable (Level i) | |
Defined in Control.Lens.Internal.Level Methods fold :: Monoid m => Level i m -> m # foldMap :: Monoid m => (a -> m) -> Level i a -> m # foldMap' :: Monoid m => (a -> m) -> Level i a -> m # foldr :: (a -> b -> b) -> b -> Level i a -> b # foldr' :: (a -> b -> b) -> b -> Level i a -> b # foldl :: (b -> a -> b) -> b -> Level i a -> b # foldl' :: (b -> a -> b) -> b -> Level i a -> b # foldr1 :: (a -> a -> a) -> Level i a -> a # foldl1 :: (a -> a -> a) -> Level i a -> a # elem :: Eq a => a -> Level i a -> Bool # maximum :: Ord a => Level i a -> a # minimum :: Ord a => Level i a -> a # | |
Traversable (Level i) | |
(Eq i, Eq a) => Eq (Level i a) | |
(Ord i, Ord a) => Ord (Level i a) | |
(Read i, Read a) => Read (Level i a) | |
(Show i, Show a) => Show (Level i a) | |
Instances
FoldableWithIndex i (Magma i t b) | |
Defined in Control.Lens.Internal.Magma Methods ifoldMap :: Monoid m => (i -> a -> m) -> Magma i t b a -> m # ifoldMap' :: Monoid m => (i -> a -> m) -> Magma i t b a -> m # ifoldr :: (i -> a -> b0 -> b0) -> b0 -> Magma i t b a -> b0 # ifoldl :: (i -> b0 -> a -> b0) -> b0 -> Magma i t b a -> b0 # ifoldr' :: (i -> a -> b0 -> b0) -> b0 -> Magma i t b a -> b0 # ifoldl' :: (i -> b0 -> a -> b0) -> b0 -> Magma i t b a -> b0 # | |
FunctorWithIndex i (Magma i t b) | |
Defined in Control.Lens.Internal.Magma | |
TraversableWithIndex i (Magma i t b) | |
Defined in Control.Lens.Internal.Magma Methods itraverse :: Applicative f => (i -> a -> f b0) -> Magma i t b a -> f (Magma i t b b0) # | |
Functor (Magma i t b) | |
Foldable (Magma i t b) | |
Defined in Control.Lens.Internal.Magma Methods fold :: Monoid m => Magma i t b m -> m # foldMap :: Monoid m => (a -> m) -> Magma i t b a -> m # foldMap' :: Monoid m => (a -> m) -> Magma i t b a -> m # foldr :: (a -> b0 -> b0) -> b0 -> Magma i t b a -> b0 # foldr' :: (a -> b0 -> b0) -> b0 -> Magma i t b a -> b0 # foldl :: (b0 -> a -> b0) -> b0 -> Magma i t b a -> b0 # foldl' :: (b0 -> a -> b0) -> b0 -> Magma i t b a -> b0 # foldr1 :: (a -> a -> a) -> Magma i t b a -> a # foldl1 :: (a -> a -> a) -> Magma i t b a -> a # toList :: Magma i t b a -> [a] # null :: Magma i t b a -> Bool # length :: Magma i t b a -> Int # elem :: Eq a => a -> Magma i t b a -> Bool # maximum :: Ord a => Magma i t b a -> a # minimum :: Ord a => Magma i t b a -> a # | |
Traversable (Magma i t b) | |
Defined in Control.Lens.Internal.Magma | |
(Show i, Show a) => Show (Magma i t b a) | |
class (Profunctor p, Bifunctor p) => Reviewable (p :: Type -> Type -> Type) #
Instances
(Profunctor p, Bifunctor p) => Reviewable p | |
Defined in Control.Lens.Internal.Review |
class (Applicative f, Distributive f, Traversable f) => Settable (f :: Type -> Type) #
Minimal complete definition
untainted
Instances
Settable Identity | |
Defined in Control.Lens.Internal.Setter Methods untaintedDot :: Profunctor p => p a (Identity b) -> p a b taintedDot :: Profunctor p => p a b -> p a (Identity b) | |
Settable f => Settable (Backwards f) | |
Defined in Control.Lens.Internal.Setter Methods untainted :: Backwards f a -> a untaintedDot :: Profunctor p => p a (Backwards f b) -> p a b taintedDot :: Profunctor p => p a b -> p a (Backwards f b) | |
(Settable f, Settable g) => Settable (Compose f g) | |
Defined in Control.Lens.Internal.Setter Methods untainted :: Compose f g a -> a untaintedDot :: Profunctor p => p a (Compose f g b) -> p a b taintedDot :: Profunctor p => p a b -> p a (Compose f g b) |
type AnIndexedLens i s t a b = Optical (Indexed i) (->) (Pretext (Indexed i) a b) s t a b #
type AnIndexedLens' i s a = AnIndexedLens i s s a a #
class GPlated a (g :: k -> Type) #
Minimal complete definition
gplate'
Instances
GPlated a (V1 :: k -> Type) | |
Defined in Control.Lens.Plated Methods gplate' :: forall (p :: k0). Traversal' (V1 p) a | |
GPlated a (U1 :: k -> Type) | |
Defined in Control.Lens.Plated Methods gplate' :: forall (p :: k0). Traversal' (U1 p) a | |
GPlated a (URec b :: k -> Type) | |
Defined in Control.Lens.Plated Methods gplate' :: forall (p :: k0). Traversal' (URec b p) a | |
GPlated a (K1 i a :: k -> Type) | |
Defined in Control.Lens.Plated Methods gplate' :: forall (p :: k0). Traversal' (K1 i a p) a | |
GPlated a (K1 i b :: k -> Type) | |
Defined in Control.Lens.Plated Methods gplate' :: forall (p :: k0). Traversal' (K1 i b p) a | |
(GPlated a f, GPlated a g) => GPlated a (f :+: g :: k -> Type) | |
Defined in Control.Lens.Plated Methods gplate' :: forall (p :: k0). Traversal' ((f :+: g) p) a | |
(GPlated a f, GPlated a g) => GPlated a (f :*: g :: k -> Type) | |
Defined in Control.Lens.Plated Methods gplate' :: forall (p :: k0). Traversal' ((f :*: g) p) a | |
GPlated a f => GPlated a (M1 i c f :: k -> Type) | |
Defined in Control.Lens.Plated Methods gplate' :: forall (p :: k0). Traversal' (M1 i c f p) a |
class GPlated1 (f :: k -> Type) (g :: k -> Type) #
Minimal complete definition
gplate1'
Instances
GPlated1 (f :: k -> Type) (V1 :: k -> Type) | |
Defined in Control.Lens.Plated Methods gplate1' :: forall (a :: k0). Traversal' (V1 a) (f a) | |
GPlated1 (f :: k -> Type) (U1 :: k -> Type) | |
Defined in Control.Lens.Plated Methods gplate1' :: forall (a :: k0). Traversal' (U1 a) (f a) | |
GPlated1 (f :: k -> Type) (URec a :: k -> Type) | |
Defined in Control.Lens.Plated Methods gplate1' :: forall (a0 :: k0). Traversal' (URec a a0) (f a0) | |
GPlated1 (f :: k -> Type) (Rec1 f :: k -> Type) | |
Defined in Control.Lens.Plated Methods gplate1' :: forall (a :: k0). Traversal' (Rec1 f a) (f a) | |
GPlated1 (f :: k -> Type) (Rec1 g :: k -> Type) | |
Defined in Control.Lens.Plated Methods gplate1' :: forall (a :: k0). Traversal' (Rec1 g a) (f a) | |
GPlated1 (f :: k -> Type) (K1 i a :: k -> Type) | |
Defined in Control.Lens.Plated Methods gplate1' :: forall (a0 :: k0). Traversal' (K1 i a a0) (f a0) | |
(GPlated1 f g, GPlated1 f h) => GPlated1 (f :: k -> Type) (g :+: h :: k -> Type) | |
Defined in Control.Lens.Plated Methods gplate1' :: forall (a :: k0). Traversal' ((g :+: h) a) (f a) | |
(GPlated1 f g, GPlated1 f h) => GPlated1 (f :: k -> Type) (g :*: h :: k -> Type) | |
Defined in Control.Lens.Plated Methods gplate1' :: forall (a :: k0). Traversal' ((g :*: h) a) (f a) | |
GPlated1 f g => GPlated1 (f :: k -> Type) (M1 i c g :: k -> Type) | |
Defined in Control.Lens.Plated Methods gplate1' :: forall (a :: k0). Traversal' (M1 i c g a) (f a) | |
(Traversable t, GPlated1 f g) => GPlated1 (f :: k1 -> Type) (t :.: g :: k1 -> Type) | |
Defined in Control.Lens.Plated Methods gplate1' :: forall (a :: k). Traversal' ((t :.: g) a) (f a) | |
GPlated1 (f :: Type -> Type) Par1 | |
Defined in Control.Lens.Plated Methods gplate1' :: forall (a :: k). Traversal' (Par1 a) (f a) |
Minimal complete definition
Nothing
Methods
plate :: Traversal' a a #
Instances
newtype ReifiedFold s a #
Instances
newtype ReifiedGetter s a #
Instances
newtype ReifiedIndexedFold i s a #
Constructors
IndexedFold | |
Fields
|
Instances
newtype ReifiedIndexedGetter i s a #
Constructors
IndexedGetter | |
Fields
|
Instances
newtype ReifiedIndexedLens i s t a b #
Constructors
IndexedLens | |
Fields
|
type ReifiedIndexedLens' i s a = ReifiedIndexedLens i s s a a #
newtype ReifiedIndexedSetter i s t a b #
Constructors
IndexedSetter | |
Fields
|
type ReifiedIndexedSetter' i s a = ReifiedIndexedSetter i s s a a #
newtype ReifiedIndexedTraversal i s t a b #
Constructors
IndexedTraversal | |
Fields
|
type ReifiedIndexedTraversal' i s a = ReifiedIndexedTraversal i s s a a #
newtype ReifiedIso s t a b #
type ReifiedIso' s a = ReifiedIso s s a a #
newtype ReifiedLens s t a b #
type ReifiedLens' s a = ReifiedLens s s a a #
newtype ReifiedPrism s t a b #
type ReifiedPrism' s a = ReifiedPrism s s a a #
newtype ReifiedSetter s t a b #
type ReifiedSetter' s a = ReifiedSetter s s a a #
newtype ReifiedTraversal s t a b #
Constructors
Traversal | |
Fields
|
type ReifiedTraversal' s a = ReifiedTraversal s s a a #
type AnIndexedSetter i s t a b = Indexed i a (Identity b) -> s -> Identity t #
type AnIndexedSetter' i s a = AnIndexedSetter i s s a a #
type ATraversal s t a b = LensLike (Bazaar (->) a b) s t a b #
type ATraversal' s a = ATraversal s s a a #
type ATraversal1 s t a b = LensLike (Bazaar1 (->) a b) s t a b #
type ATraversal1' s a = ATraversal1 s s a a #
type AnIndexedTraversal' i s a = AnIndexedTraversal i s s a a #
type AnIndexedTraversal1' i s a = AnIndexedTraversal1 i s s a a #
class Ord k => TraverseMax k (m :: Type -> Type) | m -> k where #
Methods
traverseMax :: IndexedTraversal' k (m v) v #
Instances
TraverseMax Int IntMap | |
Defined in Control.Lens.Traversal Methods traverseMax :: IndexedTraversal' Int (IntMap v) v # | |
TraverseMax Int MonoidalIntMap | |
Defined in Data.IntMap.Monoidal.Strict Methods traverseMax :: IndexedTraversal' Int (MonoidalIntMap v) v # | |
Ord k => TraverseMax k (MonoidalMap k) | |
Defined in Data.Map.Monoidal.Strict Methods traverseMax :: IndexedTraversal' k (MonoidalMap k v) v # | |
Ord k => TraverseMax k (Map k) | |
Defined in Control.Lens.Traversal Methods traverseMax :: IndexedTraversal' k (Map k v) v # |
class Ord k => TraverseMin k (m :: Type -> Type) | m -> k where #
Methods
traverseMin :: IndexedTraversal' k (m v) v #
Instances
TraverseMin Int IntMap | |
Defined in Control.Lens.Traversal Methods traverseMin :: IndexedTraversal' Int (IntMap v) v # | |
TraverseMin Int MonoidalIntMap | |
Defined in Data.IntMap.Monoidal.Strict Methods traverseMin :: IndexedTraversal' Int (MonoidalIntMap v) v # | |
Ord k => TraverseMin k (MonoidalMap k) | |
Defined in Data.Map.Monoidal.Strict Methods traverseMin :: IndexedTraversal' k (MonoidalMap k v) v # | |
Ord k => TraverseMin k (Map k) | |
Defined in Control.Lens.Traversal Methods traverseMin :: IndexedTraversal' k (Map k v) v # |
type Traversing (p :: Type -> Type -> Type) (f :: Type -> Type) s t a b = Over p (BazaarT p f a b) s t a b #
type Traversing' (p :: Type -> Type -> Type) (f :: Type -> Type) s a = Traversing p f s s a a #
type Traversing1 (p :: Type -> Type -> Type) (f :: Type -> Type) s t a b = Over p (BazaarT1 p f a b) s t a b #
type Traversing1' (p :: Type -> Type -> Type) (f :: Type -> Type) s a = Traversing1 p f s s a a #
class Field1 s t a b | s -> a, t -> b, s b -> t, t a -> s where #
Minimal complete definition
Nothing
Instances
Field1 (Identity a) (Identity b) a b | |
Field1 (Quaternion a) (Quaternion a) a a | |
Defined in Linear.Quaternion | |
Field1 (V1 a) (V1 b) a b | |
Field1 (V2 a) (V2 a) a a | |
Field1 (V3 a) (V3 a) a a | |
Field1 (V4 a) (V4 a) a a | |
Field1 (Plucker a) (Plucker a) a a | |
Defined in Linear.Plucker | |
Field1 (a, b) (a', b) a a' | |
Defined in Control.Lens.Tuple | |
Field1 (Pair a b) (Pair a' b) a a' | |
Defined in Control.Lens.Tuple | |
Field1 (a, b, c) (a', b, c) a a' | |
Defined in Control.Lens.Tuple | |
1 <= n => Field1 (V n a) (V n a) a a | |
Field1 (a, b, c, d) (a', b, c, d) a a' | |
Defined in Control.Lens.Tuple | |
Field1 ((f :*: g) p) ((f' :*: g) p) (f p) (f' p) | |
Field1 (Product f g a) (Product f' g a) (f a) (f' a) | |
Field1 (a, b, c, d, e) (a', b, c, d, e) a a' | |
Defined in Control.Lens.Tuple | |
Field1 (a, b, c, d, e, f) (a', b, c, d, e, f) a a' | |
Defined in Control.Lens.Tuple | |
Field1 (a, b, c, d, e, f, g) (a', b, c, d, e, f, g) a a' | |
Defined in Control.Lens.Tuple | |
Field1 (a, b, c, d, e, f, g, h) (a', b, c, d, e, f, g, h) a a' | |
Defined in Control.Lens.Tuple | |
Field1 (a, b, c, d, e, f, g, h, i) (a', b, c, d, e, f, g, h, i) a a' | |
Defined in Control.Lens.Tuple | |
Field1 (a, b, c, d, e, f, g, h, i, j) (a', b, c, d, e, f, g, h, i, j) a a' | |
Defined in Control.Lens.Tuple | |
Field1 (a, b, c, d, e, f, g, h, i, j, kk) (a', b, c, d, e, f, g, h, i, j, kk) a a' | |
Defined in Control.Lens.Tuple | |
Field1 (a, b, c, d, e, f, g, h, i, j, kk, l) (a', b, c, d, e, f, g, h, i, j, kk, l) a a' | |
Defined in Control.Lens.Tuple | |
Field1 (a, b, c, d, e, f, g, h, i, j, kk, l, m) (a', b, c, d, e, f, g, h, i, j, kk, l, m) a a' | |
Defined in Control.Lens.Tuple | |
Field1 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n) (a', b, c, d, e, f, g, h, i, j, kk, l, m, n) a a' | |
Defined in Control.Lens.Tuple | |
Field1 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o) (a', b, c, d, e, f, g, h, i, j, kk, l, m, n, o) a a' | |
Defined in Control.Lens.Tuple | |
Field1 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p) (a', b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p) a a' | |
Defined in Control.Lens.Tuple | |
Field1 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q) (a', b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q) a a' | |
Defined in Control.Lens.Tuple | |
Field1 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q, r) (a', b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q, r) a a' | |
Defined in Control.Lens.Tuple | |
Field1 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q, r, s) (a', b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q, r, s) a a' | |
Defined in Control.Lens.Tuple |
class Field10 s t a b | s -> a, t -> b, s b -> t, t a -> s where #
Minimal complete definition
Nothing
Instances
10 <= n => Field10 (V n a) (V n a) a a | |
Field10 (a, b, c, d, e, f, g, h, i, j) (a, b, c, d, e, f, g, h, i, j') j j' | |
Defined in Control.Lens.Tuple | |
Field10 (a, b, c, d, e, f, g, h, i, j, kk) (a, b, c, d, e, f, g, h, i, j', kk) j j' | |
Defined in Control.Lens.Tuple | |
Field10 (a, b, c, d, e, f, g, h, i, j, kk, l) (a, b, c, d, e, f, g, h, i, j', kk, l) j j' | |
Defined in Control.Lens.Tuple | |
Field10 (a, b, c, d, e, f, g, h, i, j, kk, l, m) (a, b, c, d, e, f, g, h, i, j', kk, l, m) j j' | |
Defined in Control.Lens.Tuple | |
Field10 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n) (a, b, c, d, e, f, g, h, i, j', kk, l, m, n) j j' | |
Defined in Control.Lens.Tuple | |
Field10 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o) (a, b, c, d, e, f, g, h, i, j', kk, l, m, n, o) j j' | |
Defined in Control.Lens.Tuple | |
Field10 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p) (a, b, c, d, e, f, g, h, i, j', kk, l, m, n, o, p) j j' | |
Defined in Control.Lens.Tuple | |
Field10 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q) (a, b, c, d, e, f, g, h, i, j', kk, l, m, n, o, p, q) j j' | |
Defined in Control.Lens.Tuple | |
Field10 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q, r) (a, b, c, d, e, f, g, h, i, j', kk, l, m, n, o, p, q, r) j j' | |
Defined in Control.Lens.Tuple | |
Field10 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q, r, s) (a, b, c, d, e, f, g, h, i, j', kk, l, m, n, o, p, q, r, s) j j' | |
Defined in Control.Lens.Tuple |
class Field11 s t a b | s -> a, t -> b, s b -> t, t a -> s where #
Minimal complete definition
Nothing
Instances
11 <= n => Field11 (V n a) (V n a) a a | |
Field11 (a, b, c, d, e, f, g, h, i, j, kk) (a, b, c, d, e, f, g, h, i, j, kk') kk kk' | |
Defined in Control.Lens.Tuple | |
Field11 (a, b, c, d, e, f, g, h, i, j, kk, l) (a, b, c, d, e, f, g, h, i, j, kk', l) kk kk' | |
Defined in Control.Lens.Tuple | |
Field11 (a, b, c, d, e, f, g, h, i, j, kk, l, m) (a, b, c, d, e, f, g, h, i, j, kk', l, m) kk kk' | |
Defined in Control.Lens.Tuple | |
Field11 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n) (a, b, c, d, e, f, g, h, i, j, kk', l, m, n) kk kk' | |
Defined in Control.Lens.Tuple | |
Field11 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o) (a, b, c, d, e, f, g, h, i, j, kk', l, m, n, o) kk kk' | |
Defined in Control.Lens.Tuple | |
Field11 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p) (a, b, c, d, e, f, g, h, i, j, kk', l, m, n, o, p) kk kk' | |
Defined in Control.Lens.Tuple | |
Field11 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q) (a, b, c, d, e, f, g, h, i, j, kk', l, m, n, o, p, q) kk kk' | |
Defined in Control.Lens.Tuple | |
Field11 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q, r) (a, b, c, d, e, f, g, h, i, j, kk', l, m, n, o, p, q, r) kk kk' | |
Defined in Control.Lens.Tuple | |
Field11 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q, r, s) (a, b, c, d, e, f, g, h, i, j, kk', l, m, n, o, p, q, r, s) kk kk' | |
Defined in Control.Lens.Tuple |
class Field12 s t a b | s -> a, t -> b, s b -> t, t a -> s where #
Minimal complete definition
Nothing
Instances
12 <= n => Field12 (V n a) (V n a) a a | |
Field12 (a, b, c, d, e, f, g, h, i, j, kk, l) (a, b, c, d, e, f, g, h, i, j, kk, l') l l' | |
Defined in Control.Lens.Tuple | |
Field12 (a, b, c, d, e, f, g, h, i, j, kk, l, m) (a, b, c, d, e, f, g, h, i, j, kk, l', m) l l' | |
Defined in Control.Lens.Tuple | |
Field12 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n) (a, b, c, d, e, f, g, h, i, j, kk, l', m, n) l l' | |
Defined in Control.Lens.Tuple | |
Field12 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o) (a, b, c, d, e, f, g, h, i, j, kk, l', m, n, o) l l' | |
Defined in Control.Lens.Tuple | |
Field12 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p) (a, b, c, d, e, f, g, h, i, j, kk, l', m, n, o, p) l l' | |
Defined in Control.Lens.Tuple | |
Field12 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q) (a, b, c, d, e, f, g, h, i, j, kk, l', m, n, o, p, q) l l' | |
Defined in Control.Lens.Tuple | |
Field12 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q, r) (a, b, c, d, e, f, g, h, i, j, kk, l', m, n, o, p, q, r) l l' | |
Defined in Control.Lens.Tuple | |
Field12 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q, r, s) (a, b, c, d, e, f, g, h, i, j, kk, l', m, n, o, p, q, r, s) l l' | |
Defined in Control.Lens.Tuple |
class Field13 s t a b | s -> a, t -> b, s b -> t, t a -> s where #
Minimal complete definition
Nothing
Instances
13 <= n => Field13 (V n a) (V n a) a a | |
Field13 (a, b, c, d, e, f, g, h, i, j, kk, l, m) (a, b, c, d, e, f, g, h, i, j, kk, l, m') m m' | |
Defined in Control.Lens.Tuple | |
Field13 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n) (a, b, c, d, e, f, g, h, i, j, kk, l, m', n) m m' | |
Defined in Control.Lens.Tuple | |
Field13 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o) (a, b, c, d, e, f, g, h, i, j, kk, l, m', n, o) m m' | |
Defined in Control.Lens.Tuple | |
Field13 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p) (a, b, c, d, e, f, g, h, i, j, kk, l, m', n, o, p) m m' | |
Defined in Control.Lens.Tuple | |
Field13 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q) (a, b, c, d, e, f, g, h, i, j, kk, l, m', n, o, p, q) m m' | |
Defined in Control.Lens.Tuple | |
Field13 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q, r) (a, b, c, d, e, f, g, h, i, j, kk, l, m', n, o, p, q, r) m m' | |
Defined in Control.Lens.Tuple | |
Field13 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q, r, s) (a, b, c, d, e, f, g, h, i, j, kk, l, m', n, o, p, q, r, s) m m' | |
Defined in Control.Lens.Tuple |
class Field14 s t a b | s -> a, t -> b, s b -> t, t a -> s where #
Minimal complete definition
Nothing
Instances
14 <= n => Field14 (V n a) (V n a) a a | |
Field14 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n) (a, b, c, d, e, f, g, h, i, j, kk, l, m, n') n n' | |
Defined in Control.Lens.Tuple | |
Field14 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o) (a, b, c, d, e, f, g, h, i, j, kk, l, m, n', o) n n' | |
Defined in Control.Lens.Tuple | |
Field14 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p) (a, b, c, d, e, f, g, h, i, j, kk, l, m, n', o, p) n n' | |
Defined in Control.Lens.Tuple | |
Field14 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q) (a, b, c, d, e, f, g, h, i, j, kk, l, m, n', o, p, q) n n' | |
Defined in Control.Lens.Tuple | |
Field14 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q, r) (a, b, c, d, e, f, g, h, i, j, kk, l, m, n', o, p, q, r) n n' | |
Defined in Control.Lens.Tuple | |
Field14 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q, r, s) (a, b, c, d, e, f, g, h, i, j, kk, l, m, n', o, p, q, r, s) n n' | |
Defined in Control.Lens.Tuple |
class Field15 s t a b | s -> a, t -> b, s b -> t, t a -> s where #
Minimal complete definition
Nothing
Instances
15 <= n => Field15 (V n a) (V n a) a a | |
Field15 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o) (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o') o o' | |
Defined in Control.Lens.Tuple | |
Field15 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p) (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o', p) o o' | |
Defined in Control.Lens.Tuple | |
Field15 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q) (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o', p, q) o o' | |
Defined in Control.Lens.Tuple | |
Field15 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q, r) (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o', p, q, r) o o' | |
Defined in Control.Lens.Tuple | |
Field15 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q, r, s) (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o', p, q, r, s) o o' | |
Defined in Control.Lens.Tuple |
class Field16 s t a b | s -> a, t -> b, s b -> t, t a -> s where #
Minimal complete definition
Nothing
Instances
16 <= n => Field16 (V n a) (V n a) a a | |
Field16 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p) (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p') p p' | |
Defined in Control.Lens.Tuple | |
Field16 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q) (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p', q) p p' | |
Defined in Control.Lens.Tuple | |
Field16 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q, r) (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p', q, r) p p' | |
Defined in Control.Lens.Tuple | |
Field16 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q, r, s) (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p', q, r, s) p p' | |
Defined in Control.Lens.Tuple |
class Field17 s t a b | s -> a, t -> b, s b -> t, t a -> s where #
Minimal complete definition
Nothing
Instances
17 <= n => Field17 (V n a) (V n a) a a | |
Field17 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q) (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q') q q' | |
Defined in Control.Lens.Tuple | |
Field17 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q, r) (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q', r) q q' | |
Defined in Control.Lens.Tuple | |
Field17 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q, r, s) (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q', r, s) q q' | |
Defined in Control.Lens.Tuple |
class Field18 s t a b | s -> a, t -> b, s b -> t, t a -> s where #
Minimal complete definition
Nothing
Instances
18 <= n => Field18 (V n a) (V n a) a a | |
Field18 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q, r) (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q, r') r r' | |
Defined in Control.Lens.Tuple | |
Field18 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q, r, s) (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q, r', s) r r' | |
Defined in Control.Lens.Tuple |
class Field19 s t a b | s -> a, t -> b, s b -> t, t a -> s where #
Minimal complete definition
Nothing
Instances
19 <= n => Field19 (V n a) (V n a) a a | |
Field19 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q, r, s) (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q, r, s') s s' | |
Defined in Control.Lens.Tuple |
class Field2 s t a b | s -> a, t -> b, s b -> t, t a -> s where #
Minimal complete definition
Nothing
Instances
Field2 (Quaternion a) (Quaternion a) a a | |
Defined in Linear.Quaternion | |
Field2 (V2 a) (V2 a) a a | |
Field2 (V3 a) (V3 a) a a | |
Field2 (V4 a) (V4 a) a a | |
Field2 (Plucker a) (Plucker a) a a | |
Defined in Linear.Plucker | |
Field2 (a, b) (a, b') b b' | |
Defined in Control.Lens.Tuple | |
Field2 (Pair a b) (Pair a b') b b' | |
Defined in Control.Lens.Tuple | |
Field2 (a, b, c) (a, b', c) b b' | |
Defined in Control.Lens.Tuple | |
2 <= n => Field2 (V n a) (V n a) a a | |
Field2 (a, b, c, d) (a, b', c, d) b b' | |
Defined in Control.Lens.Tuple | |
Field2 ((f :*: g) p) ((f :*: g') p) (g p) (g' p) | |
Field2 (Product f g a) (Product f g' a) (g a) (g' a) | |
Field2 (a, b, c, d, e) (a, b', c, d, e) b b' | |
Defined in Control.Lens.Tuple | |
Field2 (a, b, c, d, e, f) (a, b', c, d, e, f) b b' | |
Defined in Control.Lens.Tuple | |
Field2 (a, b, c, d, e, f, g) (a, b', c, d, e, f, g) b b' | |
Defined in Control.Lens.Tuple | |
Field2 (a, b, c, d, e, f, g, h) (a, b', c, d, e, f, g, h) b b' | |
Defined in Control.Lens.Tuple | |
Field2 (a, b, c, d, e, f, g, h, i) (a, b', c, d, e, f, g, h, i) b b' | |
Defined in Control.Lens.Tuple | |
Field2 (a, b, c, d, e, f, g, h, i, j) (a, b', c, d, e, f, g, h, i, j) b b' | |
Defined in Control.Lens.Tuple | |
Field2 (a, b, c, d, e, f, g, h, i, j, kk) (a, b', c, d, e, f, g, h, i, j, kk) b b' | |
Defined in Control.Lens.Tuple | |
Field2 (a, b, c, d, e, f, g, h, i, j, kk, l) (a, b', c, d, e, f, g, h, i, j, kk, l) b b' | |
Defined in Control.Lens.Tuple | |
Field2 (a, b, c, d, e, f, g, h, i, j, kk, l, m) (a, b', c, d, e, f, g, h, i, j, kk, l, m) b b' | |
Defined in Control.Lens.Tuple | |
Field2 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n) (a, b', c, d, e, f, g, h, i, j, kk, l, m, n) b b' | |
Defined in Control.Lens.Tuple | |
Field2 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o) (a, b', c, d, e, f, g, h, i, j, kk, l, m, n, o) b b' | |
Defined in Control.Lens.Tuple | |
Field2 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p) (a, b', c, d, e, f, g, h, i, j, kk, l, m, n, o, p) b b' | |
Defined in Control.Lens.Tuple | |
Field2 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q) (a, b', c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q) b b' | |
Defined in Control.Lens.Tuple | |
Field2 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q, r) (a, b', c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q, r) b b' | |
Defined in Control.Lens.Tuple | |
Field2 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q, r, s) (a, b', c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q, r, s) b b' | |
Defined in Control.Lens.Tuple |
class Field3 s t a b | s -> a, t -> b, s b -> t, t a -> s where #
Minimal complete definition
Nothing
Instances
Field3 (Quaternion a) (Quaternion a) a a | |
Defined in Linear.Quaternion | |
Field3 (V3 a) (V3 a) a a | |
Field3 (V4 a) (V4 a) a a | |
Field3 (Plucker a) (Plucker a) a a | |
Defined in Linear.Plucker | |
Field3 (a, b, c) (a, b, c') c c' | |
Defined in Control.Lens.Tuple | |
3 <= n => Field3 (V n a) (V n a) a a | |
Field3 (a, b, c, d) (a, b, c', d) c c' | |
Defined in Control.Lens.Tuple | |
Field3 (a, b, c, d, e) (a, b, c', d, e) c c' | |
Defined in Control.Lens.Tuple | |
Field3 (a, b, c, d, e, f) (a, b, c', d, e, f) c c' | |
Defined in Control.Lens.Tuple | |
Field3 (a, b, c, d, e, f, g) (a, b, c', d, e, f, g) c c' | |
Defined in Control.Lens.Tuple | |
Field3 (a, b, c, d, e, f, g, h) (a, b, c', d, e, f, g, h) c c' | |
Defined in Control.Lens.Tuple | |
Field3 (a, b, c, d, e, f, g, h, i) (a, b, c', d, e, f, g, h, i) c c' | |
Defined in Control.Lens.Tuple | |
Field3 (a, b, c, d, e, f, g, h, i, j) (a, b, c', d, e, f, g, h, i, j) c c' | |
Defined in Control.Lens.Tuple | |
Field3 (a, b, c, d, e, f, g, h, i, j, kk) (a, b, c', d, e, f, g, h, i, j, kk) c c' | |
Defined in Control.Lens.Tuple | |
Field3 (a, b, c, d, e, f, g, h, i, j, kk, l) (a, b, c', d, e, f, g, h, i, j, kk, l) c c' | |
Defined in Control.Lens.Tuple | |
Field3 (a, b, c, d, e, f, g, h, i, j, kk, l, m) (a, b, c', d, e, f, g, h, i, j, kk, l, m) c c' | |
Defined in Control.Lens.Tuple | |
Field3 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n) (a, b, c', d, e, f, g, h, i, j, kk, l, m, n) c c' | |
Defined in Control.Lens.Tuple | |
Field3 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o) (a, b, c', d, e, f, g, h, i, j, kk, l, m, n, o) c c' | |
Defined in Control.Lens.Tuple | |
Field3 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p) (a, b, c', d, e, f, g, h, i, j, kk, l, m, n, o, p) c c' | |
Defined in Control.Lens.Tuple | |
Field3 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q) (a, b, c', d, e, f, g, h, i, j, kk, l, m, n, o, p, q) c c' | |
Defined in Control.Lens.Tuple | |
Field3 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q, r) (a, b, c', d, e, f, g, h, i, j, kk, l, m, n, o, p, q, r) c c' | |
Defined in Control.Lens.Tuple | |
Field3 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q, r, s) (a, b, c', d, e, f, g, h, i, j, kk, l, m, n, o, p, q, r, s) c c' | |
Defined in Control.Lens.Tuple |
class Field4 s t a b | s -> a, t -> b, s b -> t, t a -> s where #
Minimal complete definition
Nothing
Instances
Field4 (Quaternion a) (Quaternion a) a a | |
Defined in Linear.Quaternion | |
Field4 (V4 a) (V4 a) a a | |
Field4 (Plucker a) (Plucker a) a a | |
Defined in Linear.Plucker | |
4 <= n => Field4 (V n a) (V n a) a a | |
Field4 (a, b, c, d) (a, b, c, d') d d' | |
Defined in Control.Lens.Tuple | |
Field4 (a, b, c, d, e) (a, b, c, d', e) d d' | |
Defined in Control.Lens.Tuple | |
Field4 (a, b, c, d, e, f) (a, b, c, d', e, f) d d' | |
Defined in Control.Lens.Tuple | |
Field4 (a, b, c, d, e, f, g) (a, b, c, d', e, f, g) d d' | |
Defined in Control.Lens.Tuple | |
Field4 (a, b, c, d, e, f, g, h) (a, b, c, d', e, f, g, h) d d' | |
Defined in Control.Lens.Tuple | |
Field4 (a, b, c, d, e, f, g, h, i) (a, b, c, d', e, f, g, h, i) d d' | |
Defined in Control.Lens.Tuple | |
Field4 (a, b, c, d, e, f, g, h, i, j) (a, b, c, d', e, f, g, h, i, j) d d' | |
Defined in Control.Lens.Tuple | |
Field4 (a, b, c, d, e, f, g, h, i, j, kk) (a, b, c, d', e, f, g, h, i, j, kk) d d' | |
Defined in Control.Lens.Tuple | |
Field4 (a, b, c, d, e, f, g, h, i, j, kk, l) (a, b, c, d', e, f, g, h, i, j, kk, l) d d' | |
Defined in Control.Lens.Tuple | |
Field4 (a, b, c, d, e, f, g, h, i, j, kk, l, m) (a, b, c, d', e, f, g, h, i, j, kk, l, m) d d' | |
Defined in Control.Lens.Tuple | |
Field4 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n) (a, b, c, d', e, f, g, h, i, j, kk, l, m, n) d d' | |
Defined in Control.Lens.Tuple | |
Field4 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o) (a, b, c, d', e, f, g, h, i, j, kk, l, m, n, o) d d' | |
Defined in Control.Lens.Tuple | |
Field4 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p) (a, b, c, d', e, f, g, h, i, j, kk, l, m, n, o, p) d d' | |
Defined in Control.Lens.Tuple | |
Field4 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q) (a, b, c, d', e, f, g, h, i, j, kk, l, m, n, o, p, q) d d' | |
Defined in Control.Lens.Tuple | |
Field4 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q, r) (a, b, c, d', e, f, g, h, i, j, kk, l, m, n, o, p, q, r) d d' | |
Defined in Control.Lens.Tuple | |
Field4 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q, r, s) (a, b, c, d', e, f, g, h, i, j, kk, l, m, n, o, p, q, r, s) d d' | |
Defined in Control.Lens.Tuple |
class Field5 s t a b | s -> a, t -> b, s b -> t, t a -> s where #
Minimal complete definition
Nothing
Instances
Field5 (Plucker a) (Plucker a) a a | |
Defined in Linear.Plucker | |
5 <= n => Field5 (V n a) (V n a) a a | |
Field5 (a, b, c, d, e) (a, b, c, d, e') e e' | |
Defined in Control.Lens.Tuple | |
Field5 (a, b, c, d, e, f) (a, b, c, d, e', f) e e' | |
Defined in Control.Lens.Tuple | |
Field5 (a, b, c, d, e, f, g) (a, b, c, d, e', f, g) e e' | |
Defined in Control.Lens.Tuple | |
Field5 (a, b, c, d, e, f, g, h) (a, b, c, d, e', f, g, h) e e' | |
Defined in Control.Lens.Tuple | |
Field5 (a, b, c, d, e, f, g, h, i) (a, b, c, d, e', f, g, h, i) e e' | |
Defined in Control.Lens.Tuple | |
Field5 (a, b, c, d, e, f, g, h, i, j) (a, b, c, d, e', f, g, h, i, j) e e' | |
Defined in Control.Lens.Tuple | |
Field5 (a, b, c, d, e, f, g, h, i, j, kk) (a, b, c, d, e', f, g, h, i, j, kk) e e' | |
Defined in Control.Lens.Tuple | |
Field5 (a, b, c, d, e, f, g, h, i, j, kk, l) (a, b, c, d, e', f, g, h, i, j, kk, l) e e' | |
Defined in Control.Lens.Tuple | |
Field5 (a, b, c, d, e, f, g, h, i, j, kk, l, m) (a, b, c, d, e', f, g, h, i, j, kk, l, m) e e' | |
Defined in Control.Lens.Tuple | |
Field5 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n) (a, b, c, d, e', f, g, h, i, j, kk, l, m, n) e e' | |
Defined in Control.Lens.Tuple | |
Field5 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o) (a, b, c, d, e', f, g, h, i, j, kk, l, m, n, o) e e' | |
Defined in Control.Lens.Tuple | |
Field5 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p) (a, b, c, d, e', f, g, h, i, j, kk, l, m, n, o, p) e e' | |
Defined in Control.Lens.Tuple | |
Field5 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q) (a, b, c, d, e', f, g, h, i, j, kk, l, m, n, o, p, q) e e' | |
Defined in Control.Lens.Tuple | |
Field5 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q, r) (a, b, c, d, e', f, g, h, i, j, kk, l, m, n, o, p, q, r) e e' | |
Defined in Control.Lens.Tuple | |
Field5 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q, r, s) (a, b, c, d, e', f, g, h, i, j, kk, l, m, n, o, p, q, r, s) e e' | |
Defined in Control.Lens.Tuple |
class Field6 s t a b | s -> a, t -> b, s b -> t, t a -> s where #
Minimal complete definition
Nothing
Instances
Field6 (Plucker a) (Plucker a) a a | |
Defined in Linear.Plucker | |
6 <= n => Field6 (V n a) (V n a) a a | |
Field6 (a, b, c, d, e, f) (a, b, c, d, e, f') f f' | |
Defined in Control.Lens.Tuple | |
Field6 (a, b, c, d, e, f, g) (a, b, c, d, e, f', g) f f' | |
Defined in Control.Lens.Tuple | |
Field6 (a, b, c, d, e, f, g, h) (a, b, c, d, e, f', g, h) f f' | |
Defined in Control.Lens.Tuple | |
Field6 (a, b, c, d, e, f, g, h, i) (a, b, c, d, e, f', g, h, i) f f' | |
Defined in Control.Lens.Tuple | |
Field6 (a, b, c, d, e, f, g, h, i, j) (a, b, c, d, e, f', g, h, i, j) f f' | |
Defined in Control.Lens.Tuple | |
Field6 (a, b, c, d, e, f, g, h, i, j, kk) (a, b, c, d, e, f', g, h, i, j, kk) f f' | |
Defined in Control.Lens.Tuple | |
Field6 (a, b, c, d, e, f, g, h, i, j, kk, l) (a, b, c, d, e, f', g, h, i, j, kk, l) f f' | |
Defined in Control.Lens.Tuple | |
Field6 (a, b, c, d, e, f, g, h, i, j, kk, l, m) (a, b, c, d, e, f', g, h, i, j, kk, l, m) f f' | |
Defined in Control.Lens.Tuple | |
Field6 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n) (a, b, c, d, e, f', g, h, i, j, kk, l, m, n) f f' | |
Defined in Control.Lens.Tuple | |
Field6 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o) (a, b, c, d, e, f', g, h, i, j, kk, l, m, n, o) f f' | |
Defined in Control.Lens.Tuple | |
Field6 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p) (a, b, c, d, e, f', g, h, i, j, kk, l, m, n, o, p) f f' | |
Defined in Control.Lens.Tuple | |
Field6 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q) (a, b, c, d, e, f', g, h, i, j, kk, l, m, n, o, p, q) f f' | |
Defined in Control.Lens.Tuple | |
Field6 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q, r) (a, b, c, d, e, f', g, h, i, j, kk, l, m, n, o, p, q, r) f f' | |
Defined in Control.Lens.Tuple | |
Field6 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q, r, s) (a, b, c, d, e, f', g, h, i, j, kk, l, m, n, o, p, q, r, s) f f' | |
Defined in Control.Lens.Tuple |
class Field7 s t a b | s -> a, t -> b, s b -> t, t a -> s where #
Minimal complete definition
Nothing
Instances
7 <= n => Field7 (V n a) (V n a) a a | |
Field7 (a, b, c, d, e, f, g) (a, b, c, d, e, f, g') g g' | |
Defined in Control.Lens.Tuple | |
Field7 (a, b, c, d, e, f, g, h) (a, b, c, d, e, f, g', h) g g' | |
Defined in Control.Lens.Tuple | |
Field7 (a, b, c, d, e, f, g, h, i) (a, b, c, d, e, f, g', h, i) g g' | |
Defined in Control.Lens.Tuple | |
Field7 (a, b, c, d, e, f, g, h, i, j) (a, b, c, d, e, f, g', h, i, j) g g' | |
Defined in Control.Lens.Tuple | |
Field7 (a, b, c, d, e, f, g, h, i, j, kk) (a, b, c, d, e, f, g', h, i, j, kk) g g' | |
Defined in Control.Lens.Tuple | |
Field7 (a, b, c, d, e, f, g, h, i, j, kk, l) (a, b, c, d, e, f, g', h, i, j, kk, l) g g' | |
Defined in Control.Lens.Tuple | |
Field7 (a, b, c, d, e, f, g, h, i, j, kk, l, m) (a, b, c, d, e, f, g', h, i, j, kk, l, m) g g' | |
Defined in Control.Lens.Tuple | |
Field7 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n) (a, b, c, d, e, f, g', h, i, j, kk, l, m, n) g g' | |
Defined in Control.Lens.Tuple | |
Field7 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o) (a, b, c, d, e, f, g', h, i, j, kk, l, m, n, o) g g' | |
Defined in Control.Lens.Tuple | |
Field7 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p) (a, b, c, d, e, f, g', h, i, j, kk, l, m, n, o, p) g g' | |
Defined in Control.Lens.Tuple | |
Field7 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q) (a, b, c, d, e, f, g', h, i, j, kk, l, m, n, o, p, q) g g' | |
Defined in Control.Lens.Tuple | |
Field7 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q, r) (a, b, c, d, e, f, g', h, i, j, kk, l, m, n, o, p, q, r) g g' | |
Defined in Control.Lens.Tuple | |
Field7 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q, r, s) (a, b, c, d, e, f, g', h, i, j, kk, l, m, n, o, p, q, r, s) g g' | |
Defined in Control.Lens.Tuple |
class Field8 s t a b | s -> a, t -> b, s b -> t, t a -> s where #
Minimal complete definition
Nothing
Instances
8 <= n => Field8 (V n a) (V n a) a a | |
Field8 (a, b, c, d, e, f, g, h) (a, b, c, d, e, f, g, h') h h' | |
Defined in Control.Lens.Tuple | |
Field8 (a, b, c, d, e, f, g, h, i) (a, b, c, d, e, f, g, h', i) h h' | |
Defined in Control.Lens.Tuple | |
Field8 (a, b, c, d, e, f, g, h, i, j) (a, b, c, d, e, f, g, h', i, j) h h' | |
Defined in Control.Lens.Tuple | |
Field8 (a, b, c, d, e, f, g, h, i, j, kk) (a, b, c, d, e, f, g, h', i, j, kk) h h' | |
Defined in Control.Lens.Tuple | |
Field8 (a, b, c, d, e, f, g, h, i, j, kk, l) (a, b, c, d, e, f, g, h', i, j, kk, l) h h' | |
Defined in Control.Lens.Tuple | |
Field8 (a, b, c, d, e, f, g, h, i, j, kk, l, m) (a, b, c, d, e, f, g, h', i, j, kk, l, m) h h' | |
Defined in Control.Lens.Tuple | |
Field8 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n) (a, b, c, d, e, f, g, h', i, j, kk, l, m, n) h h' | |
Defined in Control.Lens.Tuple | |
Field8 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o) (a, b, c, d, e, f, g, h', i, j, kk, l, m, n, o) h h' | |
Defined in Control.Lens.Tuple | |
Field8 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p) (a, b, c, d, e, f, g, h', i, j, kk, l, m, n, o, p) h h' | |
Defined in Control.Lens.Tuple | |
Field8 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q) (a, b, c, d, e, f, g, h', i, j, kk, l, m, n, o, p, q) h h' | |
Defined in Control.Lens.Tuple | |
Field8 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q, r) (a, b, c, d, e, f, g, h', i, j, kk, l, m, n, o, p, q, r) h h' | |
Defined in Control.Lens.Tuple | |
Field8 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q, r, s) (a, b, c, d, e, f, g, h', i, j, kk, l, m, n, o, p, q, r, s) h h' | |
Defined in Control.Lens.Tuple |
class Field9 s t a b | s -> a, t -> b, s b -> t, t a -> s where #
Minimal complete definition
Nothing
Instances
9 <= n => Field9 (V n a) (V n a) a a | |
Field9 (a, b, c, d, e, f, g, h, i) (a, b, c, d, e, f, g, h, i') i i' | |
Defined in Control.Lens.Tuple | |
Field9 (a, b, c, d, e, f, g, h, i, j) (a, b, c, d, e, f, g, h, i', j) i i' | |
Defined in Control.Lens.Tuple | |
Field9 (a, b, c, d, e, f, g, h, i, j, kk) (a, b, c, d, e, f, g, h, i', j, kk) i i' | |
Defined in Control.Lens.Tuple | |
Field9 (a, b, c, d, e, f, g, h, i, j, kk, l) (a, b, c, d, e, f, g, h, i', j, kk, l) i i' | |
Defined in Control.Lens.Tuple | |
Field9 (a, b, c, d, e, f, g, h, i, j, kk, l, m) (a, b, c, d, e, f, g, h, i', j, kk, l, m) i i' | |
Defined in Control.Lens.Tuple | |
Field9 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n) (a, b, c, d, e, f, g, h, i', j, kk, l, m, n) i i' | |
Defined in Control.Lens.Tuple | |
Field9 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o) (a, b, c, d, e, f, g, h, i', j, kk, l, m, n, o) i i' | |
Defined in Control.Lens.Tuple | |
Field9 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p) (a, b, c, d, e, f, g, h, i', j, kk, l, m, n, o, p) i i' | |
Defined in Control.Lens.Tuple | |
Field9 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q) (a, b, c, d, e, f, g, h, i', j, kk, l, m, n, o, p, q) i i' | |
Defined in Control.Lens.Tuple | |
Field9 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q, r) (a, b, c, d, e, f, g, h, i', j, kk, l, m, n, o, p, q, r) i i' | |
Defined in Control.Lens.Tuple | |
Field9 (a, b, c, d, e, f, g, h, i, j, kk, l, m, n, o, p, q, r, s) (a, b, c, d, e, f, g, h, i', j, kk, l, m, n, o, p, q, r, s) i i' | |
Defined in Control.Lens.Tuple |
type Equality (s :: k1) (t :: k2) (a :: k1) (b :: k2) = forall k3 (p :: k1 -> k3 -> Type) (f :: k2 -> k3). p a (f b) -> p s (f t) #
type Fold s a = forall (f :: Type -> Type). (Contravariant f, Applicative f) => (a -> f a) -> s -> f s #
type Fold1 s a = forall (f :: Type -> Type). (Contravariant f, Apply f) => (a -> f a) -> s -> f s #
type Getter s a = forall (f :: Type -> Type). (Contravariant f, Functor f) => (a -> f a) -> s -> f s #
type IndexPreservingFold s a = forall (p :: Type -> Type -> Type) (f :: Type -> Type). (Conjoined p, Contravariant f, Applicative f) => p a (f a) -> p s (f s) #
type IndexPreservingFold1 s a = forall (p :: Type -> Type -> Type) (f :: Type -> Type). (Conjoined p, Contravariant f, Apply f) => p a (f a) -> p s (f s) #
type IndexPreservingGetter s a = forall (p :: Type -> Type -> Type) (f :: Type -> Type). (Conjoined p, Contravariant f, Functor f) => p a (f a) -> p s (f s) #
type IndexPreservingLens s t a b = forall (p :: Type -> Type -> Type) (f :: Type -> Type). (Conjoined p, Functor f) => p a (f b) -> p s (f t) #
type IndexPreservingLens' s a = IndexPreservingLens s s a a #
type IndexPreservingSetter s t a b = forall (p :: Type -> Type -> Type) (f :: Type -> Type). (Conjoined p, Settable f) => p a (f b) -> p s (f t) #
type IndexPreservingSetter' s a = IndexPreservingSetter s s a a #
type IndexPreservingTraversal s t a b = forall (p :: Type -> Type -> Type) (f :: Type -> Type). (Conjoined p, Applicative f) => p a (f b) -> p s (f t) #
type IndexPreservingTraversal' s a = IndexPreservingTraversal s s a a #
type IndexPreservingTraversal1 s t a b = forall (p :: Type -> Type -> Type) (f :: Type -> Type). (Conjoined p, Apply f) => p a (f b) -> p s (f t) #
type IndexPreservingTraversal1' s a = IndexPreservingTraversal1 s s a a #
type IndexedFold i s a = forall (p :: Type -> Type -> Type) (f :: Type -> Type). (Indexable i p, Contravariant f, Applicative f) => p a (f a) -> s -> f s #
type IndexedFold1 i s a = forall (p :: Type -> Type -> Type) (f :: Type -> Type). (Indexable i p, Contravariant f, Apply f) => p a (f a) -> s -> f s #
type IndexedGetter i s a = forall (p :: Type -> Type -> Type) (f :: Type -> Type). (Indexable i p, Contravariant f, Functor f) => p a (f a) -> s -> f s #
type IndexedLens i s t a b = forall (f :: Type -> Type) (p :: Type -> Type -> Type). (Indexable i p, Functor f) => p a (f b) -> s -> f t #
type IndexedLens' i s a = IndexedLens i s s a a #
type IndexedLensLike i (f :: k -> Type) s (t :: k) a (b :: k) = forall (p :: Type -> Type -> Type). Indexable i p => p a (f b) -> s -> f t #
type IndexedLensLike' i (f :: Type -> Type) s a = IndexedLensLike i f s s a a #
type IndexedSetter i s t a b = forall (f :: Type -> Type) (p :: Type -> Type -> Type). (Indexable i p, Settable f) => p a (f b) -> s -> f t #
type IndexedSetter' i s a = IndexedSetter i s s a a #
type IndexedTraversal i s t a b = forall (p :: Type -> Type -> Type) (f :: Type -> Type). (Indexable i p, Applicative f) => p a (f b) -> s -> f t #
type IndexedTraversal' i s a = IndexedTraversal i s s a a #
type IndexedTraversal1 i s t a b = forall (p :: Type -> Type -> Type) (f :: Type -> Type). (Indexable i p, Apply f) => p a (f b) -> s -> f t #
type IndexedTraversal1' i s a = IndexedTraversal1 i s s a a #
type Iso s t a b = forall (p :: Type -> Type -> Type) (f :: Type -> Type). (Profunctor p, Functor f) => p a (f b) -> p s (f t) #
type Optic (p :: k -> k1 -> Type) (f :: k2 -> k1) (s :: k) (t :: k2) (a :: k) (b :: k2) = p a (f b) -> p s (f t) #
type Optical (p :: k -> k1 -> Type) (q :: k2 -> k1 -> Type) (f :: k3 -> k1) (s :: k2) (t :: k3) (a :: k) (b :: k3) = p a (f b) -> q s (f t) #
type Optical' (p :: k -> k1 -> Type) (q :: k -> k1 -> Type) (f :: k -> k1) (s :: k) (a :: k) = Optical p q f s s a a #
type Over (p :: k -> Type -> Type) (f :: k1 -> Type) s (t :: k1) (a :: k) (b :: k1) = p a (f b) -> s -> f t #
type Prism s t a b = forall (p :: Type -> Type -> Type) (f :: Type -> Type). (Choice p, Applicative f) => p a (f b) -> p s (f t) #
type Review t b = forall (p :: Type -> Type -> Type) (f :: Type -> Type). (Choice p, Bifunctor p, Settable f) => Optic' p f t b #
type Traversal s t a b = forall (f :: Type -> Type). Applicative f => (a -> f b) -> s -> f t #
type Traversal' s a = Traversal s s a a #
type Traversal1 s t a b = forall (f :: Type -> Type). Apply f => (a -> f b) -> s -> f t #
type Traversal1' s a = Traversal1 s s a a #
class Wrapped s => Rewrapped s t #
Instances
class (Rewrapped s t, Rewrapped t s) => Rewrapping s t #
Instances
(Rewrapped s t, Rewrapped t s) => Rewrapping s t | |
Defined in Control.Lens.Wrapped |
Instances
Minimal complete definition
Nothing
Instances
type family Magnified (m :: Type -> Type) :: Type -> Type -> Type #
Instances
type Magnified (IdentityT m) | |
Defined in Control.Lens.Zoom | |
type Magnified (ReaderT b m) | |
Defined in Control.Lens.Zoom | |
type Magnified ((->) b) | |
type Magnified (RWST a w s m) | |
Defined in Control.Lens.Zoom | |
type Magnified (RWST a w s m) | |
Defined in Control.Lens.Zoom |
class (Magnified m ~ Magnified n, MonadReader b m, MonadReader a n) => Magnify (m :: Type -> Type) (n :: Type -> Type) b a | m -> b, n -> a, m a -> n, n b -> m where #
Methods
magnify :: ((Functor (Magnified m c), Contravariant (Magnified m c)) => LensLike' (Magnified m c) a b) -> m c -> n c #
Instances
class (MonadState s m, MonadState t n) => Zoom (m :: Type -> Type) (n :: Type -> Type) s t | m -> s, n -> t, m t -> n, n s -> m where #
Instances
Zoom m n s t => Zoom (MaybeT m) (MaybeT n) s t | |
Zoom m n s t => Zoom (ListT m) (ListT n) s t | |
Zoom m n s t => Zoom (ExceptT e m) (ExceptT e n) s t | |
Zoom m n s t => Zoom (IdentityT m) (IdentityT n) s t | |
(Error e, Zoom m n s t) => Zoom (ErrorT e m) (ErrorT e n) s t | |
Zoom m n s t => Zoom (ReaderT e m) (ReaderT e n) s t | |
Monad z => Zoom (StateT s z) (StateT t z) s t | |
Monad z => Zoom (StateT s z) (StateT t z) s t | |
(Monoid w, Zoom m n s t) => Zoom (WriterT w m) (WriterT w n) s t | |
(Monoid w, Zoom m n s t) => Zoom (WriterT w m) (WriterT w n) s t | |
(Functor f, Zoom m n s t) => Zoom (FreeT f m) (FreeT f n) s t | |
Defined in Control.Lens.Zoom | |
(Monoid w, Monad z) => Zoom (RWST r w s z) (RWST r w t z) s t | |
(Monoid w, Monad z) => Zoom (RWST r w s z) (RWST r w t z) s t | |
type family Zoomed (m :: Type -> Type) :: Type -> Type -> Type #
Instances
type Zoomed (MaybeT m) | |
Defined in Control.Lens.Zoom | |
type Zoomed (ListT m) | |
Defined in Control.Lens.Zoom | |
type Zoomed (ExceptT e m) | |
Defined in Control.Lens.Zoom | |
type Zoomed (IdentityT m) | |
Defined in Control.Lens.Zoom | |
type Zoomed (ErrorT e m) | |
Defined in Control.Lens.Zoom | |
type Zoomed (ReaderT e m) | |
Defined in Control.Lens.Zoom | |
type Zoomed (StateT s z) | |
Defined in Control.Lens.Zoom | |
type Zoomed (StateT s z) | |
Defined in Control.Lens.Zoom | |
type Zoomed (WriterT w m) | |
Defined in Control.Lens.Zoom | |
type Zoomed (WriterT w m) | |
Defined in Control.Lens.Zoom | |
type Zoomed (FreeT f m) | |
Defined in Control.Lens.Zoom | |
type Zoomed (RWST r w s z) | |
Defined in Control.Lens.Zoom | |
type Zoomed (RWST r w s z) | |
Defined in Control.Lens.Zoom |
class Profunctor p => Choice (p :: Type -> Type -> Type) where #
Instances
Choice ReifiedFold | |
Defined in Control.Lens.Reified Methods left' :: ReifiedFold a b -> ReifiedFold (Either a c) (Either b c) # right' :: ReifiedFold a b -> ReifiedFold (Either c a) (Either c b) # | |
Choice ReifiedGetter | |
Defined in Control.Lens.Reified Methods left' :: ReifiedGetter a b -> ReifiedGetter (Either a c) (Either b c) # right' :: ReifiedGetter a b -> ReifiedGetter (Either c a) (Either c b) # | |
Choice Fold | |
Monad m => Choice (Kleisli m) | |
Choice (Tagged :: Type -> Type -> Type) | |
Choice (Indexed i) | |
Choice (PastroSum p) | |
Profunctor p => Choice (TambaraSum p) | |
Choice p => Choice (Tambara p) | |
Choice (->) | |
Comonad w => Choice (Cokleisli w) | |
Monoid r => Choice (Forget r :: Type -> Type -> Type) | |
Applicative f => Choice (Star f) | |
Functor f => Choice (Joker f :: Type -> Type -> Type) | |
ArrowChoice p => Choice (WrappedArrow p) | |
(Choice p, Choice q) => Choice (Product p q) | |
(Choice p, Choice q) => Choice (Sum p q) | |
(Functor f, Choice p) => Choice (Tannen f p) | |
(Choice p, Choice q) => Choice (Procompose p q) | |
Instances
Foldable NESet | |
Defined in Data.Set.NonEmpty.Internal Methods fold :: Monoid m => NESet m -> m # foldMap :: Monoid m => (a -> m) -> NESet a -> m # foldMap' :: Monoid m => (a -> m) -> NESet a -> m # foldr :: (a -> b -> b) -> b -> NESet a -> b # foldr' :: (a -> b -> b) -> b -> NESet a -> b # foldl :: (b -> a -> b) -> b -> NESet a -> b # foldl' :: (b -> a -> b) -> b -> NESet a -> b # foldr1 :: (a -> a -> a) -> NESet a -> a # foldl1 :: (a -> a -> a) -> NESet a -> a # elem :: Eq a => a -> NESet a -> Bool # maximum :: Ord a => NESet a -> a # minimum :: Ord a => NESet a -> a # | |
Eq1 NESet | |
Ord1 NESet | |
Defined in Data.Set.NonEmpty.Internal | |
Show1 NESet | |
Foldable1 NESet | |
Defined in Data.Set.NonEmpty.Internal | |
Eq a => Eq (NESet a) | |
(Data a, Ord a) => Data (NESet a) | |
Defined in Data.Set.NonEmpty.Internal Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> NESet a -> c (NESet a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (NESet a) # toConstr :: NESet a -> Constr # dataTypeOf :: NESet a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (NESet a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (NESet a)) # gmapT :: (forall b. Data b => b -> b) -> NESet a -> NESet a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> NESet a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> NESet a -> r # gmapQ :: (forall d. Data d => d -> u) -> NESet a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> NESet a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> NESet a -> m (NESet a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> NESet a -> m (NESet a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> NESet a -> m (NESet a) # | |
Ord a => Ord (NESet a) | |
Defined in Data.Set.NonEmpty.Internal | |
(Read a, Ord a) => Read (NESet a) | |
Show a => Show (NESet a) | |
Ord a => Semigroup (NESet a) | |
NFData a => NFData (NESet a) | |
Defined in Data.Set.NonEmpty.Internal | |
(FromJSON a, Ord a) => FromJSON (NESet a) | |
Defined in Data.Set.NonEmpty.Internal | |
ToJSON a => ToJSON (NESet a) | |
Defined in Data.Set.NonEmpty.Internal Methods toEncoding :: NESet a -> Encoding toJSONList :: [NESet a] -> Value toEncodingList :: [NESet a] -> Encoding |
Constructors
V1 a |
Instances
Monad V1 | |
Functor V1 | |
MonadFix V1 | |
Applicative V1 | |
Foldable V1 | |
Defined in Linear.V1 Methods fold :: Monoid m => V1 m -> m # foldMap :: Monoid m => (a -> m) -> V1 a -> m # foldMap' :: Monoid m => (a -> m) -> V1 a -> m # foldr :: (a -> b -> b) -> b -> V1 a -> b # foldr' :: (a -> b -> b) -> b -> V1 a -> b # foldl :: (b -> a -> b) -> b -> V1 a -> b # foldl' :: (b -> a -> b) -> b -> V1 a -> b # foldr1 :: (a -> a -> a) -> V1 a -> a # foldl1 :: (a -> a -> a) -> V1 a -> a # elem :: Eq a => a -> V1 a -> Bool # maximum :: Ord a => V1 a -> a # | |
Traversable V1 | |
Eq1 V1 | |
Ord1 V1 | |
Read1 V1 | |
Show1 V1 | |
MonadZip V1 | |
Hashable1 V1 | |
Apply V1 | |
Bind V1 | |
Distributive V1 | |
Representable V1 | |
Foldable1 V1 | |
Traversable1 V1 | |
Metric V1 | |
Trace V1 | |
R1 V1 | |
Additive V1 | |
Finite V1 | |
Serial1 V1 | |
Defined in Linear.V1 Methods serializeWith :: MonadPut m => (a -> m ()) -> V1 a -> m () deserializeWith :: MonadGet m => m a -> m (V1 a) | |
Lift a => Lift (V1 a :: Type) | |
Unbox a => Vector Vector (V1 a) | |
Defined in Linear.V1 Methods basicUnsafeFreeze :: PrimMonad m => Mutable Vector (PrimState m) (V1 a) -> m (Vector (V1 a)) basicUnsafeThaw :: PrimMonad m => Vector (V1 a) -> m (Mutable Vector (PrimState m) (V1 a)) basicLength :: Vector (V1 a) -> Int basicUnsafeSlice :: Int -> Int -> Vector (V1 a) -> Vector (V1 a) basicUnsafeIndexM :: Monad m => Vector (V1 a) -> Int -> m (V1 a) basicUnsafeCopy :: PrimMonad m => Mutable Vector (PrimState m) (V1 a) -> Vector (V1 a) -> m () | |
Unbox a => MVector MVector (V1 a) | |
Defined in Linear.V1 Methods basicLength :: MVector s (V1 a) -> Int basicUnsafeSlice :: Int -> Int -> MVector s (V1 a) -> MVector s (V1 a) basicOverlaps :: MVector s (V1 a) -> MVector s (V1 a) -> Bool basicUnsafeNew :: PrimMonad m => Int -> m (MVector (PrimState m) (V1 a)) basicInitialize :: PrimMonad m => MVector (PrimState m) (V1 a) -> m () basicUnsafeReplicate :: PrimMonad m => Int -> V1 a -> m (MVector (PrimState m) (V1 a)) basicUnsafeRead :: PrimMonad m => MVector (PrimState m) (V1 a) -> Int -> m (V1 a) basicUnsafeWrite :: PrimMonad m => MVector (PrimState m) (V1 a) -> Int -> V1 a -> m () basicClear :: PrimMonad m => MVector (PrimState m) (V1 a) -> m () basicSet :: PrimMonad m => MVector (PrimState m) (V1 a) -> V1 a -> m () basicUnsafeCopy :: PrimMonad m => MVector (PrimState m) (V1 a) -> MVector (PrimState m) (V1 a) -> m () basicUnsafeMove :: PrimMonad m => MVector (PrimState m) (V1 a) -> MVector (PrimState m) (V1 a) -> m () basicUnsafeGrow :: PrimMonad m => MVector (PrimState m) (V1 a) -> Int -> m (MVector (PrimState m) (V1 a)) | |
Num r => Algebra r (E V1) | |
Num r => Coalgebra r (E V1) | |
Bounded a => Bounded (V1 a) | |
Eq a => Eq (V1 a) | |
Floating a => Floating (V1 a) | |
Fractional a => Fractional (V1 a) | |
Data a => Data (V1 a) | |
Defined in Linear.V1 Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> V1 a -> c (V1 a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (V1 a) # dataTypeOf :: V1 a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (V1 a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (V1 a)) # gmapT :: (forall b. Data b => b -> b) -> V1 a -> V1 a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> V1 a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> V1 a -> r # gmapQ :: (forall d. Data d => d -> u) -> V1 a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> V1 a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> V1 a -> m (V1 a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> V1 a -> m (V1 a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> V1 a -> m (V1 a) # | |
Num a => Num (V1 a) | |
Ord a => Ord (V1 a) | |
Read a => Read (V1 a) | |
Show a => Show (V1 a) | |
Ix a => Ix (V1 a) | |
Generic (V1 a) | |
Semigroup a => Semigroup (V1 a) | |
Monoid a => Monoid (V1 a) | |
NFData a => NFData (V1 a) | |
Binary a => Binary (V1 a) | |
Storable a => Storable (V1 a) | |
Hashable a => Hashable (V1 a) | |
Unbox a => Unbox (V1 a) | |
Defined in Linear.V1 | |
Ixed (V1 a) | |
Epsilon a => Epsilon (V1 a) | |
Random a => Random (V1 a) | |
Serial a => Serial (V1 a) | |
Defined in Linear.V1 | |
Serialize a => Serialize (V1 a) | |
Generic1 V1 | |
FoldableWithIndex (E V1) V1 | |
FunctorWithIndex (E V1) V1 | |
TraversableWithIndex (E V1) V1 | |
Each (V1 a) (V1 b) a b | |
Field1 (V1 a) (V1 b) a b | |
type Rep V1 | |
type Size V1 | |
newtype MVector s (V1 a) | |
type Rep (V1 a) | |
newtype Vector (V1 a) | |
type Index (V1 a) | |
type IxValue (V1 a) | |
type Rep1 V1 | |
class R1 t => R2 (t :: Type -> Type) where #
Minimal complete definition
Constructors
V2 !a !a |
Instances
Monad V2 | |
Functor V2 | |
MonadFix V2 | |
Applicative V2 | |
Foldable V2 | |
Defined in Linear.V2 Methods fold :: Monoid m => V2 m -> m # foldMap :: Monoid m => (a -> m) -> V2 a -> m # foldMap' :: Monoid m => (a -> m) -> V2 a -> m # foldr :: (a -> b -> b) -> b -> V2 a -> b # foldr' :: (a -> b -> b) -> b -> V2 a -> b # foldl :: (b -> a -> b) -> b -> V2 a -> b # foldl' :: (b -> a -> b) -> b -> V2 a -> b # foldr1 :: (a -> a -> a) -> V2 a -> a # foldl1 :: (a -> a -> a) -> V2 a -> a # elem :: Eq a => a -> V2 a -> Bool # maximum :: Ord a => V2 a -> a # | |
Traversable V2 | |
Eq1 V2 | |
Ord1 V2 | |
Read1 V2 | |
Show1 V2 | |
MonadZip V2 | |
Hashable1 V2 | |
Apply V2 | |
Bind V2 | |
Distributive V2 | |
Representable V2 | |
Foldable1 V2 | |
Traversable1 V2 | |
Metric V2 | |
Trace V2 | |
R1 V2 | |
R2 V2 | |
Additive V2 | |
Finite V2 | |
Serial1 V2 | |
Defined in Linear.V2 Methods serializeWith :: MonadPut m => (a -> m ()) -> V2 a -> m () deserializeWith :: MonadGet m => m a -> m (V2 a) | |
Lift a => Lift (V2 a :: Type) | |
Unbox a => Vector Vector (V2 a) | |
Defined in Linear.V2 Methods basicUnsafeFreeze :: PrimMonad m => Mutable Vector (PrimState m) (V2 a) -> m (Vector (V2 a)) basicUnsafeThaw :: PrimMonad m => Vector (V2 a) -> m (Mutable Vector (PrimState m) (V2 a)) basicLength :: Vector (V2 a) -> Int basicUnsafeSlice :: Int -> Int -> Vector (V2 a) -> Vector (V2 a) basicUnsafeIndexM :: Monad m => Vector (V2 a) -> Int -> m (V2 a) basicUnsafeCopy :: PrimMonad m => Mutable Vector (PrimState m) (V2 a) -> Vector (V2 a) -> m () | |
Unbox a => MVector MVector (V2 a) | |
Defined in Linear.V2 Methods basicLength :: MVector s (V2 a) -> Int basicUnsafeSlice :: Int -> Int -> MVector s (V2 a) -> MVector s (V2 a) basicOverlaps :: MVector s (V2 a) -> MVector s (V2 a) -> Bool basicUnsafeNew :: PrimMonad m => Int -> m (MVector (PrimState m) (V2 a)) basicInitialize :: PrimMonad m => MVector (PrimState m) (V2 a) -> m () basicUnsafeReplicate :: PrimMonad m => Int -> V2 a -> m (MVector (PrimState m) (V2 a)) basicUnsafeRead :: PrimMonad m => MVector (PrimState m) (V2 a) -> Int -> m (V2 a) basicUnsafeWrite :: PrimMonad m => MVector (PrimState m) (V2 a) -> Int -> V2 a -> m () basicClear :: PrimMonad m => MVector (PrimState m) (V2 a) -> m () basicSet :: PrimMonad m => MVector (PrimState m) (V2 a) -> V2 a -> m () basicUnsafeCopy :: PrimMonad m => MVector (PrimState m) (V2 a) -> MVector (PrimState m) (V2 a) -> m () basicUnsafeMove :: PrimMonad m => MVector (PrimState m) (V2 a) -> MVector (PrimState m) (V2 a) -> m () basicUnsafeGrow :: PrimMonad m => MVector (PrimState m) (V2 a) -> Int -> m (MVector (PrimState m) (V2 a)) | |
Num r => Coalgebra r (E V2) | |
Bounded a => Bounded (V2 a) | |
Eq a => Eq (V2 a) | |
Floating a => Floating (V2 a) | |
Fractional a => Fractional (V2 a) | |
Data a => Data (V2 a) | |
Defined in Linear.V2 Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> V2 a -> c (V2 a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (V2 a) # dataTypeOf :: V2 a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (V2 a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (V2 a)) # gmapT :: (forall b. Data b => b -> b) -> V2 a -> V2 a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> V2 a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> V2 a -> r # gmapQ :: (forall d. Data d => d -> u) -> V2 a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> V2 a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> V2 a -> m (V2 a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> V2 a -> m (V2 a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> V2 a -> m (V2 a) # | |
Num a => Num (V2 a) | |
Ord a => Ord (V2 a) | |
Read a => Read (V2 a) | |
Show a => Show (V2 a) | |
Ix a => Ix (V2 a) | |
Generic (V2 a) | |
Semigroup a => Semigroup (V2 a) | |
Monoid a => Monoid (V2 a) | |
NFData a => NFData (V2 a) | |
Binary a => Binary (V2 a) | |
Storable a => Storable (V2 a) | |
Hashable a => Hashable (V2 a) | |
(Finitary a, KnownNat (Cardinality a), KnownNat (Cardinality a * Cardinality a)) => Finitary (V2 a) | |
Unbox a => Unbox (V2 a) | |
Defined in Linear.V2 | |
Ixed (V2 a) | |
Epsilon a => Epsilon (V2 a) | |
Random a => Random (V2 a) | |
Serial a => Serial (V2 a) | |
Defined in Linear.V2 | |
Serialize a => Serialize (V2 a) | |
Generic1 V2 | |
FoldableWithIndex (E V2) V2 | |
FunctorWithIndex (E V2) V2 | |
TraversableWithIndex (E V2) V2 | |
Each (V2 a) (V2 b) a b | |
Field1 (V2 a) (V2 a) a a | |
Field2 (V2 a) (V2 a) a a | |
type Rep V2 | |
type Size V2 | |
data MVector s (V2 a) | |
type Rep (V2 a) | |
Defined in Linear.V2 type Rep (V2 a) = D1 ('MetaData "V2" "Linear.V2" "linear-1.21.8-9WCNpTN4APdCoIN0FnLTlG" 'False) (C1 ('MetaCons "V2" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a))) | |
data Vector (V2 a) | |
type Cardinality (V2 a) | |
Defined in AOC.Common.Point | |
type Index (V2 a) | |
type IxValue (V2 a) | |
type Rep1 V2 | |
Defined in Linear.V2 type Rep1 V2 = D1 ('MetaData "V2" "Linear.V2" "linear-1.21.8-9WCNpTN4APdCoIN0FnLTlG" 'False) (C1 ('MetaCons "V2" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1)) |
Constructors
V3 !a !a !a |
Instances
Monad V3 | |
Functor V3 | |
MonadFix V3 | |
Applicative V3 | |
Foldable V3 | |
Defined in Linear.V3 Methods fold :: Monoid m => V3 m -> m # foldMap :: Monoid m => (a -> m) -> V3 a -> m # foldMap' :: Monoid m => (a -> m) -> V3 a -> m # foldr :: (a -> b -> b) -> b -> V3 a -> b # foldr' :: (a -> b -> b) -> b -> V3 a -> b # foldl :: (b -> a -> b) -> b -> V3 a -> b # foldl' :: (b -> a -> b) -> b -> V3 a -> b # foldr1 :: (a -> a -> a) -> V3 a -> a # foldl1 :: (a -> a -> a) -> V3 a -> a # elem :: Eq a => a -> V3 a -> Bool # maximum :: Ord a => V3 a -> a # | |
Traversable V3 | |
Eq1 V3 | |
Ord1 V3 | |
Read1 V3 | |
Show1 V3 | |
MonadZip V3 | |
Hashable1 V3 | |
Apply V3 | |
Bind V3 | |
Distributive V3 | |
Representable V3 | |
Foldable1 V3 | |
Traversable1 V3 | |
Metric V3 | |
Trace V3 | |
R1 V3 | |
R2 V3 | |
R3 V3 | |
Additive V3 | |
Finite V3 | |
Serial1 V3 | |
Defined in Linear.V3 Methods serializeWith :: MonadPut m => (a -> m ()) -> V3 a -> m () deserializeWith :: MonadGet m => m a -> m (V3 a) | |
Lift a => Lift (V3 a :: Type) | |
Unbox a => Vector Vector (V3 a) | |
Defined in Linear.V3 Methods basicUnsafeFreeze :: PrimMonad m => Mutable Vector (PrimState m) (V3 a) -> m (Vector (V3 a)) basicUnsafeThaw :: PrimMonad m => Vector (V3 a) -> m (Mutable Vector (PrimState m) (V3 a)) basicLength :: Vector (V3 a) -> Int basicUnsafeSlice :: Int -> Int -> Vector (V3 a) -> Vector (V3 a) basicUnsafeIndexM :: Monad m => Vector (V3 a) -> Int -> m (V3 a) basicUnsafeCopy :: PrimMonad m => Mutable Vector (PrimState m) (V3 a) -> Vector (V3 a) -> m () | |
Unbox a => MVector MVector (V3 a) | |
Defined in Linear.V3 Methods basicLength :: MVector s (V3 a) -> Int basicUnsafeSlice :: Int -> Int -> MVector s (V3 a) -> MVector s (V3 a) basicOverlaps :: MVector s (V3 a) -> MVector s (V3 a) -> Bool basicUnsafeNew :: PrimMonad m => Int -> m (MVector (PrimState m) (V3 a)) basicInitialize :: PrimMonad m => MVector (PrimState m) (V3 a) -> m () basicUnsafeReplicate :: PrimMonad m => Int -> V3 a -> m (MVector (PrimState m) (V3 a)) basicUnsafeRead :: PrimMonad m => MVector (PrimState m) (V3 a) -> Int -> m (V3 a) basicUnsafeWrite :: PrimMonad m => MVector (PrimState m) (V3 a) -> Int -> V3 a -> m () basicClear :: PrimMonad m => MVector (PrimState m) (V3 a) -> m () basicSet :: PrimMonad m => MVector (PrimState m) (V3 a) -> V3 a -> m () basicUnsafeCopy :: PrimMonad m => MVector (PrimState m) (V3 a) -> MVector (PrimState m) (V3 a) -> m () basicUnsafeMove :: PrimMonad m => MVector (PrimState m) (V3 a) -> MVector (PrimState m) (V3 a) -> m () basicUnsafeGrow :: PrimMonad m => MVector (PrimState m) (V3 a) -> Int -> m (MVector (PrimState m) (V3 a)) | |
Num r => Coalgebra r (E V3) | |
Bounded a => Bounded (V3 a) | |
Eq a => Eq (V3 a) | |
Floating a => Floating (V3 a) | |
Fractional a => Fractional (V3 a) | |
Data a => Data (V3 a) | |
Defined in Linear.V3 Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> V3 a -> c (V3 a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (V3 a) # dataTypeOf :: V3 a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (V3 a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (V3 a)) # gmapT :: (forall b. Data b => b -> b) -> V3 a -> V3 a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> V3 a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> V3 a -> r # gmapQ :: (forall d. Data d => d -> u) -> V3 a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> V3 a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> V3 a -> m (V3 a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> V3 a -> m (V3 a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> V3 a -> m (V3 a) # | |
Num a => Num (V3 a) | |
Ord a => Ord (V3 a) | |
Read a => Read (V3 a) | |
Show a => Show (V3 a) | |
Ix a => Ix (V3 a) | |
Generic (V3 a) | |
Semigroup a => Semigroup (V3 a) | |
Monoid a => Monoid (V3 a) | |
NFData a => NFData (V3 a) | |
Binary a => Binary (V3 a) | |
Storable a => Storable (V3 a) | |
Hashable a => Hashable (V3 a) | |
(Finitary a, KnownNat (Cardinality a), KnownNat (Cardinality a * (Cardinality a * Cardinality a))) => Finitary (V3 a) | |
Unbox a => Unbox (V3 a) | |
Defined in Linear.V3 | |
Ixed (V3 a) | |
Epsilon a => Epsilon (V3 a) | |
Random a => Random (V3 a) | |
Serial a => Serial (V3 a) | |
Defined in Linear.V3 | |
Serialize a => Serialize (V3 a) | |
Generic1 V3 | |
FoldableWithIndex (E V3) V3 | |
FunctorWithIndex (E V3) V3 | |
TraversableWithIndex (E V3) V3 | |
Each (V3 a) (V3 b) a b | |
Field1 (V3 a) (V3 a) a a | |
Field2 (V3 a) (V3 a) a a | |
Field3 (V3 a) (V3 a) a a | |
type Rep V3 | |
type Size V3 | |
data MVector s (V3 a) | |
type Rep (V3 a) | |
Defined in Linear.V3 type Rep (V3 a) = D1 ('MetaData "V3" "Linear.V3" "linear-1.21.8-9WCNpTN4APdCoIN0FnLTlG" 'False) (C1 ('MetaCons "V3" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a)))) | |
data Vector (V3 a) | |
type Cardinality (V3 a) | |
Defined in AOC.Common.Point | |
type Index (V3 a) | |
type IxValue (V3 a) | |
type Rep1 V3 | |
Defined in Linear.V3 type Rep1 V3 = D1 ('MetaData "V3" "Linear.V3" "linear-1.21.8-9WCNpTN4APdCoIN0FnLTlG" 'False) (C1 ('MetaCons "V3" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1))) |
Constructors
V4 !a !a !a !a |
Instances
Monad V4 | |
Functor V4 | |
MonadFix V4 | |
Applicative V4 | |
Foldable V4 | |
Defined in Linear.V4 Methods fold :: Monoid m => V4 m -> m # foldMap :: Monoid m => (a -> m) -> V4 a -> m # foldMap' :: Monoid m => (a -> m) -> V4 a -> m # foldr :: (a -> b -> b) -> b -> V4 a -> b # foldr' :: (a -> b -> b) -> b -> V4 a -> b # foldl :: (b -> a -> b) -> b -> V4 a -> b # foldl' :: (b -> a -> b) -> b -> V4 a -> b # foldr1 :: (a -> a -> a) -> V4 a -> a # foldl1 :: (a -> a -> a) -> V4 a -> a # elem :: Eq a => a -> V4 a -> Bool # maximum :: Ord a => V4 a -> a # | |
Traversable V4 | |
Eq1 V4 | |
Ord1 V4 | |
Read1 V4 | |
Show1 V4 | |
MonadZip V4 | |
Hashable1 V4 | |
Apply V4 | |
Bind V4 | |
Distributive V4 | |
Representable V4 | |
Foldable1 V4 | |
Traversable1 V4 | |
Metric V4 | |
Trace V4 | |
R1 V4 | |
R2 V4 | |
R3 V4 | |
R4 V4 | |
Additive V4 | |
Finite V4 | |
Serial1 V4 | |
Defined in Linear.V4 Methods serializeWith :: MonadPut m => (a -> m ()) -> V4 a -> m () deserializeWith :: MonadGet m => m a -> m (V4 a) | |
Lift a => Lift (V4 a :: Type) | |
Unbox a => Vector Vector (V4 a) | |
Defined in Linear.V4 Methods basicUnsafeFreeze :: PrimMonad m => Mutable Vector (PrimState m) (V4 a) -> m (Vector (V4 a)) basicUnsafeThaw :: PrimMonad m => Vector (V4 a) -> m (Mutable Vector (PrimState m) (V4 a)) basicLength :: Vector (V4 a) -> Int basicUnsafeSlice :: Int -> Int -> Vector (V4 a) -> Vector (V4 a) basicUnsafeIndexM :: Monad m => Vector (V4 a) -> Int -> m (V4 a) basicUnsafeCopy :: PrimMonad m => Mutable Vector (PrimState m) (V4 a) -> Vector (V4 a) -> m () | |
Unbox a => MVector MVector (V4 a) | |
Defined in Linear.V4 Methods basicLength :: MVector s (V4 a) -> Int basicUnsafeSlice :: Int -> Int -> MVector s (V4 a) -> MVector s (V4 a) basicOverlaps :: MVector s (V4 a) -> MVector s (V4 a) -> Bool basicUnsafeNew :: PrimMonad m => Int -> m (MVector (PrimState m) (V4 a)) basicInitialize :: PrimMonad m => MVector (PrimState m) (V4 a) -> m () basicUnsafeReplicate :: PrimMonad m => Int -> V4 a -> m (MVector (PrimState m) (V4 a)) basicUnsafeRead :: PrimMonad m => MVector (PrimState m) (V4 a) -> Int -> m (V4 a) basicUnsafeWrite :: PrimMonad m => MVector (PrimState m) (V4 a) -> Int -> V4 a -> m () basicClear :: PrimMonad m => MVector (PrimState m) (V4 a) -> m () basicSet :: PrimMonad m => MVector (PrimState m) (V4 a) -> V4 a -> m () basicUnsafeCopy :: PrimMonad m => MVector (PrimState m) (V4 a) -> MVector (PrimState m) (V4 a) -> m () basicUnsafeMove :: PrimMonad m => MVector (PrimState m) (V4 a) -> MVector (PrimState m) (V4 a) -> m () basicUnsafeGrow :: PrimMonad m => MVector (PrimState m) (V4 a) -> Int -> m (MVector (PrimState m) (V4 a)) | |
Num r => Coalgebra r (E V4) | |
Bounded a => Bounded (V4 a) | |
Eq a => Eq (V4 a) | |
Floating a => Floating (V4 a) | |
Fractional a => Fractional (V4 a) | |
Data a => Data (V4 a) | |
Defined in Linear.V4 Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> V4 a -> c (V4 a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (V4 a) # dataTypeOf :: V4 a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (V4 a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (V4 a)) # gmapT :: (forall b. Data b => b -> b) -> V4 a -> V4 a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> V4 a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> V4 a -> r # gmapQ :: (forall d. Data d => d -> u) -> V4 a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> V4 a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> V4 a -> m (V4 a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> V4 a -> m (V4 a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> V4 a -> m (V4 a) # | |
Num a => Num (V4 a) | |
Ord a => Ord (V4 a) | |
Read a => Read (V4 a) | |
Show a => Show (V4 a) | |
Ix a => Ix (V4 a) | |
Generic (V4 a) | |
Semigroup a => Semigroup (V4 a) | |
Monoid a => Monoid (V4 a) | |
NFData a => NFData (V4 a) | |
Binary a => Binary (V4 a) | |
Storable a => Storable (V4 a) | |
Hashable a => Hashable (V4 a) | |
(Finitary a, KnownNat (Cardinality a), KnownNat ((Cardinality a * Cardinality a) * (Cardinality a * Cardinality a))) => Finitary (V4 a) | |
Unbox a => Unbox (V4 a) | |
Defined in Linear.V4 | |
Ixed (V4 a) | |
Epsilon a => Epsilon (V4 a) | |
Random a => Random (V4 a) | |
Serial a => Serial (V4 a) | |
Defined in Linear.V4 | |
Serialize a => Serialize (V4 a) | |
Generic1 V4 | |
FoldableWithIndex (E V4) V4 | |
FunctorWithIndex (E V4) V4 | |
TraversableWithIndex (E V4) V4 | |
Each (V4 a) (V4 b) a b | |
Field1 (V4 a) (V4 a) a a | |
Field2 (V4 a) (V4 a) a a | |
Field3 (V4 a) (V4 a) a a | |
Field4 (V4 a) (V4 a) a a | |
type Rep V4 | |
type Size V4 | |
data MVector s (V4 a) | |
type Rep (V4 a) | |
Defined in Linear.V4 type Rep (V4 a) = D1 ('MetaData "V4" "Linear.V4" "linear-1.21.8-9WCNpTN4APdCoIN0FnLTlG" 'False) (C1 ('MetaCons "V4" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a)))) | |
data Vector (V4 a) | |
type Cardinality (V4 a) | |
Defined in AOC.Common.Point | |
type Index (V4 a) | |
type IxValue (V4 a) | |
type Rep1 V4 | |
Defined in Linear.V4 type Rep1 V4 = D1 ('MetaData "V4" "Linear.V4" "linear-1.21.8-9WCNpTN4APdCoIN0FnLTlG" 'False) (C1 ('MetaCons "V4" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1))) |
Instances
Eq2 NEMap | |
Ord2 NEMap | |
Defined in Data.Map.NonEmpty.Internal | |
Show2 NEMap | |
FoldableWithIndex k (NEMap k) Source # | |
Defined in AOC.Common | |
FunctorWithIndex k (NEMap k) Source # | |
Defined in AOC.Common | |
TraversableWithIndex k (NEMap k) Source # | |
Defined in AOC.Common Methods itraverse :: Applicative f => (k -> a -> f b) -> NEMap k a -> f (NEMap k b) # | |
Functor (NEMap k) | |
Foldable (NEMap k) | |
Defined in Data.Map.NonEmpty.Internal Methods fold :: Monoid m => NEMap k m -> m # foldMap :: Monoid m => (a -> m) -> NEMap k a -> m # foldMap' :: Monoid m => (a -> m) -> NEMap k a -> m # foldr :: (a -> b -> b) -> b -> NEMap k a -> b # foldr' :: (a -> b -> b) -> b -> NEMap k a -> b # foldl :: (b -> a -> b) -> b -> NEMap k a -> b # foldl' :: (b -> a -> b) -> b -> NEMap k a -> b # foldr1 :: (a -> a -> a) -> NEMap k a -> a # foldl1 :: (a -> a -> a) -> NEMap k a -> a # elem :: Eq a => a -> NEMap k a -> Bool # maximum :: Ord a => NEMap k a -> a # minimum :: Ord a => NEMap k a -> a # | |
Traversable (NEMap k) | |
Eq k => Eq1 (NEMap k) | |
Ord k => Ord1 (NEMap k) | |
Defined in Data.Map.NonEmpty.Internal | |
(Ord k, Read k) => Read1 (NEMap k) | |
Defined in Data.Map.NonEmpty.Internal | |
Show k => Show1 (NEMap k) | |
Comonad (NEMap k) | |
Foldable1 (NEMap k) | |
Defined in Data.Map.NonEmpty.Internal | |
Traversable1 (NEMap k) | |
Ord k => Alt (NEMap k) | |
Defined in Data.Map.NonEmpty.Internal | |
Invariant (NEMap k) | |
Defined in Data.Map.NonEmpty.Internal | |
(Eq k, Eq a) => Eq (NEMap k a) | |
(Data k, Data a, Ord k) => Data (NEMap k a) | |
Defined in Data.Map.NonEmpty.Internal Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> NEMap k a -> c (NEMap k a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (NEMap k a) # toConstr :: NEMap k a -> Constr # dataTypeOf :: NEMap k a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (NEMap k a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (NEMap k a)) # gmapT :: (forall b. Data b => b -> b) -> NEMap k a -> NEMap k a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> NEMap k a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> NEMap k a -> r # gmapQ :: (forall d. Data d => d -> u) -> NEMap k a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> NEMap k a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> NEMap k a -> m (NEMap k a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> NEMap k a -> m (NEMap k a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> NEMap k a -> m (NEMap k a) # | |
(Ord k, Ord a) => Ord (NEMap k a) | |
(Ord k, Read k, Read e) => Read (NEMap k e) | |
(Show k, Show a) => Show (NEMap k a) | |
Ord k => Semigroup (NEMap k a) | |
(NFData k, NFData a) => NFData (NEMap k a) | |
Defined in Data.Map.NonEmpty.Internal | |
(FromJSONKey k, Ord k, FromJSON a) => FromJSON (NEMap k a) | |
Defined in Data.Map.NonEmpty.Internal | |
(ToJSONKey k, ToJSON a) => ToJSON (NEMap k a) | |
Defined in Data.Map.NonEmpty.Internal Methods toEncoding :: NEMap k a -> Encoding toJSONList :: [NEMap k a] -> Value toEncodingList :: [NEMap k a] -> Encoding |
Instances
Eq ScanPoint Source # | |
Num ScanPoint Source # | |
Defined in AOC.Common.Point | |
Ord ScanPoint Source # | |
Show ScanPoint Source # | |
Generic ScanPoint Source # | |
NFData ScanPoint Source # | |
Defined in AOC.Common.Point | |
Hashable ScanPoint Source # | |
Defined in AOC.Common.Point | |
type Rep ScanPoint Source # | |
Defined in AOC.Common.Point |
Represents an orientation of a 2d tile.
Instances
Eq D8 Source # | |
Ord D8 Source # | |
Show D8 Source # | |
Generic D8 Source # | |
Semigroup D8 Source # | |
Monoid D8 Source # | |
NFData D8 Source # | |
Defined in AOC.Common.Point | |
Hashable D8 Source # | |
Defined in AOC.Common.Point | |
Finitary D8 Source # | |
Group D8 Source # | |
type Rep D8 Source # | |
Defined in AOC.Common.Point type Rep D8 = D1 ('MetaData "D8" "AOC.Common.Point" "aoc2020-0.1.0.0-FyPlSv9LBbs5G4MoObRXVm" 'False) (C1 ('MetaCons "D8" 'PrefixI 'True) (S1 ('MetaSel ('Just "d8Rot") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Dir) :*: S1 ('MetaSel ('Just "d8Flip") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool))) | |
type Cardinality D8 Source # | |
Defined in AOC.Common.Point |
Instances
Enum Dir Source # | |
Eq Dir Source # | |
Ord Dir Source # | |
Show Dir Source # | |
Generic Dir Source # | |
Semigroup Dir Source # | |
Monoid Dir Source # | |
NFData Dir Source # | |
Defined in AOC.Common.Point | |
Hashable Dir Source # | |
Defined in AOC.Common.Point | |
Finitary Dir Source # | |
Abelian Dir Source # | |
Defined in AOC.Common.Point | |
Group Dir Source # | |
type Rep Dir Source # | |
Defined in AOC.Common.Point type Rep Dir = D1 ('MetaData "Dir" "AOC.Common.Point" "aoc2020-0.1.0.0-FyPlSv9LBbs5G4MoObRXVm" 'False) ((C1 ('MetaCons "North" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "East" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "South" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "West" 'PrefixI 'False) (U1 :: Type -> Type))) | |
type Cardinality Dir Source # | |
Defined in AOC.Common.Point |
boundingBox :: (Foldable1 f, Applicative g, Ord a) => f (g a) -> V2 (g a) Source #
Find the minimum and maximum x and y from a collection of points.
Returns
.V2
(V2 xMin yMin) (V2 xMax yMax)
boundingBox' :: (Foldable f, Applicative g, Ord a) => f (g a) -> Maybe (V2 (g a)) Source #
A version of boundingBox
that works for normal possibly-empty lists.
minCorner :: (Foldable1 f, Applicative g, Ord a) => f (g a) -> g a Source #
minCorner' :: (Foldable f, Applicative g, Ord a) => f (g a) -> Maybe (g a) Source #
shiftToZero :: (Applicative f, Num a, Ord a) => NESet (f a) -> NESet (f a) Source #
Shift corner to (0,0)
shiftToZero' :: (Applicative f, Num a, Ord a) => Set (f a) -> Set (f a) Source #
Shift corner to (0,0)
inBoundingBox :: (Applicative g, Foldable g, Ord a) => V2 (g a) -> g a -> Bool Source #
cardinalNeighbs :: Point -> [Point] Source #
fullNeighbs :: (Applicative f, Num a, Traversable f) => f a -> [f a] Source #
fullNeighbsSet :: (Applicative f, Num a, Ord (f a), Traversable f) => f a -> Set (f a) Source #
mulPoint :: Num a => V2 a -> V2 a -> V2 a Source #
Treat as complex number multiplication. useful for rotations
mulDir :: Dir -> Dir -> Dir Source #
Multiply headings, taking North as straight, East as clockwise turn, West as counter-clockwise turn, and South as reverse.
Should be a commutative group; it's essentially complex number
multiplication like mulPoint
, with North = 1, West = i. The identity
is North
and the inverse is the opposite direction.
lineTo :: Point -> Point -> [Point] Source #
Lattice points for line between points, not including endpoints
stripNewline :: String -> String Source #
Strip trailing newline
eitherToMaybe :: Alternative m => Either e a -> m a Source #
Convert an Either
into a Maybe
, or any Alternative
instance,
forgetting the error value.
maybeToEither :: MonadError e m => e -> Maybe a -> m a Source #
Convert a Maybe
into an Either
, or any MonadError
instance, by
providing an error value in case Nothing
was given.
firstJust :: Foldable t => (a -> Maybe b) -> t a -> Maybe b Source #
Like find
, but instead of taking an a -> Bool
, takes an a ->
Maybe b
and returns the first success.
maybeAlt :: Alternative m => Maybe a -> m a Source #
Generalize a Maybe
to any Alternative
traceShowIdMsg :: Show a => String -> a -> a Source #
Like traceShowId
but with an extra message
defaultSplitter :: Splitter a #
dropBlanks :: Splitter a -> Splitter a #
dropDelims :: Splitter a -> Splitter a #
dropFinalBlank :: Splitter a -> Splitter a #
dropInitBlank :: Splitter a -> Splitter a #
dropInnerBlanks :: Splitter a -> Splitter a #
endByOneOf :: Eq a => [a] -> [a] -> [[a]] #
endsWithOneOf :: Eq a => [a] -> Splitter a #
keepDelimsL :: Splitter a -> Splitter a #
keepDelimsR :: Splitter a -> Splitter a #
sepByOneOf :: Eq a => [a] -> [a] -> [[a]] #
splitEvery :: Int -> [e] -> [[e]] #
splitOneOf :: Eq a => [a] -> [a] -> [[a]] #
splitPlaces :: Integral a => [a] -> [e] -> [[e]] #
splitPlacesBlanks :: Integral a => [a] -> [e] -> [[e]] #
startsWith :: Eq a => [a] -> Splitter a #
startsWithOneOf :: Eq a => [a] -> Splitter a #
unintercalate :: Eq a => [a] -> [a] -> [[a]] #
between :: Applicative m => m open -> m close -> m a -> m a #
choice :: (Foldable f, Alternative m) => f (m a) -> m a #
eitherP :: Alternative m => m a -> m b -> m (Either a b) #
skipManyTill :: MonadPlus m => m a -> m end -> m end #
skipSomeTill :: MonadPlus m => m a -> m end -> m end #
anySingleBut :: MonadParsec e s m => Token s -> m (Token s) #
binDigitChar :: (MonadParsec e s m, Token s ~ Char) => m (Token s) #
hexDigitChar :: (MonadParsec e s m, Token s ~ Char) => m (Token s) #
octDigitChar :: (MonadParsec e s m, Token s ~ Char) => m (Token s) #
hexadecimal :: (MonadParsec e s m, Token s ~ Char, Num a) => m a #
scientific :: (MonadParsec e s m, Token s ~ Char) => m Scientific #
Use a stream of tokens a
as the underlying parser stream. Note that
error messages for parser errors are going necessarily to be wonky.
Constructors
TokStream | |
Fields
|
Instances
strictIterate :: (a -> a) -> a -> [a] Source #
iterateMaybe :: (a -> Maybe a) -> a -> [a] Source #
Iterate until a Nothing
is produced
loopMaybe :: (a -> Maybe a) -> a -> a Source #
Apply function until Nothing
is produced, and return last produced
value.
loopEither :: (a -> Either r a) -> a -> r Source #
Apply function until a Left
.
loopMaybeM :: Monad m => (a -> m (Maybe a)) -> a -> m a Source #
Apply monadic function until Nothing
is produced, and return last produced
value.
scanlT :: Traversable t => (b -> a -> b) -> b -> t a -> t b Source #
scanl
generalized to all Traversable
.
scanrT :: Traversable t => (a -> b -> b) -> b -> t a -> t b Source #
scanr
generalized to all Traversable
.
firstRepeated :: Ord a => [a] -> Maybe a Source #
Lazily find the first repeated item.
firstRepeatedBy :: Ord a => (b -> a) -> [b] -> Maybe b Source #
Lazily find the first repeated projection.
fixedPoint :: Eq a => (a -> a) -> a -> a Source #
Repeat a function until you get the same result twice.
countTrue :: Foldable f => (a -> Bool) -> f a -> Int Source #
Count the number of items in a container where the predicate is true.
pickUnique :: (Ord k, Ord a) => [(k, Set a)] -> [Map k a] Source #
Given a map of k
to possible a
s for that k
, find possible
configurations where each k
is given its own unique a
.
lookupFreq :: Ord a => a -> Map a Int -> Int Source #
Look up a count from a frequency map, defaulting to zero if item is not foudn
freqList :: (Foldable f, Ord a) => f a -> [(Int, a)] Source #
Build a list of descending frequencies. Ties are sorted.
eitherItem :: Lens' (Either a a) a Source #
perturbations :: Traversable f => (a -> [a]) -> f a -> [f a] Source #
Collect all possible single-item perturbations from a given perturbing function.
perturbations (\i -> [i - 1, i + 1]) [0,10,100]
[ [-1,10,100]
, [ 1,10,100] , [ 0, 9,100] , [ 0,11,100] , [ 0,10, 99] , [ 0,10,101] ]
perturbationsBy :: Conjoined p => Over p (Bazaar p a a) s t a a -> (a -> [a]) -> s -> [t] Source #
Collect all possible single-item perturbations from a given perturbing function.
perturbations (\i -> [i - 1, i + 1]) [0,10,100]
[ [-1,10,100]
, [ 1,10,100] , [ 0, 9,100] , [ 0,11,100] , [ 0,10, 99] , [ 0,10,101] ]
clearOut :: (Char -> Bool) -> String -> String Source #
Clear out characters not matching a predicate
slidingWindows :: Int -> [a] -> [Seq a] Source #
sliding windows of a given length
sortedSlidingWindows :: forall k v. Ord k => Int -> [(k, v)] -> [OrdPSQ k Int v] Source #
sorted windows of a given length
sortedSlidingWindowsInt :: forall v. Int -> [(Int, v)] -> [IntPSQ Int v] Source #
sorted windows of a given length
maximumVal :: Ord b => Map a b -> Maybe (a, b) Source #
Get the key-value pair corresponding to the maximum value in the map
maximumValBy :: (b -> b -> Ordering) -> Map a b -> Maybe (a, b) Source #
Get the key-value pair corresponding to the maximum value in the map, with a custom comparing function.
'maximumVal' == 'maximumValBy' 'compare'
minimumValBy :: (b -> b -> Ordering) -> Map a b -> Maybe (a, b) Source #
Get the key-value pair corresponding to the minimum value in the map, with a custom comparing function.
'minimumVal' == 'minimumValBy' 'compare'
minimumVal :: Ord b => Map a b -> Maybe (a, b) Source #
Get the key-value pair corresponding to the minimum value in the map
maximumValByNE :: (b -> b -> Ordering) -> NEMap a b -> (a, b) Source #
Version of maximumValBy
for nonempty maps.
maximumValNE :: Ord b => NEMap a b -> (a, b) Source #
Version of maximumVal
for nonempty maps.
minimumValByNE :: (b -> b -> Ordering) -> NEMap a b -> (a, b) Source #
Version of minimumValBy
for nonempty maps.
minimumValNE :: Ord b => NEMap a b -> (a, b) Source #
Version of minimumVal
for nonempty maps.
deleteFinite :: KnownNat n => Finite (n + 1) -> Finite (n + 1) -> Maybe (Finite n) Source #
Delete a potential value from a Finite
.
foldMapPar :: Monoid b => (a -> b) -> [a] -> b Source #
foldMap
, but in parallel.
foldMapPar1 :: Semigroup b => (a -> b) -> NonEmpty a -> b Source #
foldMap1
, but in parallel.
meanVar :: Fractional a => Fold a (a, a) Source #
Fold
for computing mean and variance
Arguments
:: Ord a | |
=> (a -> Set a) | Expansion (be sure to limit allowed points) |
-> Set a | Start points |
-> Set a | Flood filled |
Flood fill from a starting set
Arguments
:: Ord a | |
=> (a -> Set a) | Expansion (be sure to limit allowed points) |
-> Set a | Start points |
-> (Int, Set a) | Flood filled, with count of number of steps |
Flood fill from a starting set, counting the number of steps
sortSizedBy :: Vector v a => (a -> a -> Ordering) -> Vector v n a -> Vector v n a Source #
withAllSized :: Vector v a => NonEmpty [a] -> (forall n. KnownNat n => NonEmpty (Vector v n a) -> Maybe r) -> Maybe r Source #
parseTokStream :: Foldable t => Parsec e (TokStream s) a -> t s -> Either (ParseErrorBundle (TokStream s) e) a Source #
Parse a stream of tokens s
purely, returning Either
parseTokStream_ :: (Alternative m, Foldable t) => Parsec e (TokStream s) a -> t s -> m a Source #
Parse a stream of tokens s
purely
parseTokStreamT :: (Foldable t, Monad m) => ParsecT e (TokStream s) m a -> t s -> m (Either (ParseErrorBundle (TokStream s) e) a) Source #
Parse a stream of tokens s
over an underlying monad, returning Either
parseTokStreamT_ :: (Alternative f, Foldable t, Monad m) => ParsecT e (TokStream s) m a -> t s -> m (f a) Source #
Parse a stream of tokens s
over an underlying monad
parseOrFail :: (ShowErrorComponent e, VisualStream s, TraversableStream s) => Parsec e s a -> s -> a Source #
integerFactorial :: Integer -> Integer Source #
memo4 :: Memo a -> Memo b -> Memo c -> Memo d -> (a -> b -> c -> d -> r) -> a -> b -> c -> d -> r Source #
anaM :: (Monad m, Corecursive t, Traversable (Base t)) => (a -> m (Base t a)) -> a -> m t Source #
unfoldedIterate :: forall n a proxy. SNatI n => proxy n -> (a -> a) -> a -> a Source #
data SolutionError Source #
Errors that might happen when running a :~>
on some input.
Instances
Eq SolutionError Source # | |
Defined in AOC.Solver Methods (==) :: SolutionError -> SolutionError -> Bool # (/=) :: SolutionError -> SolutionError -> Bool # | |
Ord SolutionError Source # | |
Defined in AOC.Solver Methods compare :: SolutionError -> SolutionError -> Ordering # (<) :: SolutionError -> SolutionError -> Bool # (<=) :: SolutionError -> SolutionError -> Bool # (>) :: SolutionError -> SolutionError -> Bool # (>=) :: SolutionError -> SolutionError -> Bool # max :: SolutionError -> SolutionError -> SolutionError # min :: SolutionError -> SolutionError -> SolutionError # | |
Show SolutionError Source # | |
Defined in AOC.Solver Methods showsPrec :: Int -> SolutionError -> ShowS # show :: SolutionError -> String # showList :: [SolutionError] -> ShowS # | |
Generic SolutionError Source # | |
Defined in AOC.Solver Associated Types type Rep SolutionError :: Type -> Type # | |
NFData SolutionError Source # | |
Defined in AOC.Solver Methods rnf :: SolutionError -> () # | |
type Rep SolutionError Source # | |
data SomeSolution where Source #
Wrap an a
and hide the type variables so we can put
different solutions in a container.:~>
b
Constructors
MkSomeSolWH :: (a :~> b) -> SomeSolution | |
MkSomeSolNF :: (NFData a, NFData b) => (a :~> b) -> SomeSolution |
Bundled Patterns
pattern MkSomeSol :: forall a b. (a :~> b) -> SomeSolution | Handy pattern to work with both |
Abstracting over the type of a challenge solver to help with cleaner solutions.
A a
encapsulates something that solves a challenge with input
type :~>
ba
into a response of type b
.
Consists of a parser, a shower, and a solver. The solver solves
a general a ->
function, and the parser and shower are used
to handle the boilerplate of parsing and printing the solution.Maybe
b
ssIsNF :: SomeSolution -> Bool Source #
Check if a SomeSolution
is equipped with an NFData
instance on the
types
withSolver' :: (String -> String) -> String :~> String Source #
Construct a :~>
from just a normal String -> String
solver.
Does no parsing or special printing treatment.
runSolution :: (a :~> b) -> String -> Either SolutionError String Source #
Run a :~>
on some input.
Arguments
:: Map String Dynamic | map of dynamic values for testing with |
-> (a :~> b) | |
-> String | |
-> Either SolutionError String |
Run a :~>
on some input, with a map of dynamic values for testing
runSomeSolution :: SomeSolution -> String -> Either SolutionError String Source #
Run a SomeSolution
on some input.
Arguments
:: Map String Dynamic | map of dynamic values for testing with |
-> SomeSolution | |
-> String | |
-> Either SolutionError String |
Run a SomeSolution
on some input, with a map of dynamic values for
testing
dyno :: forall a. (Typeable a, ?dyno :: DynoMap) => String -> Maybe a Source #
From a ?dyno
Implicit Params, look up a value at a given key. Meant
to be used with TypeApplications:
'dyno' @"hello"
This can be used within the body of sSolve
, since it will always be
called with the implicit parameter.
When called on actual puzzle input, result will always be Nothing
.
But, for some test inputs, there might be supplied values.
This is useful for when some problems have parameters that are different with test inputs than for actual inputs.
A version of dyno
taking a default value in case the key is not
in the map. When called on actual puzzle input, this is always id
.
However, for some test inputs, there might be supplied values.
Meant to be used with TypeApplications:
'dyno_' @"hello" 7
This is useful for when some problems have parameters that are different with test inputs than for actual inputs.
Instances
Functor NEIntMap | |
Foldable NEIntMap | |
Defined in Data.IntMap.NonEmpty.Internal Methods fold :: Monoid m => NEIntMap m -> m # foldMap :: Monoid m => (a -> m) -> NEIntMap a -> m # foldMap' :: Monoid m => (a -> m) -> NEIntMap a -> m # foldr :: (a -> b -> b) -> b -> NEIntMap a -> b # foldr' :: (a -> b -> b) -> b -> NEIntMap a -> b # foldl :: (b -> a -> b) -> b -> NEIntMap a -> b # foldl' :: (b -> a -> b) -> b -> NEIntMap a -> b # foldr1 :: (a -> a -> a) -> NEIntMap a -> a # foldl1 :: (a -> a -> a) -> NEIntMap a -> a # elem :: Eq a => a -> NEIntMap a -> Bool # maximum :: Ord a => NEIntMap a -> a # minimum :: Ord a => NEIntMap a -> a # | |
Traversable NEIntMap | |
Defined in Data.IntMap.NonEmpty.Internal | |
Eq1 NEIntMap | |
Ord1 NEIntMap | |
Defined in Data.IntMap.NonEmpty.Internal | |
Read1 NEIntMap | |
Defined in Data.IntMap.NonEmpty.Internal | |
Show1 NEIntMap | |
Comonad NEIntMap | |
Foldable1 NEIntMap | |
Defined in Data.IntMap.NonEmpty.Internal | |
Traversable1 NEIntMap | |
Alt NEIntMap | |
Defined in Data.IntMap.NonEmpty.Internal | |
Invariant NEIntMap | |
Defined in Data.IntMap.NonEmpty.Internal | |
Eq a => Eq (NEIntMap a) | |
Data a => Data (NEIntMap a) | |
Defined in Data.IntMap.NonEmpty.Internal Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> NEIntMap a -> c (NEIntMap a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (NEIntMap a) # toConstr :: NEIntMap a -> Constr # dataTypeOf :: NEIntMap a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (NEIntMap a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (NEIntMap a)) # gmapT :: (forall b. Data b => b -> b) -> NEIntMap a -> NEIntMap a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> NEIntMap a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> NEIntMap a -> r # gmapQ :: (forall d. Data d => d -> u) -> NEIntMap a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> NEIntMap a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> NEIntMap a -> m (NEIntMap a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> NEIntMap a -> m (NEIntMap a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> NEIntMap a -> m (NEIntMap a) # | |
Ord a => Ord (NEIntMap a) | |
Defined in Data.IntMap.NonEmpty.Internal | |
Read e => Read (NEIntMap e) | |
Show a => Show (NEIntMap a) | |
Semigroup (NEIntMap a) | |
NFData a => NFData (NEIntMap a) | |
Defined in Data.IntMap.NonEmpty.Internal | |
FromJSON a => FromJSON (NEIntMap a) | |
Defined in Data.IntMap.NonEmpty.Internal | |
ToJSON a => ToJSON (NEIntMap a) | |
Defined in Data.IntMap.NonEmpty.Internal Methods toEncoding :: NEIntMap a -> Encoding toJSONList :: [NEIntMap a] -> Value toEncodingList :: [NEIntMap a] -> Encoding |
Instances
Eq NEIntSet | |
Data NEIntSet | |
Defined in Data.IntSet.NonEmpty.Internal Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> NEIntSet -> c NEIntSet # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c NEIntSet # toConstr :: NEIntSet -> Constr # dataTypeOf :: NEIntSet -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c NEIntSet) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c NEIntSet) # gmapT :: (forall b. Data b => b -> b) -> NEIntSet -> NEIntSet # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> NEIntSet -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> NEIntSet -> r # gmapQ :: (forall d. Data d => d -> u) -> NEIntSet -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> NEIntSet -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> NEIntSet -> m NEIntSet # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> NEIntSet -> m NEIntSet # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> NEIntSet -> m NEIntSet # | |
Ord NEIntSet | |
Defined in Data.IntSet.NonEmpty.Internal | |
Read NEIntSet | |
Show NEIntSet | |
Semigroup NEIntSet | |
NFData NEIntSet | |
Defined in Data.IntSet.NonEmpty.Internal | |
FromJSON NEIntSet | |
Defined in Data.IntSet.NonEmpty.Internal | |
ToJSON NEIntSet | |
Defined in Data.IntSet.NonEmpty.Internal Methods toEncoding :: NEIntSet -> Encoding toJSONList :: [NEIntSet] -> Value toEncodingList :: [NEIntSet] -> Encoding |