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 :: (Eq a, HasCallStack, Num a) => a -> NonZero a
- errMsg :: String -> 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
Creation
unsafeNonZero :: (Eq a, HasCallStack, Num a) => a -> NonZero a Source #
Throws an error when given 0.
WARNING: Partial
Examples
>>>
unsafeNonZero 7
UnsafeNonZero 7
Since: 0.1