accelerate-1.4.0.0: An embedded language for accelerated array processing
Copyright[2018..2020] The Accelerate Team
LicenseBSD3
MaintainerTrevor L. McDonell <trevor.mcdonell@gmail.com>
Stabilityexperimental
Portabilitynon-portable (GHC extensions)
Safe HaskellNone
LanguageHaskell2010

Data.Array.Accelerate.Data.Semigroup

Description

Semigroup instances for Accelerate

Since: 1.2.0.0

Synopsis

Documentation

class Semigroup a where #

The class of semigroups (types with an associative binary operation).

Instances should satisfy the following:

Associativity
x <> (y <> z) = (x <> y) <> z

You can alternatively define sconcat instead of (<>), in which case the laws are:

Unit
sconcat (pure x) = x
Multiplication
sconcat (join xss) = sconcat (fmap sconcat xss)

Since: base-4.9.0.0

Minimal complete definition

(<>) | sconcat

Methods

(<>) :: a -> a -> a infixr 6 #

An associative operation.

Examples

Expand
>>> [1,2,3] <> [4,5,6]
[1,2,3,4,5,6]
>>> Just [1, 2, 3] <> Just [4, 5, 6]
Just [1,2,3,4,5,6]
>>> putStr "Hello, " <> putStrLn "World!"
Hello, World!

sconcat :: NonEmpty a -> a #

Reduce a non-empty list with <>

The default definition should be sufficient, but this can be overridden for efficiency.

Examples

Expand

For the following examples, we will assume that we have:

>>> import Data.List.NonEmpty (NonEmpty (..))
>>> sconcat $ "Hello" :| [" ", "Haskell", "!"]
"Hello Haskell!"
>>> sconcat $ Just [1, 2, 3] :| [Nothing, Just [4, 5, 6]]
Just [1,2,3,4,5,6]
>>> sconcat $ Left 1 :| [Right 2, Left 3, Right 4]
Right 2

stimes :: Integral b => b -> a -> a #

Repeat a value n times.

The default definition will raise an exception for a multiplier that is <= 0. This may be overridden with an implementation that is total. For monoids it is preferred to use stimesMonoid.

By making this a member of the class, idempotent semigroups and monoids can upgrade this to execute in \(\mathcal{O}(1)\) by picking stimes = stimesIdempotent or stimes = stimesIdempotentMonoid respectively.

Examples

Expand
>>> stimes 4 [1]
[1,1,1,1]
>>> stimes 5 (putStr "hi!")
hi!hi!hi!hi!hi!
>>> stimes 3 (Right ":)")
Right ":)"

Instances

Instances details
Semigroup ByteArray

Since: base-4.17.0.0

Instance details

Defined in Data.Array.Byte

Semigroup All

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup.Internal

Methods

(<>) :: All -> All -> All #

sconcat :: NonEmpty All -> All #

stimes :: Integral b => b -> All -> All #

Semigroup Any

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup.Internal

Methods

(<>) :: Any -> Any -> Any #

sconcat :: NonEmpty Any -> Any #

stimes :: Integral b => b -> Any -> Any #

Semigroup Void

Since: base-4.9.0.0

Instance details

Defined in GHC.Base

Methods

(<>) :: Void -> Void -> Void #

sconcat :: NonEmpty Void -> Void #

stimes :: Integral b => b -> Void -> Void #

Semigroup Builder 
Instance details

Defined in Data.ByteString.Builder.Internal

Semigroup ByteString 
Instance details

Defined in Data.ByteString.Internal.Type

Semigroup ByteString 
Instance details

Defined in Data.ByteString.Lazy.Internal

Semigroup ShortByteString 
Instance details

Defined in Data.ByteString.Short.Internal

Semigroup IntSet

Since: containers-0.5.7

Instance details

Defined in Data.IntSet.Internal

Semigroup Unit 
Instance details

Defined in Control.DeepSeq

Methods

(<>) :: Unit -> Unit -> Unit #

sconcat :: NonEmpty Unit -> Unit #

stimes :: Integral b => b -> Unit -> Unit #

Semigroup OsString 
Instance details

Defined in System.OsString.Internal.Types.Hidden

Semigroup PosixString 
Instance details

Defined in System.OsString.Internal.Types.Hidden

Semigroup WindowsString 
Instance details

Defined in System.OsString.Internal.Types.Hidden

Semigroup Ordering

Since: base-4.9.0.0

Instance details

Defined in GHC.Base

Semigroup Slot 
Instance details

Defined in Data.HashTable.ST.Basic

Methods

(<>) :: Slot -> Slot -> Slot #

sconcat :: NonEmpty Slot -> Slot #

stimes :: Integral b => b -> Slot -> Slot #

Semigroup Cover 
Instance details

Defined in Hedgehog.Internal.Property

Methods

(<>) :: Cover -> Cover -> Cover #

sconcat :: NonEmpty Cover -> Cover #

stimes :: Integral b => b -> Cover -> Cover #

Semigroup CoverCount 
Instance details

Defined in Hedgehog.Internal.Property

Methods

(<>) :: CoverCount -> CoverCount -> CoverCount #

sconcat :: NonEmpty CoverCount -> CoverCount #

stimes :: Integral b => b -> CoverCount -> CoverCount #

Semigroup GroupName 
Instance details

Defined in Hedgehog.Internal.Property

Methods

(<>) :: GroupName -> GroupName -> GroupName #

sconcat :: NonEmpty GroupName -> GroupName #

stimes :: Integral b => b -> GroupName -> GroupName #

Semigroup Journal 
Instance details

Defined in Hedgehog.Internal.Property

Methods

(<>) :: Journal -> Journal -> Journal #

sconcat :: NonEmpty Journal -> Journal #

stimes :: Integral b => b -> Journal -> Journal #

Semigroup LabelName 
Instance details

Defined in Hedgehog.Internal.Property

Methods

(<>) :: LabelName -> LabelName -> LabelName #

sconcat :: NonEmpty LabelName -> LabelName #

stimes :: Integral b => b -> LabelName -> LabelName #

Semigroup PropertyName 
Instance details

Defined in Hedgehog.Internal.Property

Methods

(<>) :: PropertyName -> PropertyName -> PropertyName #

sconcat :: NonEmpty PropertyName -> PropertyName #

stimes :: Integral b => b -> PropertyName -> PropertyName #

Semigroup ColumnWidth 
Instance details

Defined in Hedgehog.Internal.Report

Methods

(<>) :: ColumnWidth -> ColumnWidth -> ColumnWidth #

sconcat :: NonEmpty ColumnWidth -> ColumnWidth #

stimes :: Integral b => b -> ColumnWidth -> ColumnWidth #

Semigroup Style 
Instance details

Defined in Hedgehog.Internal.Report

Methods

(<>) :: Style -> Style -> Style #

sconcat :: NonEmpty Style -> Style #

stimes :: Integral b => b -> Style -> Style #

Semigroup Summary 
Instance details

Defined in Hedgehog.Internal.Report

Methods

(<>) :: Summary -> Summary -> Summary #

sconcat :: NonEmpty Summary -> Summary #

stimes :: Integral b => b -> Summary -> Summary #

Semigroup Completer 
Instance details

Defined in Options.Applicative.Types

Methods

(<>) :: Completer -> Completer -> Completer #

sconcat :: NonEmpty Completer -> Completer #

stimes :: Integral b => b -> Completer -> Completer #

Semigroup ParseError 
Instance details

Defined in Options.Applicative.Types

Methods

(<>) :: ParseError -> ParseError -> ParseError #

sconcat :: NonEmpty ParseError -> ParseError #

stimes :: Integral b => b -> ParseError -> ParseError #

Semigroup OsString 
Instance details

Defined in System.OsString.Internal.Types

Methods

(<>) :: OsString -> OsString -> OsString #

sconcat :: NonEmpty OsString -> OsString #

stimes :: Integral b => b -> OsString -> OsString #

Semigroup PosixString 
Instance details

Defined in System.OsString.Internal.Types

Methods

(<>) :: PosixString -> PosixString -> PosixString #

sconcat :: NonEmpty PosixString -> PosixString #

stimes :: Integral b => b -> PosixString -> PosixString #

Semigroup WindowsString 
Instance details

Defined in System.OsString.Internal.Types

Methods

(<>) :: WindowsString -> WindowsString -> WindowsString #

sconcat :: NonEmpty WindowsString -> WindowsString #

stimes :: Integral b => b -> WindowsString -> WindowsString #

Semigroup Doc 
Instance details

Defined in Text.PrettyPrint.HughesPJ

Methods

(<>) :: Doc -> Doc -> Doc #

sconcat :: NonEmpty Doc -> Doc #

stimes :: Integral b => b -> Doc -> Doc #

Semigroup AnsiStyle 
Instance details

Defined in Prettyprinter.Render.Terminal.Internal

Methods

(<>) :: AnsiStyle -> AnsiStyle -> AnsiStyle #

sconcat :: NonEmpty AnsiStyle -> AnsiStyle #

stimes :: Integral b => b -> AnsiStyle -> AnsiStyle #

Semigroup Statistics 
Instance details

Defined in Test.Tasty.Ingredients.ConsoleReporter

Methods

(<>) :: Statistics -> Statistics -> Statistics #

sconcat :: NonEmpty Statistics -> Statistics #

stimes :: Integral b => b -> Statistics -> Statistics #

