Safe Haskell | None |
---|---|
Language | Haskell2010 |
Arithmetic.Unsafe
Synopsis
- newtype Nat (n :: Nat) = Nat {}
- newtype Nat# (a :: Nat) :: TYPE 'IntRep where
- newtype Fin# (a :: Nat) :: TYPE 'IntRep where
- newtype MaybeFin# (a :: Nat) :: TYPE 'IntRep where
- newtype Fin32# (a :: Nat) :: TYPE 'Int32Rep where
- newtype (a :: Nat) <# (b :: Nat) :: ZeroBitType where
- newtype (a :: Nat) <=# (b :: Nat) :: ZeroBitType where
- data (a :: Nat) < (b :: Nat) where
- data (a :: Nat) <= (b :: Nat) where
- data (a :: Nat) :=: (b :: Nat) where
- newtype (a :: Nat) :=:# (b :: Nat) :: ZeroBitType where
Documentation
A value-level representation of a natural number n
.
newtype Fin# (a :: Nat) :: TYPE 'IntRep where #
Finite numbers without the overhead of carrying around a proof.
newtype MaybeFin# (a :: Nat) :: TYPE 'IntRep where #
Either a Fin#
or Nothing. Internally, this uses negative
one to mean Nothing.
newtype Fin32# (a :: Nat) :: TYPE 'Int32Rep where #
Variant of Fin#
that only allows 32-bit integers.
newtype (a :: Nat) <# (b :: Nat) :: ZeroBitType where infix 4 #
newtype (a :: Nat) <=# (b :: Nat) :: ZeroBitType where infix 4 #
data (a :: Nat) < (b :: Nat) where infix 4 #
Proof that the first argument is strictly less than the second argument.
data (a :: Nat) <= (b :: Nat) where infix 4 #
Proof that the first argument is less than or equal to the second argument.