Copyright | (c) 2024 Yamada Ryo |
---|---|
License | MPL-2.0 (see the file LICENSE) |
Maintainer | ymdfield@outlook.jp |
Stability | experimental |
Portability | portable |
Safe Haskell | Safe-Inferred |
Language | GHC2021 |
Data.Hefty.Union.Strengthen
Description
Documentation
class (Union u, isMZero ~ (m == 0), isNZero ~ (n == 0)) => StrengthenUnder_ (isMZero :: Bool) (m :: Natural) (isNZero :: Bool) (n :: Natural) u es es' | m n es -> es' where Source #
Methods
strengthenNUnderM_ :: u es f ~> u es' f Source #
Instances
Union u => StrengthenUnder_ 'True 0 'True 0 u es es Source # | |
Defined in Data.Hefty.Union.Strengthen | |
(Union u, Strengthen (n - 1) u es es', MemberRec u e es, (n == 0) ~ 'False) => StrengthenUnder_ 'True 0 'False n u (e ': es) es' Source # | |
Defined in Data.Hefty.Union.Strengthen | |
(Union u, StrengthenUnder n (m - 1) u es es', (m == 0) ~ 'False, isNZero ~ (n == 0)) => StrengthenUnder_ 'False m isNZero n u (e ': es) (e ': es') Source # | |
Defined in Data.Hefty.Union.Strengthen |
type StrengthenUnder n m = StrengthenUnder_ (m == 0) m (n == 0) n Source #
type Strengthen n = StrengthenUnder_ 'True 0 (n == 0) n Source #
strengthenNUnderM :: forall n m u es' f es. StrengthenUnder n m u es es' => u es f ~> u es' f Source #
strengthenN :: forall n u es' f es. Strengthen n u es es' => u es f ~> u es' f Source #