Semigroup TestOutput 
Instance details

Defined in Test.Tasty.Ingredients.ConsoleReporter

Methods

(<>) :: TestOutput -> TestOutput -> TestOutput #

sconcat :: NonEmpty TestOutput -> TestOutput #

stimes :: Integral b => b -> TestOutput -> TestOutput #

Semigroup OptionSet 
Instance details

Defined in Test.Tasty.Options

Methods

(<>) :: OptionSet -> OptionSet -> OptionSet #

sconcat :: NonEmpty OptionSet -> OptionSet #

stimes :: Integral b => b -> OptionSet -> OptionSet #

Semigroup Builder 
Instance details

Defined in Data.Text.Internal.Builder

Semigroup StrictBuilder

Concatenation of StrictBuilder is right-biased: the right builder will be run first. This allows a builder to run tail-recursively when it was accumulated left-to-right.

Instance details

Defined in Data.Text.Internal.StrictBuilder

Semigroup ()

Since: base-4.9.0.0

Instance details

Defined in GHC.Base

Methods

(<>) :: () -> () -> () #

sconcat :: NonEmpty () -> () #

stimes :: Integral b => b -> () -> () #

(Elt a, Elt b) => Semigroup (Exp (Either a b)) Source # 
Instance details

Defined in Data.Array.Accelerate.Data.Either

Methods

(<>) :: Exp (Either a b) -> Exp (Either a b) -> Exp (Either a b) #

sconcat :: NonEmpty (Exp (Either a b)) -> Exp (Either a b) #

stimes :: Integral b0 => b0 -> Exp (Either a b) -> Exp (Either a b) #

Ord a => Semigroup (Exp (Max a)) Source # 
Instance details

Defined in Data.Array.Accelerate.Data.Semigroup

Methods

(<>) :: Exp (Max a) -> Exp (Max a) -> Exp (Max a) #

sconcat :: NonEmpty (Exp (Max a)) -> Exp (Max a) #

stimes :: Integral b => b -> Exp (Max a) -> Exp (Max a) #

Ord a => Semigroup (Exp (Min a)) Source # 
Instance details

Defined in Data.Array.Accelerate.Data.Semigroup

Methods

(<>) :: Exp (Min a) -> Exp (Min a) -> Exp (Min a) #

sconcat :: NonEmpty (Exp (Min a)) -> Exp (Min a) #

stimes :: Integral b => b -> Exp (Min a) -> Exp (Min a) #

Num a => Semigroup (Exp (Product a)) Source #

Since: 1.2.0.0

Instance details

Defined in Data.Array.Accelerate.Data.Monoid

Methods

(<>) :: Exp (Product a) -> Exp (Product a) -> Exp (Product a) #

sconcat :: NonEmpty (Exp (Product a)) -> Exp (Product a) #

stimes :: Integral b => b -> Exp (Product a) -> Exp (Product a) #

Num a => Semigroup (Exp (Sum a)) Source #

Since: 1.2.0.0

Instance details

Defined in Data.Array.Accelerate.Data.Monoid

Methods

(<>) :: Exp (Sum a) -> Exp (Sum a) -> Exp (Sum a) #

sconcat :: NonEmpty (Exp (Sum a)) -> Exp (Sum a) #

stimes :: Integral b => b -> Exp (Sum a) -> Exp (Sum a) #

(Semigroup (Exp a), Elt a) => Semigroup (Exp (Maybe a)) Source # 
Instance details

Defined in Data.Array.Accelerate.Data.Maybe

Methods

(<>) :: Exp (Maybe a) -> Exp (Maybe a) -> Exp (Maybe a) #

sconcat :: NonEmpty (Exp (Maybe a)) -> Exp (Maybe a) #

stimes :: Integral b => b -> Exp (Maybe a) -> Exp (Maybe a) #

(Elt a, Elt b, Semigroup (Exp a), Semigroup (Exp b)) => Semigroup (Exp (a, b)) Source # 
Instance details

Defined in Data.Array.Accelerate.Data.Semigroup

Methods

(<>) :: Exp (a, b) -> Exp (a, b) -> Exp (a, b) #

sconcat :: NonEmpty (Exp (a, b)) -> Exp (a, b) #

stimes :: Integral b0 => b0 -> Exp (a, b) -> Exp (a, b) #

(Elt a, Elt b, Elt c, Semigroup (Exp a), Semigroup (Exp b), Semigroup (Exp c)) => Semigroup (Exp (a, b, c)) Source # 
Instance details

Defined in Data.Array.Accelerate.Data.Semigroup

Methods

(<>) :: Exp (a, b, c) -> Exp (a, b, c) -> Exp (a, b, c) #

sconcat :: NonEmpty (Exp (a, b, c)) -> Exp (a, b, c) #

stimes :: Integral b0 => b0 -> Exp (a, b, c) -> Exp (a, b, c) #

(Elt a, Elt b, Elt c, Elt d, Semigroup (Exp a), Semigroup (Exp b), Semigroup (Exp c), Semigroup (Exp d)) => Semigroup (Exp (a, b, c, d)) Source # 
Instance details

Defined in Data.Array.Accelerate.Data.Semigroup

Methods

(<>) :: Exp (a, b, c, d) -> Exp (a, b, c, d) -> Exp (a, b, c, d) #

sconcat :: NonEmpty (Exp (a, b, c, d)) -> Exp (a, b, c, d) #

stimes :: Integral b0 => b0 -> Exp (a, b, c, d) -> Exp (a, b, c, d) #

(Elt a, Elt b, Elt c, Elt d, Elt e, Semigroup (Exp a), Semigroup (Exp b), Semigroup (Exp c), Semigroup (Exp d), Semigroup (Exp e)) => Semigroup (Exp (a, b, c, d, e)) Source # 
Instance details

Defined in Data.Array.Accelerate.Data.Semigroup

Methods

(<>) :: Exp (a, b, c, d, e) -> Exp (a, b, c, d, e) -> Exp (a, b, c, d, e) #

sconcat :: NonEmpty (Exp (a, b, c, d, e)) -> Exp (a, b, c, d, e) #

stimes :: Integral b0 => b0 -> Exp (a, b, c, d, e) -> Exp (a, b, c, d, e) #

Semigroup (Exp ()) Source # 
Instance details

Defined in Data.Array.Accelerate.Data.Semigroup

Methods

(<>) :: Exp () -> Exp () -> Exp () #

sconcat :: NonEmpty (Exp ()) -> Exp () #

stimes :: Integral b => b -> Exp () -> Exp () #

Bits a => Semigroup (And a)

Since: base-4.16

Instance details

Defined in Data.Bits

Methods

(<>) :: And a -> And a -> And a #

sconcat :: NonEmpty (And a) -> And a #

stimes :: Integral b => b -> And a -> And a #

FiniteBits a => Semigroup (Iff a)

This constraint is arguably too strong. However, as some types (such as Natural) have undefined complement, this is the only safe choice.

Since: base-4.16

Instance details

Defined in Data.Bits

Methods

(<>) :: Iff a -> Iff a -> Iff a #

sconcat :: NonEmpty (Iff a) -> Iff a #

stimes :: Integral b => b -> Iff a -> Iff a #

Bits a => Semigroup (Ior a)

Since: base-4.16

Instance details

Defined in Data.Bits

Methods

(<>) :: Ior a -> Ior a -> Ior a #

sconcat :: NonEmpty (Ior a) -> Ior a #

stimes :: Integral b => b -> Ior a -> Ior a #

Bits a => Semigroup (Xor a)

Since: base-4.16

Instance details

Defined in Data.Bits

Methods

(<>) :: Xor a -> Xor a -> Xor a #

sconcat :: NonEmpty (Xor a) -> Xor a #

stimes :: Integral b => b -> Xor a -> Xor a #

Semigroup (FromMaybe b) 
Instance details

Defined in Data.Foldable1

Methods

(<>) :: FromMaybe b -> FromMaybe b -> FromMaybe b #

sconcat :: NonEmpty (FromMaybe b) -> FromMaybe b #

stimes :: Integral b0 => b0 -> FromMaybe b -> FromMaybe b #

Semigroup a => Semigroup (JoinWith a) 
Instance details

Defined in Data.Foldable1

Methods

(<>) :: JoinWith a -> JoinWith a -> JoinWith a #

sconcat :: NonEmpty (JoinWith a) -> JoinWith a #

stimes :: Integral b => b -> JoinWith a -> JoinWith a #

Semigroup (NonEmptyDList a) 
Instance details

Defined in Data.Foldable1

Methods

(<>) :: NonEmptyDList a -> NonEmptyDList a -> NonEmptyDList a #

sconcat :: NonEmpty (NonEmptyDList a) -> NonEmptyDList a #

stimes :: Integral b => b -> NonEmptyDList a -> NonEmptyDList a #

Semigroup (Comparison a)

(<>) on comparisons combines results with (<>) @Ordering. Without newtypes this equals liftA2 (liftA2 (<>)).

(<>) :: Comparison a -> Comparison a -> Comparison a
Comparison cmp <> Comparison cmp' = Comparison a a' ->
  cmp a a' <> cmp a a'
Instance details

Defined in Data.Functor.Contravariant

Semigroup (Equivalence a)

(<>) on equivalences uses logical conjunction (&&) on the results. Without newtypes this equals liftA2 (liftA2 (&&)).

