Safe Haskell | None |
---|---|
Language | Haskell2010 |
Numeric.Data.NonZero.Internal
Description
Provides the NonZero
type for enforcing a non-zero invariant.
Since: 0.1
Synopsis
- newtype NonZero a where
- UnsafeNonZero a
- pattern MkNonZero :: a -> NonZero a
- unsafeNonZero :: (AMonoid a, Eq a, HasCallStack) => a -> NonZero a
- errMsg :: String
Type
Smart-constructor for creating a "non-zero" a
.
Since: 0.1
Constructors
UnsafeNonZero a |
Bundled Patterns
pattern MkNonZero :: a -> NonZero a | Unidirectional pattern synonym for Since: 0.1 |
Instances
Foldable NonZero Source # | Since: 0.1 | ||||
Defined in Numeric.Data.NonZero.Internal Methods fold :: Monoid m => NonZero m -> m # foldMap :: Monoid m => (a -> m) -> NonZero a -> m # foldMap' :: Monoid m => (a -> m) -> NonZero a -> m # foldr :: (a -> b -> b) -> b -> NonZero a -> b # foldr' :: (a -> b -> b) -> b -> NonZero a -> b # foldl :: (b -> a -> b) -> b -> NonZero a -> b # foldl' :: (b -> a -> b) -> b -> NonZero a -> b # foldr1 :: (a -> a -> a) -> NonZero a -> a # foldl1 :: (a -> a -> a) -> NonZero a -> a # elem :: Eq a => a -> NonZero a -> Bool # maximum :: Ord a => NonZero a -> a # minimum :: Ord a => NonZero a -> a # | |||||
HasField "unNonZero" (NonZero a) a Source # | Since: 0.1 | ||||
Defined in Numeric.Data.NonZero.Internal | |||||
(k ~ A_Getter, x ~ a, y ~ a) => LabelOptic "unNonZero" k (NonZero a) (NonZero a) x y Source # | Since: 0.1 | ||||
Defined in Numeric.Data.NonZero.Internal | |||||
Lift a => Lift (NonZero a :: Type) Source # | Since: 0.1 | ||||
MetricSpace a => MetricSpace (NonZero a) Source # | Since: 0.1 | ||||
MEuclidean a => MEuclidean (NonZero a) Source # | Since: 0.1 | ||||
MGroup a => MGroup (NonZero a) Source # | Since: 0.1 | ||||
MMonoid a => MMonoid (NonZero a) Source # | Since: 0.1 | ||||
Defined in Numeric.Data.NonZero.Internal | |||||
MSemigroup a => MSemigroup (NonZero a) Source # | Since: 0.1 | ||||
Normed a => Normed (NonZero a) Source # | Since: 0.1 | ||||
(AMonoid a, Eq a, FromInteger a) => FromInteger (NonZero a) Source # | WARNING: Partial Since: 0.1 | ||||
(AMonoid a, Eq a, FromRational a) => FromRational (NonZero a) Source # | WARNING: Partial Since: 0.1 | ||||
(AMonoid a, Eq a, FromReal a) => FromReal (NonZero a) Source # | WARNING: Partial Since: 0.1 | ||||
ToInteger a => ToInteger (NonZero a) Source # | Since: 0.1 | ||||
ToRational a => ToRational (NonZero a) Source # | Since: 0.1 | ||||
ToReal a => ToReal (NonZero a) Source # | Since: 0.1 | ||||
NFData a => NFData (NonZero a) Source # | Since: 0.1.0.0 | ||||
Defined in Numeric.Data.NonZero.Internal | |||||
Generic (NonZero a) Source # | |||||
Defined in Numeric.Data.NonZero.Internal Associated Types
| |||||
Show a => Show (NonZero a) Source # | Since: 0.1 | ||||
Eq a => Eq (NonZero a) Source # | Since: 0.1 | ||||
Ord a => Ord (NonZero a) Source # | Since: 0.1 | ||||
Hashable a => Hashable (NonZero a) Source # | Since: 0.1.0.0 | ||||
Show a => Display (NonZero a) Source # | Since: 0.1 | ||||
Defined in Numeric.Data.NonZero.Internal | |||||
type Rep (NonZero a) Source # | Since: 0.1 | ||||
Defined in Numeric.Data.NonZero.Internal |
Creation
unsafeNonZero :: (AMonoid a, Eq a, HasCallStack) => a -> NonZero a Source #
Throws an error when given 0.
WARNING: Partial
Examples
>>>
unsafeNonZero 7
UnsafeNonZero 7
Since: 0.1