HORIZON HASKELLDocslts/ghc-9.10.x248f8f02026-10-05Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · 248f8f0 · 2026-10-05

Modulenumeric-prelude-0.4.4Haskell98

Number.Physical

Numeric values combined with abstract Physical Units

  • 1 type
  • 14 values
datadata T i a
#

A Physics.Quantity.Value.T combines a numeric value with a physical unit.

Constructors

Instances17Monad, Functor, Applicative, Eq, Ord, Show, …
  • (Ord i, C a v) => C a (T i v)Defined in numeric-prelude-0.4.4 · Number.Physical
  • (Ord i, C a v) => C a (T i v)Defined in numeric-prelude-0.4.4 · Number.Physical
  • C a v => C a (T i v)Defined in numeric-prelude-0.4.4 · Number.Physical
  • Monad (T i)Defined in numeric-prelude-0.4.4 · Number.Physical
  • Functor (T i)Defined in numeric-prelude-0.4.4 · Number.Physical
  • Applicative (T a)Defined in numeric-prelude-0.4.4 · Number.Physical
  • Ord i => C (T i)Defined in numeric-prelude-0.4.4 · Number.Physical
  • (Eq i, Eq a) => Eq (T i a)Defined in numeric-prelude-0.4.4 · Number.Physical
  • (Ord i, Ord a) => Ord (T i a)Defined in numeric-prelude-0.4.4 · Number.Physical
  • (Ord i, Enum i, Show a) => Show (T i a)Defined in numeric-prelude-0.4.4 · Number.Physical
  • (Ord i, C a) => C (T i a)Defined in numeric-prelude-0.4.4 · Number.Physical
  • (Ord i, C a) => C (T i a)Defined in numeric-prelude-0.4.4 · Number.Physical
  • (Ord i, C a) => C (T i a)Defined in numeric-prelude-0.4.4 · Number.Physical
  • (Ord i, C a) => C (T i a)Defined in numeric-prelude-0.4.4 · Number.Physical
  • (Ord i, C a) => C (T i a)Defined in numeric-prelude-0.4.4 · Number.Physical
  • C v => C (T a v)Defined in numeric-prelude-0.4.4 · Number.Physical
  • (Ord i, C a) => C (T i a)Defined in numeric-prelude-0.4.4 · Number.Physical
valuequantity :: (Ord i, Enum i, C a) => [Int] -> a -> T i a
#

Construct a physical value from a numeric value and the full vector representation of a unit.

valueisScalar :: T i a -> Bool
#

Test for the neutral Unit.T. Also a zero has a unit!

valuelift :: (a -> b) -> T i a -> T i b
#

apply a function to the numeric value while preserving the unit

valueaddMaybe :: (Eq i, C a) => T i a -> T i a -> Maybe (T i a)
#

Add two values if the units match, otherwise return Nothing

valuesubMaybe :: (Eq i, C a) => T i a -> T i a -> Maybe (T i a)
#

Subtract two values if the units match, otherwise return Nothing