(<>) :: Equivalence a -> Equivalence a -> Equivalence a
Equivalence equiv <> Equivalence equiv' = Equivalence a b ->
  equiv a b && equiv' a b
Instance details

Defined in Data.Functor.Contravariant

Semigroup (Predicate a)

(<>) on predicates uses logical conjunction (&&) on the results. Without newtypes this equals liftA2 (&&).

(<>) :: Predicate a -> Predicate a -> Predicate a
Predicate pred <> Predicate pred' = Predicate a ->
  pred a && pred' a
Instance details

Defined in Data.Functor.Contravariant

Methods

(<>) :: Predicate a -> Predicate a -> Predicate a #

sconcat :: NonEmpty (Predicate a) -> Predicate a #

stimes :: Integral b => b -> Predicate a -> Predicate a #

Semigroup a => Semigroup (Identity a)

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Identity

Methods

(<>) :: Identity a -> Identity a -> Identity a #

sconcat :: NonEmpty (Identity a) -> Identity a #

stimes :: Integral b => b -> Identity a -> Identity a #

Semigroup (First a)

Since: base-4.9.0.0

Instance details

Defined in Data.Monoid

Methods

(<>) :: First a -> First a -> First a #

sconcat :: NonEmpty (First a) -> First a #

stimes :: Integral b => b -> First a -> First a #

Semigroup (Last a)

Since: base-4.9.0.0

Instance details

Defined in Data.Monoid

Methods

(<>) :: Last a -> Last a -> Last a #

sconcat :: NonEmpty (Last a) -> Last a #

stimes :: Integral b => b -> Last a -> Last a #

Semigroup a => Semigroup (Down a)

Since: base-4.11.0.0

Instance details

Defined in Data.Ord

Methods

(<>) :: Down a -> Down a -> Down a #

sconcat :: NonEmpty (Down a) -> Down a #

stimes :: Integral b => b -> Down a -> Down a #

Semigroup (First a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

(<>) :: First a -> First a -> First a #

sconcat :: NonEmpty (First a) -> First a #

stimes :: Integral b => b -> First a -> First a #

Semigroup (Last a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

(<>) :: Last a -> Last a -> Last a #

sconcat :: NonEmpty (Last a) -> Last a #

stimes :: Integral b => b -> Last a -> Last a #

Ord a => Semigroup (Max a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

(<>) :: Max a -> Max a -> Max a #

sconcat :: NonEmpty (Max a) -> Max a #

stimes :: Integral b => b -> Max a -> Max a #

Ord a => Semigroup (Min a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

(<>) :: Min a -> Min a -> Min a #

sconcat :: NonEmpty (Min a) -> Min a #

stimes :: Integral b => b -> Min a -> Min a #

Monoid m => Semigroup (WrappedMonoid m)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Semigroup a => Semigroup (Dual a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup.Internal

Methods

(<>) :: Dual a -> Dual a -> Dual a #

sconcat :: NonEmpty (Dual a) -> Dual a #

stimes :: Integral b => b -> Dual a -> Dual a #

Semigroup (Endo a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup.Internal

Methods

(<>) :: Endo a -> Endo a -> Endo a #

sconcat :: NonEmpty (Endo a) -> Endo a #

stimes :: Integral b => b -> Endo a -> Endo a #

Num a => Semigroup (Product a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup.Internal

Methods

(<>) :: Product a -> Product a -> Product a #

sconcat :: NonEmpty (Product a) -> Product a #

stimes :: Integral b => b -> Product a -> Product a #

Num a => Semigroup (Sum a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup.Internal

Methods

(<>) :: Sum a -> Sum a -> Sum a #

sconcat :: NonEmpty (Sum a) -> Sum a #

stimes :: Integral b => b -> Sum a -> Sum a #

Semigroup (NonEmpty a)

Since: base-4.9.0.0

Instance details

Defined in GHC.Base

Methods

(<>) :: NonEmpty a -> NonEmpty a -> NonEmpty a #

sconcat :: NonEmpty (NonEmpty a) -> NonEmpty a #

stimes :: Integral b => b -> NonEmpty a -> NonEmpty a #

Semigroup a => Semigroup (STM a)

Since: base-4.17.0.0

Instance details

Defined in GHC.Conc.Sync

Methods

(<>) :: STM a -> STM a -> STM a #

sconcat :: NonEmpty (STM a) -> STM a #

stimes :: Integral b => b -> STM a -> STM a #

(Generic a, Semigroup (Rep a ())) => Semigroup (Generically a)

Since: base-4.17.0.0

Instance details

Defined in GHC.Generics

Semigroup p => Semigroup (Par1 p)

Since: base-4.12.0.0

Instance details

Defined in GHC.Generics

Methods

(<>) :: Par1 p -> Par1 p -> Par1 p #

sconcat :: NonEmpty (Par1 p) -> Par1 p #

stimes :: Integral b => b -> Par1 p -> Par1 p #

Semigroup (IntMap a)

Since: containers-0.5.7

Instance details

Defined in Data.IntMap.Internal

Methods

(<>) :: IntMap a -> IntMap a -> IntMap a #

sconcat :: NonEmpty (IntMap a) -> IntMap a #

stimes :: Integral b => b -> IntMap a -> IntMap a #

Semigroup (Seq a)

Since: containers-0.5.7

Instance details

Defined in Data.Sequence.Internal

Methods

(<>) :: Seq a -> Seq a -> Seq a #

sconcat :: NonEmpty (Seq a) -> Seq a #

stimes :: Integral b => b -> Seq a -> Seq a #

Ord a => Semigroup (Intersection a) 
Instance details

Defined in Data.Set.Internal

Semigroup (MergeSet a) 
Instance details

Defined in Data.Set.Internal

Methods

(<>) :: MergeSet a -> MergeSet a -> MergeSet a #

sconcat :: NonEmpty (MergeSet a) -> MergeSet a #

stimes :: Integral b => b -> MergeSet a -> MergeSet a #

Ord a => Semigroup (Set a)

Since: containers-0.5.7

Instance details

Defined in Data.Set.Internal

Methods

(<>) :: Set a -> Set a -> Set a #

sconcat :: NonEmpty (Set a) -> Set a #

stimes :: Integral b => b -> Set a -> Set a #

Semigroup a => Semigroup (IO a)

Since: base-4.10.0.0

Instance details

Defined in GHC.Base

Methods

(<>) :: IO a -> IO a -> IO a #

sconcat :: NonEmpty (IO a) -> IO a #

stimes :: Integral b => b -> IO a -> IO a #

Semigroup a => Semigroup (Pos a) 
Instance details

Defined in Hedgehog.Internal.Discovery

Methods

(<>) :: Pos a -> Pos a -> Pos a #

sconcat :: NonEmpty (Pos a) -> Pos a #

stimes :: Integral b => b -> Pos a -> Pos a #

Semigroup a => Semigroup (Coverage a) 
Instance details

Defined in Hedgehog.Internal.Property

Methods

(<>) :: Coverage a -> Coverage a -> Coverage a #

sconcat :: NonEmpty (Coverage a) -> Coverage a #

stimes :: Integral b => b -> Coverage a -> Coverage a #

Semigroup a => Semigroup (Label a) 
Instance details

Defined in Hedgehog.Internal.Property

Methods

(<>) :: Label a -> Label a -> Label a #

sconcat :: NonEmpty (Label a) -> Label a #

stimes :: Integral b => b -> Label a -> Label a #

Semigroup (Doc a) 
Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJ

Methods

(<>) :: Doc a -> Doc a -> Doc a #

sconcat :: NonEmpty (Doc a) -> Doc a #

stimes :: Integral b => b -> Doc a -> Doc a #

Semigroup (Doc ann) 
Instance details

Defined in Prettyprinter.Internal

Methods

(<>) :: Doc ann -> Doc ann -> Doc ann #

sconcat :: NonEmpty (Doc ann) -> Doc ann #

stimes :: Integral b => b -> Doc ann -> Doc ann #

Semigroup (Array a) 
Instance details

Defined in Data.Primitive.Array

Methods

(<>) :: Array a -> Array a -> Array a #

sconcat :: NonEmpty (Array a) -> Array a #

stimes :: Integral b => b -> Array a -> Array a #

Semigroup (PrimArray a) 
Instance details

Defined in Data.Primitive.PrimArray

Methods

(<>) :: PrimArray a -> PrimArray a -> PrimArray a #

sconcat :: NonEmpty (PrimArray a) -> PrimArray a #

stimes :: Integral b => b -> PrimArray a -> PrimArray a #

Semigroup (SmallArray a) 
Instance details

Defined in Data.Primitive.SmallArray

Methods

(<>) :: SmallArray a -> SmallArray a -> SmallArray a #

sconcat :: NonEmpty (SmallArray a) -> SmallArray a #

stimes :: Integral b => b -> SmallArray a -> SmallArray a #

Semigroup a => Semigroup (Q a)

Since: template-haskell-2.17.0.0

Instance details

Defined in Language.Haskell.TH.Syntax

Methods

(<>) :: Q a -> Q a -> Q a #

sconcat :: NonEmpty (Q a) -> Q a #

stimes :: Integral b => b -> Q a -> Q a #

Semigroup (Validity k) 
Instance details

Defined in Data.HashMap.Internal.Debug

Methods

(<>) :: Validity k -> Validity k -> Validity k #

sconcat :: NonEmpty (Validity k) -> Validity k #

stimes :: Integral b => b -> Validity k -> Validity k #

Hashable a => Semigroup (HashSet a) 
Instance details

Defined in Data.HashSet.Internal

Methods

(<>) :: HashSet a -> HashSet a -> HashSet a #

sconcat :: NonEmpty (HashSet a) -> HashSet a #

stimes :: Integral b => b -> HashSet a -> HashSet a #

Semigroup (Vector a) 
Instance details

Defined in Data.Vector

Methods

(<>) :: Vector a -> Vector a -> Vector a #

sconcat :: NonEmpty (Vector a) -> Vector a #

stimes :: Integral b => b -> Vector a -> Vector a #

Prim a => Semigroup (Vector a) 
Instance details

Defined in Data.Vector.Primitive

Methods

(<>) :: Vector a -> Vector a -> Vector a #

sconcat :: NonEmpty (Vector a) -> Vector a #

stimes :: Integral b => b -> Vector a -> Vector a #

Storable a => Semigroup (Vector a) 
Instance details

Defined in Data.Vector.Storable

Methods

(<>) :: Vector a -> Vector a -> Vector a #

sconcat :: NonEmpty (Vector a) -> Vector a #

stimes :: Integral b => b -> Vector a -> Vector a #

Semigroup (Vector a) 
Instance details

Defined in Data.Vector.Strict

Methods

(<>) :: Vector a -> Vector a -> Vector a #

sconcat :: NonEmpty (Vector a) -> Vector a #

stimes :: Integral b => b -> Vector a -> Vector a #

Semigroup (Doc a) 
Instance details

Defined in Text.PrettyPrint.Annotated.WL

Methods

(<>) :: Doc a -> Doc a -> Doc a #

sconcat :: NonEmpty (Doc a) -> Doc a #

stimes :: Integral b => b -> Doc a -> Doc a #

Semigroup a => Semigroup (Maybe a)

Since: base-4.9.0.0

Instance details

Defined in GHC.Base

Methods

(<>) :: Maybe a -> Maybe a -> Maybe a #

sconcat :: NonEmpty (Maybe a) -> Maybe a #

stimes :: Integral b => b -> Maybe a -> Maybe a #

Semigroup a => Semigroup (Solo a)

Since: base-4.15

Instance details

Defined in GHC.Base

Methods

(<>) :: Solo a -> Solo a -> Solo a #

sconcat :: NonEmpty (Solo a) -> Solo a #

stimes :: Integral b => b -> Solo a -> Solo a #

Semigroup [a]

Since: base-4.9.0.0

Instance details

Defined in GHC.Base

Methods

(<>) :: [a] -> [a] -> [a] #

sconcat :: NonEmpty [a] -> [a] #

stimes :: Integral b => b -> [a] -> [a] #

Semigroup (Either a b)

Since: base-4.9.0.0

Instance details

Defined in Data.Either

Methods

(<>) :: Either a b -> Either a b -> Either a b #

sconcat :: NonEmpty (Either a b) -> Either a b #

stimes :: Integral b0 => b0 -> Either a b -> Either a b #

Semigroup a => Semigroup (Op a b)

(<>) @(Op a b) without newtypes is (<>) @(b->a) = liftA2 (<>). This lifts the Semigroup operation (<>) over the output of a.

(<>) :: Op a b -> Op a b -> Op a b
Op f <> Op g = Op a -> f a <> g a
Instance details

Defined in Data.Functor.Contravariant

Methods

(<>) :: Op a b -> Op a b -> Op a b #

sconcat :: NonEmpty (Op a b) -> Op a b #

stimes :: Integral b0 => b0 -> Op a b -> Op a b #

Semigroup (Proxy s)

Since: base-4.9.0.0

Instance details

Defined in Data.Proxy

Methods

(<>) :: Proxy s -> Proxy s -> Proxy s #

sconcat :: NonEmpty (Proxy s) -> Proxy s #

stimes :: Integral b => b -> Proxy s -> Proxy s #

Semigroup (U1 p)

Since: base-4.12.0.0

Instance details

Defined in GHC.Generics

Methods

(<>) :: U1 p -> U1 p -> U1 p #

sconcat :: NonEmpty (U1 p) -> U1 p #

stimes :: Integral b => b -> U1 p -> U1 p #

Semigroup (V1 p)

Since: base-4.12.0.0

Instance details

Defined in GHC.Generics

Methods

(<>) :: V1 p -> V1 p -> V1 p #

sconcat :: NonEmpty (V1 p) -> V1 p #

stimes :: Integral b => b -> V1 p -> V1 p #

Semigroup a => Semigroup (ST s a)

Since: base-4.11.0.0

Instance details

Defined in GHC.ST

Methods

(<>) :: ST s a -> ST s a -> ST s a #

sconcat :: NonEmpty (ST s a) -> ST s a #

stimes :: Integral b => b -> ST s a -> ST s a #

Ord k => Semigroup (Map k v) 
Instance details

Defined in Data.Map.Internal

Methods

(<>) :: Map k v -> Map k v -> Map k v #

sconcat :: NonEmpty (Map k v) -> Map k v #

stimes :: Integral b => b -> Map k v -> Map k v #

Semigroup (Format r (a -> r)) 
Instance details

Defined in Formatting.Internal

Methods

(<>) :: Format r (a -> r) -> Format r (a -> r) -> Format r (a -> r) #

sconcat :: NonEmpty (Format r (a -> r)) -> Format r (a -> r) #

stimes :: Integral b => b -> Format r (a -> r) -> Format r (a -> r) #

(Monad m, Semigroup a) => Semigroup (GenT m a) 
Instance details

Defined in Hedgehog.Internal.Gen

Methods

(<>) :: GenT m a -> GenT m a -> GenT m a #

sconcat :: NonEmpty (GenT m a) -> GenT m a #

stimes :: Integral b => b -> GenT m a -> GenT m a #

Applicative f => Semigroup (Traversed a f) 
Instance details

Defined in Lens.Micro

Methods

(<>) :: Traversed a f -> Traversed a f -> Traversed a f #

sconcat :: NonEmpty (Traversed a f) -> Traversed a f #

stimes :: Integral b => b -> Traversed a f -> Traversed a f #

Hashable k => Semigroup (HashMap k v) 
Instance details

Defined in Data.HashMap.Internal

Methods

(<>) :: HashMap k v -> HashMap k v -> HashMap k v #

sconcat :: NonEmpty (HashMap k v) -> HashMap k v #

stimes :: Integral b => b -> HashMap k v -> HashMap k v #

(Semigroup a, Semigroup b) => Semigroup (a, b)

Since: base-4.9.0.0

Instance details

Defined in GHC.Base

Methods

(<>) :: (a, b) -> (a, b) -> (a, b) #

sconcat :: NonEmpty (a, b) -> (a, b) #

stimes :: Integral b0 => b0 -> (a, b) -> (a, b) #

Semigroup b => Semigroup (a -> b)

Since: base-4.9.0.0

Instance details

Defined in GHC.Base

Methods

(<>) :: (a -> b) -> (a -> b) -> a -> b #

sconcat :: NonEmpty (a -> b) -> a -> b #

stimes :: Integral b0 => b0 -> (a -> b) -> a -> b #

Semigroup a => Semigroup (Const a b)

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Const

Methods

(<>) :: Const a b -> Const a b -> Const a b #

sconcat :: NonEmpty (Const a b) -> Const a b #

stimes :: Integral b0 => b0 -> Const a b -> Const a b #

(Applicative f, Semigroup a) => Semigroup (Ap f a)

Since: base-4.12.0.0

Instance details

Defined in Data.Monoid

Methods

(<>) :: Ap f a -> Ap f a -> Ap f a #

sconcat :: NonEmpty (Ap f a) -> Ap f a #

stimes :: Integral b => b -> Ap f a -> Ap f a #

Alternative f => Semigroup (Alt f a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup.Internal

Methods

(<>) :: Alt f a -> Alt f a -> Alt f a #

sconcat :: NonEmpty (Alt f a) -> Alt f a #

stimes :: Integral b => b -> Alt f a -> Alt f a #

Semigroup (f p) => Semigroup (Rec1 f p)

Since: base-4.12.0.0

Instance details

Defined in GHC.Generics

Methods

(<>) :: Rec1 f p -> Rec1 f p -> Rec1 f p #

sconcat :: NonEmpty (Rec1 f p) -> Rec1 f p #

stimes :: Integral b => b -> Rec1 f p -> Rec1 f p #

Semigroup a => Semigroup (Tagged s a) 
Instance details

Defined in Data.Tagged

Methods

(<>) :: Tagged s a -> Tagged s a -> Tagged s a #

sconcat :: NonEmpty (Tagged s a) -> Tagged s a #

stimes :: Integral b => b -> Tagged s a -> Tagged s a #

Semigroup a => Semigroup (Constant a b) 
Instance details

Defined in Data.Functor.Constant

Methods

(<>) :: Constant a b -> Constant a b -> Constant a b #

sconcat :: NonEmpty (Constant a b) -> Constant a b #

stimes :: Integral b0 => b0 -> Constant a b -> Constant a b #

(Semigroup a, Semigroup b, Semigroup c) => Semigroup (a, b, c)

Since: base-4.9.0.0

Instance details

Defined in GHC.Base

Methods

(<>) :: (a, b, c) -> (a, b, c) -> (a, b, c) #

sconcat :: NonEmpty (a, b, c) -> (a, b, c) #

stimes :: Integral b0 => b0 -> (a, b, c) -> (a, b, c) #

(Semigroup (f a), Semigroup (g a)) => Semigroup (Product f g a)

Since: base-4.16.0.0

Instance details

Defined in Data.Functor.Product

Methods

(<>) :: Product f g a -> Product f g a -> Product f g a #

sconcat :: NonEmpty (Product f g a) -> Product f g a #

stimes :: Integral b => b -> Product f g a -> Product f g a #

(Semigroup (f p), Semigroup (g p)) => Semigroup ((f :*: g) p)

Since: base-4.12.0.0

Instance details

Defined in GHC.Generics

Methods

(<>) :: (f :*: g) p -> (f :*: g) p -> (f :*: g) p #

sconcat :: NonEmpty ((f :*: g) p) -> (f :*: g) p #

stimes :: Integral b => b -> (f :*: g) p -> (f :*: g) p #

Semigroup c => Semigroup (K1 i c p)

Since: base-4.12.0.0

Instance details

Defined in GHC.Generics

Methods

(<>) :: K1 i c p -> K1 i c p -> K1 i c p #

sconcat :: NonEmpty (K1 i c p) -> K1 i c p #

stimes :: Integral b => b -> K1 i c p -> K1 i c p #

(Semigroup a, Semigroup b, Semigroup c, Semigroup d) => Semigroup (a, b, c, d)

Since: base-4.9.0.0

Instance details

Defined in GHC.Base

Methods

(<>) :: (a, b, c, d) -> (a, b, c, d) -> (a, b, c, d) #

sconcat :: NonEmpty (a, b, c, d) -> (a, b, c, d) #

stimes :: Integral b0 => b0 -> (a, b, c, d) -> (a, b, c, d) #

Semigroup (f (g a)) => Semigroup (Compose f g a)

Since: base-4.16.0.0

Instance details

Defined in Data.Functor.Compose

Methods

(<>) :: Compose f g a -> Compose f g a -> Compose f g a #

sconcat :: NonEmpty (Compose f g a) -> Compose f g a #

stimes :: Integral b => b -> Compose f g a -> Compose f g a #

Semigroup (f (g p)) => Semigroup ((f :.: g) p)

Since: base-4.12.0.0

Instance details

Defined in GHC.Generics

Methods

(<>) :: (f :.: g) p -> (f :.: g) p -> (f :.: g) p #

sconcat :: NonEmpty ((f :.: g) p) -> (f :.: g) p #

stimes :: Integral b => b -> (f :.: g) p -> (f :.: g) p #

Semigroup (f p) => Semigroup (M1 i c f p)

Since: base-4.12.0.0

Instance details

Defined in GHC.Generics

Methods

(<>) :: M1 i c f p -> M1 i c f p -> M1 i c f p #

sconcat :: NonEmpty (M1 i c f p) -> M1 i c f p #

stimes :: Integral b => b -> M1 i c f p -> M1 i c f p #

(Semigroup a, Semigroup b, Semigroup c, Semigroup d, Semigroup e) => Semigroup (a, b, c, d, e)

Since: base-4.9.0.0

Instance details

Defined in GHC.Base

Methods

(<>) :: (a, b, c, d, e) -> (a, b, c, d, e) -> (a, b, c, d, e) #

sconcat :: NonEmpty (a, b, c, d, e) -> (a, b, c, d, e) #

stimes :: Integral b0 => b0 -> (a, b, c, d, e) -> (a, b, c, d, e) #

newtype Min a #

The Min Monoid and Semigroup always choose the smaller element as by the Ord instance and min of the contained type.

Examples

Expand
>>> Min 42 <> Min 3
Min 3
>>> sconcat $ Min 1 :| [ Min n | n <- [2 .. 100]]
Min {getMin = 1}

Constructors

Min 

Fields

Instances

Instances details
Functor Min Source # 
Instance details

Defined in Data.Array.Accelerate.Data.Functor

Methods

fmap :: (Elt a, Elt b, Elt (Min a), Elt (Min b)) => (Exp a -> Exp b) -> Exp (Min a) -> Exp (Min b) Source #

(<$) :: (Elt a, Elt b, Elt (Min a), Elt (Min b)) => Exp a -> Exp (Min b) -> Exp (Min a) Source #

MonadFix Min

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

mfix :: (a -> Min a) -> Min a #

Foldable Min

Since: base-4.9.0.0

Instance details

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 #

toList :: Min a -> [a] #

null :: Min a -> Bool #

length :: Min a -> Int #

elem :: Eq a => a -> Min a -> Bool #

maximum :: Ord a => Min a -> a #

minimum :: Ord a => Min a -> a #

sum :: Num a => Min a -> a #

product :: Num a => Min a -> a #

Foldable1 Min

Since: base-4.18.0.0

Instance details

Defined in Data.Foldable1

Methods

fold1 :: Semigroup m => Min m -> m #

foldMap1 :: Semigroup m => (a -> m) -> Min a -> m #

foldMap1' :: Semigroup m => (a -> m) -> Min a -> m #

toNonEmpty :: Min a -> NonEmpty a #

maximum :: Ord a => Min a -> a #

minimum :: Ord a => Min a -> a #

head :: Min a -> a #

last :: Min a -> a #

foldrMap1 :: (a -> b) -> (a -> b -> b) -> Min a -> b #

foldlMap1' :: (a -> b) -> (b -> a -> b) -> Min a -> b #

foldlMap1 :: (a -> b) -> (b -> a -> b) -> Min a -> b #

foldrMap1' :: (a -> b) -> (a -> b -> b) -> Min a -> b #

Traversable Min

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

traverse :: Applicative f => (a -> f b) -> Min a -> f (Min b) #

sequenceA :: Applicative f => Min (f a) -> f (Min a) #

mapM :: Monad m => (a -> m b) -> Min a -> m (Min b) #

sequence :: Monad m => Min (m a) -> m (Min a) #

Applicative Min

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

pure :: a -> Min a #

(<*>) :: Min (a -> b) -> Min a -> Min b #

liftA2 :: (a -> b -> c) -> Min a -> Min b -> Min c #

(*>) :: Min a -> Min b -> Min b #

(<*) :: Min a -> Min b -> Min a #

Functor Min

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

fmap :: (a -> b) -> Min a -> Min b #

(<$) :: a -> Min b -> Min a #

Monad Min

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

(>>=) :: Min a -> (a -> Min b) -> Min b #

(>>) :: Min a -> Min b -> Min b #

return :: a -> Min a #

NFData1 Min

Since: deepseq-1.4.3.0

Instance details

Defined in Control.DeepSeq

Methods

liftRnf :: (a -> ()) -> Min a -> () #

Generic1 Min 
Instance details

Defined in Data.Semigroup

Associated Types

type Rep1 Min

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

type Rep1 Min = D1 ('MetaData "Min" "Data.Semigroup" "base" 'True) (C1 ('MetaCons "Min" 'PrefixI 'True) (S1 ('MetaSel ('Just "getMin") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))

Methods

from1 :: Min a -> Rep1 Min a #

to1 :: Rep1 Min a -> Min a #

(Lift Exp a, Elt (Plain a)) => Lift Exp (Min a) Source # 
Instance details

Defined in Data.Array.Accelerate.Data.Semigroup

Associated Types

type Plain (Min a) 
Instance details

Defined in Data.Array.Accelerate.Data.Semigroup

type Plain (Min a) = Min (Plain a)

Methods

lift :: Min a -> Exp (Plain (Min a)) Source #

Elt a => Unlift Exp (Min (Exp a)) Source # 
Instance details

Defined in Data.Array.Accelerate.Data.Semigroup

Methods

unlift :: Exp (Plain (Min (Exp a))) -> Min (Exp a) Source #

Unbox a => Vector Vector (Min a) 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s (Min a) -> ST s (Vector (Min a))

basicUnsafeThaw :: Vector (Min a) -> ST s (Mutable Vector s (Min a))

basicLength :: Vector (Min a) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (Min a) -> Vector (Min a)

basicUnsafeIndexM :: Vector (Min a) -> Int -> Box (Min a)

basicUnsafeCopy :: Mutable Vector s (Min a) -> Vector (Min a) -> ST s ()

elemseq :: Vector (Min a) -> Min a -> b -> b

Unbox a => MVector MVector (Min a) 
Instance details

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 :: Int -> ST s (MVector s (Min a))

basicInitialize :: MVector s (Min a) -> ST s ()

basicUnsafeReplicate :: Int -> Min a -> ST s (MVector s (Min a))

basicUnsafeRead :: MVector s (Min a) -> Int -> ST s (Min a)

basicUnsafeWrite :: MVector s (Min a) -> Int -> Min a -> ST s ()

basicClear :: MVector s (Min a) -> ST s ()

basicSet :: MVector s (Min a) -> Min a -> ST s ()

basicUnsafeCopy :: MVector s (Min a) -> MVector s (Min a) -> ST s ()

basicUnsafeMove :: MVector s (Min a) -> MVector s (Min a) -> ST s ()

basicUnsafeGrow :: MVector s (Min a) -> Int -> ST s (MVector s (Min a))

Eq a => Eq (Min a) Source # 
Instance details

Defined in Data.Array.Accelerate.Data.Semigroup

Methods

(==) :: Exp (Min a) -> Exp (Min a) -> Exp Bool Source #

(/=) :: Exp (Min a) -> Exp (Min a) -> Exp Bool Source #

Ord a => Ord (Min a) Source # 
Instance details

Defined in Data.Array.Accelerate.Data.Semigroup

Methods

(<) :: Exp (Min a) -> Exp (Min a) -> Exp Bool Source #

(>) :: Exp (Min a) -> Exp (Min a) -> Exp Bool Source #

(<=) :: Exp (Min a) -> Exp (Min a) -> Exp Bool Source #

(>=) :: Exp (Min a) -> Exp (Min a) -> Exp Bool Source #

min :: Exp (Min a) -> Exp (Min a) -> Exp (Min a) Source #

max :: Exp (Min a) -> Exp (Min a) -> Exp (Min a) Source #

compare :: Exp (Min a) -> Exp (Min a) -> Exp Ordering Source #

Elt a => Elt (Min a) Source # 
Instance details

Defined in Data.Array.Accelerate.Data.Semigroup

Methods

eltR :: TypeR (EltR (Min a))

tagsR :: [TagR (EltR (Min a))]

fromElt :: Min a -> EltR (Min a)

toElt :: EltR (Min a) -> Min a

Data a => Data (Min a)

Since: base-4.9.0.0

Instance details

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) #

toConstr :: Min a -> Constr #

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) #

(Ord a, Bounded a) => Monoid (Exp (Min a)) Source # 
Instance details

Defined in Data.Array.Accelerate.Data.Semigroup

Methods

mempty :: Exp (Min a) #

mappend :: Exp (Min a) -> Exp (Min a) -> Exp (Min a) #

mconcat :: [Exp (Min a)] -> Exp (Min a) #

(Ord a, Bounded a) => Monoid (Min a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

mempty :: Min a #

mappend :: Min a -> Min a -> Min a #

mconcat :: [Min a] -> Min a #

Ord a => Semigroup (Exp (Min a)) Source # 
Instance details

Defined in Data.Array.Accelerate.Data.Semigroup

Methods

(<>) :: Exp (Min a) -> Exp (Min a) -> Exp (Min a) #

sconcat :: NonEmpty (Exp (Min a)) -> Exp (Min a) #

stimes :: Integral b => b -> Exp (Min a) -> Exp (Min a) #

Ord a => Semigroup (Min a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

(<>) :: Min a -> Min a -> Min a #

sconcat :: NonEmpty (Min a) -> Min a #

stimes :: Integral b => b -> Min a -> Min a #

Bounded a => Bounded (Exp (Min a)) Source # 
Instance details

Defined in Data.Array.Accelerate.Data.Semigroup

Methods

minBound :: Exp (Min a) #

maxBound :: Exp (Min a) #

Bounded a => Bounded (Min a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

minBound :: Min a #

maxBound :: Min a #

Enum a => Enum (Min a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

succ :: Min a -> Min a #

pred :: Min a -> Min a #

toEnum :: Int -> Min a #

fromEnum :: Min a -> Int #

enumFrom :: Min a -> [Min a] #

enumFromThen :: Min a -> Min a -> [Min a] #

enumFromTo :: Min a -> Min a -> [Min a] #

enumFromThenTo :: Min a -> Min a -> Min a -> [Min a] #

Generic (Min a) 
Instance details

Defined in Data.Semigroup

Associated Types

type Rep (Min a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

type Rep (Min a) = D1 ('MetaData "Min" "Data.Semigroup" "base" 'True) (C1 ('MetaCons "Min" 'PrefixI 'True) (S1 ('MetaSel ('Just "getMin") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

Methods

from :: Min a -> Rep (Min a) x #

to :: Rep (Min a) x -> Min a #

Num a => Num (Exp (Min a)) Source # 
Instance details

Defined in Data.Array.Accelerate.Data.Semigroup

Methods

(+) :: Exp (Min a) -> Exp (Min a) -> Exp (Min a) #

(-) :: Exp (Min a) -> Exp (Min a) -> Exp (Min a) #

(*) :: Exp (Min a) -> Exp (Min a) -> Exp (Min a) #

negate :: Exp (Min a) -> Exp (Min a) #

abs :: Exp (Min a) -> Exp (Min a) #

signum :: Exp (Min a) -> Exp (Min a) #

fromInteger :: Integer -> Exp (Min a) #

Num a => Num (Min a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

(+) :: Min a -> Min a -> Min a #

(-) :: Min a -> Min a -> Min a #

(*) :: Min a -> Min a -> Min a #

negate :: Min a -> Min a #

abs :: Min a -> Min a #

signum :: Min a -> Min a #

fromInteger :: Integer -> Min a #

Read a => Read (Min a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Show a => Show (Min a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

showsPrec :: Int -> Min a -> ShowS #

show :: Min a -> String #

showList :: [Min a] -> ShowS #

NFData a => NFData (Min a)

Since: deepseq-1.4.2.0

Instance details

Defined in Control.DeepSeq

Methods

rnf :: Min a -> () #

Eq a => Eq (Min a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

(==) :: Min a -> Min a -> Bool #

(/=) :: Min a -> Min a -> Bool #

Ord a => Ord (Min a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

compare :: Min a -> Min a -> Ordering #

(<) :: Min a -> Min a -> Bool #

(<=) :: Min a -> Min a -> Bool #

(>) :: Min a -> Min a -> Bool #

(>=) :: Min a -> Min a -> Bool #

max :: Min a -> Min a -> Min a #

min :: Min a -> Min a -> Min a #

Hashable a => Hashable (Min a) 
Instance details

Defined in Data.Hashable.Class

Methods

hashWithSalt :: Int -> Min a -> Int

hash :: Min a -> Int

Prim a => Prim (Min a) 
Instance details

Defined in Data.Primitive.Types

Unbox a => Unbox (Min a) 
Instance details

Defined in Data.Vector.Unboxed.Base

type Rep1 Min

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

type Rep1 Min = D1 ('MetaData "Min" "Data.Semigroup" "base" 'True) (C1 ('MetaCons "Min" 'PrefixI 'True) (S1 ('MetaSel ('Just "getMin") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))
newtype MVector s (Min a) 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype MVector s (Min a) = MV_Min (MVector s a)
type Plain (Min a) Source # 
Instance details

Defined in Data.Array.Accelerate.Data.Semigroup

type Plain (Min a) = Min (Plain a)
type Rep (Min a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

type Rep (Min a) = D1 ('MetaData "Min" "Data.Semigroup" "base" 'True) (C1 ('MetaCons "Min" 'PrefixI 'True) (S1 ('MetaSel ('Just "getMin") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))
newtype Vector (Min a) 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype Vector (Min a) = V_Min (Vector a)

pattern Min_ :: Elt a => Exp a -> Exp (Min a) Source #

newtype Max a #

The Max Monoid and Semigroup always choose the bigger element as by the Ord instance and max of the contained type.

Examples

Expand
>>> Max 42 <> Max 3
Max 42
>>> sconcat $ Max 1 :| [ Max n | n <- [2 .. 100]]
Max {getMax = 100}

Constructors

Max 

Fields

Instances

Instances details
Functor Max Source # 
Instance details

Defined in Data.Array.Accelerate.Data.Functor

Methods

fmap :: (Elt a, Elt b, Elt (Max a), Elt (Max b)) => (Exp a -> Exp b) -> Exp (Max a) -> Exp (Max b) Source #

(<$) :: (Elt a, Elt b, Elt (Max a), Elt (Max b)) => Exp a -> Exp (Max b) -> Exp (Max a) Source #

MonadFix Max

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

mfix :: (a -> Max a) -> Max a #

Foldable Max

Since: base-4.9.0.0

Instance details

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 #

toList :: Max a -> [a] #

null :: Max a -> Bool #

length :: Max a -> Int #

elem :: Eq a => a -> Max a -> Bool #

maximum :: Ord a => Max a -> a #

minimum :: Ord a => Max a -> a #

sum :: Num a => Max a -> a #

product :: Num a => Max a -> a #

Foldable1 Max

Since: base-4.18.0.0

Instance details

Defined in Data.Foldable1

Methods

fold1 :: Semigroup m => Max m -> m #

foldMap1 :: Semigroup m => (a -> m) -> Max a -> m #

foldMap1' :: Semigroup m => (a -> m) -> Max a -> m #

toNonEmpty :: Max a -> NonEmpty a #

maximum :: Ord a => Max a -> a #

minimum :: Ord a => Max a -> a #

head :: Max a -> a #

last :: Max a -> a #

foldrMap1 :: (a -> b) -> (a -> b -> b) -> Max a -> b #

foldlMap1' :: (a -> b) -> (b -> a -> b) -> Max a -> b #

foldlMap1 :: (a -> b) -> (b -> a -> b) -> Max a -> b #

foldrMap1' :: (a -> b) -> (a -> b -> b) -> Max a -> b #

Traversable Max

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

traverse :: Applicative f => (a -> f b) -> Max a -> f (Max b) #

sequenceA :: Applicative f => Max (f a) -> f (Max a) #

mapM :: Monad m => (a -> m b) -> Max a -> m (Max b) #

sequence :: Monad m => Max (m a) -> m (Max a) #

Applicative Max

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

pure :: a -> Max a #

(<*>) :: Max (a -> b) -> Max a -> Max b #

liftA2 :: (a -> b -> c) -> Max a -> Max b -> Max c #

(*>) :: Max a -> Max b -> Max b #

(<*) :: Max a -> Max b -> Max a #

Functor Max

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

fmap :: (a -> b) -> Max a -> Max b #

(<$) :: a -> Max b -> Max a #

Monad Max

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

(>>=) :: Max a -> (a -> Max b) -> Max b #

(>>) :: Max a -> Max b -> Max b #

return :: a -> Max a #

NFData1 Max

Since: deepseq-1.4.3.0

Instance details

Defined in Control.DeepSeq

Methods

liftRnf :: (a -> ()) -> Max a -> () #

Generic1 Max 
Instance details

Defined in Data.Semigroup

Associated Types

type Rep1 Max

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

type Rep1 Max = D1 ('MetaData "Max" "Data.Semigroup" "base" 'True) (C1 ('MetaCons "Max" 'PrefixI 'True) (S1 ('MetaSel ('Just "getMax") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))

Methods

from1 :: Max a -> Rep1 Max a #

to1 :: Rep1 Max a -> Max a #

(Lift Exp a, Elt (Plain a)) => Lift Exp (Max a) Source # 
Instance details

Defined in Data.Array.Accelerate.Data.Semigroup

Associated Types

type Plain (Max a) 
Instance details

Defined in Data.Array.Accelerate.Data.Semigroup

type Plain (Max a) = Max (Plain a)

Methods

lift :: Max a -> Exp (Plain (Max a)) Source #

Elt a => Unlift Exp (Max (Exp a)) Source # 
Instance details

Defined in Data.Array.Accelerate.Data.Semigroup

Methods

unlift :: Exp (Plain (Max (Exp a))) -> Max (Exp a) Source #

Unbox a => Vector Vector (Max a) 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s (Max a) -> ST s (Vector (Max a))

basicUnsafeThaw :: Vector (Max a) -> ST s (Mutable Vector s (Max a))

basicLength :: Vector (Max a) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (Max a) -> Vector (Max a)

basicUnsafeIndexM :: Vector (Max a) -> Int -> Box (Max a)

basicUnsafeCopy :: Mutable Vector s (Max a) -> Vector (Max a) -> ST s ()

elemseq :: Vector (Max a) -> Max a -> b -> b

Unbox a => MVector MVector (Max a) 
Instance details

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 :: Int -> ST s (MVector s (Max a))

basicInitialize :: MVector s (Max a) -> ST s ()

basicUnsafeReplicate :: Int -> Max a -> ST s (MVector s (Max a))

basicUnsafeRead :: MVector s (Max a) -> Int -> ST s (Max a)

basicUnsafeWrite :: MVector s (Max a) -> Int -> Max a -> ST s ()

basicClear :: MVector s (Max a) -> ST s ()

basicSet :: MVector s (Max a) -> Max a -> ST s ()

basicUnsafeCopy :: MVector s (Max a) -> MVector s (Max a) -> ST s ()

basicUnsafeMove :: MVector s (Max a) -> MVector s (Max a) -> ST s ()

basicUnsafeGrow :: MVector s (Max a) -> Int -> ST s (MVector s (Max a))

Eq a => Eq (Max a) Source # 
Instance details

Defined in Data.Array.Accelerate.Data.Semigroup

Methods

(==) :: Exp (Max a) -> Exp (Max a) -> Exp Bool Source #

(/=) :: Exp (Max a) -> Exp (Max a) -> Exp Bool Source #

Ord a => Ord (Max a) Source # 
Instance details

Defined in Data.Array.Accelerate.Data.Semigroup

Methods

(<) :: Exp (Max a) -> Exp (Max a) -> Exp Bool Source #

(>) :: Exp (Max a) -> Exp (Max a) -> Exp Bool Source #

(<=) :: Exp (Max a) -> Exp (Max a) -> Exp Bool Source #

(>=) :: Exp (Max a) -> Exp (Max a) -> Exp Bool Source #

min :: Exp (Max a) -> Exp (Max a) -> Exp (Max a) Source #

max :: Exp (Max a) -> Exp (Max a) -> Exp (Max a) Source #

compare :: Exp (Max a) -> Exp (Max a) -> Exp Ordering Source #

Elt a => Elt (Max a) Source # 
Instance details

Defined in Data.Array.Accelerate.Data.Semigroup

Methods

eltR :: TypeR (EltR (Max a))

tagsR :: [TagR (EltR (Max a))]

fromElt :: Max a -> EltR (Max a)

toElt :: EltR (Max a) -> Max a

Data a => Data (Max a)

Since: base-4.9.0.0

Instance details

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) #

toConstr :: Max a -> Constr #

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) #

(Ord a, Bounded a) => Monoid (Exp (Max a)) Source # 
Instance details

Defined in Data.Array.Accelerate.Data.Semigroup

Methods

mempty :: Exp (Max a) #

mappend :: Exp (Max a) -> Exp (Max a) -> Exp (Max a) #

mconcat :: [Exp (Max a)] -> Exp (Max a) #

(Ord a, Bounded a) => Monoid (Max a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

mempty :: Max a #

mappend :: Max a -> Max a -> Max a #

mconcat :: [Max a] -> Max a #

Ord a => Semigroup (Exp (Max a)) Source # 
Instance details

Defined in Data.Array.Accelerate.Data.Semigroup

Methods

(<>) :: Exp (Max a) -> Exp (Max a) -> Exp (Max a) #

sconcat :: NonEmpty (Exp (Max a)) -> Exp (Max a) #

stimes :: Integral b => b -> Exp (Max a) -> Exp (Max a) #

Ord a => Semigroup (Max a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

(<>) :: Max a -> Max a -> Max a #

sconcat :: NonEmpty (Max a) -> Max a #

stimes :: Integral b => b -> Max a -> Max a #

Bounded a => Bounded (Exp (Max a)) Source # 
Instance details

Defined in Data.Array.Accelerate.Data.Semigroup

Methods

minBound :: Exp (Max a) #

maxBound :: Exp (Max a) #

Bounded a => Bounded (Max a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

minBound :: Max a #

maxBound :: Max a #

Enum a => Enum (Max a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

succ :: Max a -> Max a #

pred :: Max a -> Max a #

toEnum :: Int -> Max a #

fromEnum :: Max a -> Int #

enumFrom :: Max a -> [Max a] #

enumFromThen :: Max a -> Max a -> [Max a] #

enumFromTo :: Max a -> Max a -> [Max a] #

enumFromThenTo :: Max a -> Max a -> Max a -> [Max a] #

Generic (Max a) 
Instance details

Defined in Data.Semigroup

Associated Types

type Rep (Max a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

type Rep (Max a) = D1 ('MetaData "Max" "Data.Semigroup" "base" 'True) (C1 ('MetaCons "Max" 'PrefixI 'True) (S1 ('MetaSel ('Just "getMax") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

Methods

from :: Max a -> Rep (Max a) x #

to :: Rep (Max a) x -> Max a #

Num a => Num (Exp (Max a)) Source # 
Instance details

Defined in Data.Array.Accelerate.Data.Semigroup

Methods

(+) :: Exp (Max a) -> Exp (Max a) -> Exp (Max a) #

(-) :: Exp (Max a) -> Exp (Max a) -> Exp (Max a) #

(*) :: Exp (Max a) -> Exp (Max a) -> Exp (Max a) #

negate :: Exp (Max a) -> Exp (Max a) #

abs :: Exp (Max a) -> Exp (Max a) #

signum :: Exp (Max a) -> Exp (Max a) #

fromInteger :: Integer -> Exp (Max a) #

Num a => Num (Max a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

(+) :: Max a -> Max a -> Max a #

(-) :: Max a -> Max a -> Max a #

(*) :: Max a -> Max a -> Max a #

negate :: Max a -> Max a #

abs :: Max a -> Max a #

signum :: Max a -> Max a #

fromInteger :: Integer -> Max a #

Read a => Read (Max a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Show a => Show (Max a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

showsPrec :: Int -> Max a -> ShowS #

show :: Max a -> String #

showList :: [Max a] -> ShowS #

NFData a => NFData (Max a)

Since: deepseq-1.4.2.0

Instance details

Defined in Control.DeepSeq

Methods

rnf :: Max a -> () #

Eq a => Eq (Max a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

(==) :: Max a -> Max a -> Bool #

(/=) :: Max a -> Max a -> Bool #

Ord a => Ord (Max a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

compare :: Max a -> Max a -> Ordering #

(<) :: Max a -> Max a -> Bool #

(<=) :: Max a -> Max a -> Bool #

(>) :: Max a -> Max a -> Bool #

(>=) :: Max a -> Max a -> Bool #

max :: Max a -> Max a -> Max a #

min :: Max a -> Max a -> Max a #

Hashable a => Hashable (Max a) 
Instance details

Defined in Data.Hashable.Class

Methods

hashWithSalt :: Int -> Max a -> Int

hash :: Max a -> Int

Prim a => Prim (Max a) 
Instance details

Defined in Data.Primitive.Types

Unbox a => Unbox (Max a) 
Instance details

Defined in Data.Vector.Unboxed.Base

type Rep1 Max

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

type Rep1 Max = D1 ('MetaData "Max" "Data.Semigroup" "base" 'True) (C1 ('MetaCons "Max" 'PrefixI 'True) (S1 ('MetaSel ('Just "getMax") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))
newtype MVector s (Max a) 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype MVector s (Max a) = MV_Max (MVector s a)
type Plain (Max a) Source # 
Instance details

Defined in Data.Array.Accelerate.Data.Semigroup

type Plain (Max a) = Max (Plain a)
type Rep (Max a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

type Rep (Max a) = D1 ('MetaData "Max" "Data.Semigroup" "base" 'True) (C1 ('MetaCons "Max" 'PrefixI 'True) (S1 ('MetaSel ('Just "getMax") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))
newtype Vector (Max a) 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype Vector (Max a) = V_Max (Vector a)

pattern Max_ :: Elt a => Exp a -> Exp (Max a) Source #

Orphan instances

(Lift Exp a, Elt (Plain a)) => Lift Exp (Max a) Source # 
Instance details

Associated Types

type Plain (Max a) 
Instance details

Defined in Data.Array.Accelerate.Data.Semigroup

type Plain (Max a) = Max (Plain a)

Methods

lift :: Max a -> Exp (Plain (Max a)) Source #

(Lift Exp a, Elt (Plain a)) => Lift Exp (Min a) Source # 
Instance details

Associated Types

type Plain (Min a) 
Instance details

Defined in Data.Array.Accelerate.Data.Semigroup

type Plain (Min a) = Min (Plain a)

Methods

lift :: Min a -> Exp (Plain (Min a)) Source #

Elt a => Unlift Exp (Max (Exp a)) Source # 
Instance details

Methods

unlift :: Exp (Plain (Max (Exp a))) -> Max (Exp a) Source #

Elt a => Unlift Exp (Min (Exp a)) Source # 
Instance details

Methods

unlift :: Exp (Plain (Min (Exp a))) -> Min (Exp a) Source #

Eq a => Eq (Max a) Source # 
Instance details

Methods

(==) :: Exp (Max a) -> Exp (Max a) -> Exp Bool Source #

(/=) :: Exp (Max a) -> Exp (Max a) -> Exp Bool Source #

Eq a => Eq (Min a) Source # 
Instance details

Methods

(==) :: Exp (Min a) -> Exp (Min a) -> Exp Bool Source #

(/=) :: Exp (Min a) -> Exp (Min a) -> Exp Bool Source #

Ord a => Ord (Max a) Source # 
Instance details

Methods

(<) :: Exp (Max a) -> Exp (Max a) -> Exp Bool Source #

(>) :: Exp (Max a) -> Exp (Max a) -> Exp Bool Source #

(<=) :: Exp (Max a) -> Exp (Max a) -> Exp Bool Source #

(>=) :: Exp (Max a) -> Exp (Max a) -> Exp Bool Source #

min :: Exp (Max a) -> Exp (Max a) -> Exp (Max a) Source #

max :: Exp (Max a) -> Exp (Max a) -> Exp (Max a) Source #

compare :: Exp (Max a) -> Exp (Max a) -> Exp Ordering Source #

Ord a => Ord (Min a) Source # 
Instance details

Methods

(<) :: Exp (Min a) -> Exp (Min a) -> Exp Bool Source #

(>) :: Exp (Min a) -> Exp (Min a) -> Exp Bool Source #

(<=) :: Exp (Min a) -> Exp (Min a) -> Exp Bool Source #

(>=) :: Exp (Min a) -> Exp (Min a) -> Exp Bool Source #

min :: Exp (Min a) -> Exp (Min a) -> Exp (Min a) Source #

max :: Exp (Min a) -> Exp (Min a) -> Exp (Min a) Source #

compare :: Exp (Min a) -> Exp (Min a) -> Exp Ordering Source #

Elt a => Elt (Max a) Source # 
Instance details

Methods

eltR :: TypeR (EltR (Max a))

tagsR :: [TagR (EltR (Max a))]

fromElt :: Max a -> EltR (Max a)

toElt :: EltR (Max a) -> Max a

Elt a => Elt (Min a) Source # 
Instance details

Methods

eltR :: TypeR (EltR (Min a))

tagsR :: [TagR (EltR (Min a))]

fromElt :: Min a -> EltR (Min a)

toElt :: EltR (Min a) -> Min a

(Ord a, Bounded a) => Monoid (Exp (Max a)) Source # 
Instance details

Methods

mempty :: Exp (Max a) #

mappend :: Exp (Max a) -> Exp (Max a) -> Exp (Max a) #

mconcat :: [Exp (Max a)] -> Exp (Max a) #

(Ord a, Bounded a) => Monoid (Exp (Min a)) Source # 
Instance details

Methods

mempty :: Exp (Min a) #

mappend :: Exp (Min a) -> Exp (Min a) -> Exp (Min a) #

mconcat :: [Exp (Min a)] -> Exp (Min a) #

Ord a => Semigroup (Exp (Max a)) Source # 
Instance details

Methods

(<>) :: Exp (Max a) -> Exp (Max a) -> Exp (Max a) #

sconcat :: NonEmpty (Exp (Max a)) -> Exp (Max a) #

stimes :: Integral b => b -> Exp (Max a) -> Exp (Max a) #

Ord a => Semigroup (Exp (Min a)) Source # 
Instance details

Methods

(<>) :: Exp (Min a) -> Exp (Min a) -> Exp (Min a) #

sconcat :: NonEmpty (Exp (Min a)) -> Exp (Min a) #

stimes :: Integral b => b -> Exp (Min a) -> Exp (Min a) #

(Elt a, Elt b, Semigroup (Exp a), Semigroup (Exp b)) => Semigroup (Exp (a, b)) Source # 
Instance details

Methods

(<>) :: Exp (a, b) -> Exp (a, b) -> Exp (a, b) #

sconcat :: NonEmpty (Exp (a, b)) -> Exp (a, b) #

stimes :: Integral b0 => b0 -> Exp (a, b) -> Exp (a, b) #

(Elt a, Elt b, Elt c, Semigroup (Exp a), Semigroup (Exp b), Semigroup (Exp c)) => Semigroup (Exp (a, b, c)) Source # 
Instance details

Methods

(<>) :: Exp (a, b, c) -> Exp (a, b, c) -> Exp (a, b, c) #

sconcat :: NonEmpty (Exp (a, b, c)) -> Exp (a, b, c) #

stimes :: Integral b0 => b0 -> Exp (a, b, c) -> Exp (a, b, c) #

(Elt a, Elt b, Elt c, Elt d, Semigroup (Exp a), Semigroup (Exp b), Semigroup (Exp c), Semigroup (Exp d)) => Semigroup (Exp (a, b, c, d)) Source # 
Instance details

Methods

(<>) :: Exp (a, b, c, d) -> Exp (a, b, c, d) -> Exp (a, b, c, d) #

sconcat :: NonEmpty (Exp (a, b, c, d)) -> Exp (a, b, c, d) #

stimes :: Integral b0 => b0 -> Exp (a, b, c, d) -> Exp (a, b, c, d) #

(Elt a, Elt b, Elt c, Elt d, Elt e, Semigroup (Exp a), Semigroup (Exp b), Semigroup (Exp c), Semigroup (Exp d), Semigroup (Exp e)) => Semigroup (Exp (a, b, c, d, e)) Source # 
Instance details

Methods

(<>) :: Exp (a, b, c, d, e) -> Exp (a, b, c, d, e) -> Exp (a, b, c, d, e) #

sconcat :: NonEmpty (Exp (a, b, c, d, e)) -> Exp (a, b, c, d, e) #

stimes :: Integral b0 => b0 -> Exp (a, b, c, d, e) -> Exp (a, b, c, d, e) #

Semigroup (Exp ()) Source # 
Instance details

Methods

(<>) :: Exp () -> Exp () -> Exp () #

sconcat :: NonEmpty (Exp ()) -> Exp () #

stimes :: Integral b => b -> Exp () -> Exp () #

Bounded a => Bounded (Exp (Max a)) Source # 
Instance details

Methods

minBound :: Exp (Max a) #

maxBound :: Exp (Max a) #

Bounded a => Bounded (Exp (Min a)) Source # 
Instance details

Methods

minBound :: Exp (Min a) #

maxBound :: Exp (Min a) #

Num a => Num (Exp (Max a)) Source # 
Instance details

Methods

(+) :: Exp (Max a) -> Exp (Max a) -> Exp (Max a) #

(-) :: Exp (Max a) -> Exp (Max a) -> Exp (Max a) #

(*) :: Exp (Max a) -> Exp (Max a) -> Exp (Max a) #

negate :: Exp (Max a) -> Exp (Max a) #

abs :: Exp (Max a) -> Exp (Max a) #

signum :: Exp (Max a) -> Exp (Max a) #

fromInteger :: Integer -> Exp (Max a) #

Num a => Num (Exp (Min a)) Source # 
Instance details

Methods

(+) :: Exp (Min a) -> Exp (Min a) -> Exp (Min a) #

(-) :: Exp (Min a) -> Exp (Min a) -> Exp (Min a) #

(*) :: Exp (Min a) -> Exp (Min a) -> Exp (Min a) #

negate :: Exp (Min a) -> Exp (Min a) #

abs :: Exp (Min a) -> Exp (Min a) #

signum :: Exp (Min a) -> Exp (Min a) #

fromInteger :: Integer -> Exp (Min a) #