Safe Haskell | None |
---|---|
Language | Haskell2010 |
A binary version 0/1 field with seperate content for each version.
- data Versioned v0 v1 version where
- V0 :: IsBoxContent v0 => v0 -> Versioned v0 v1 0
- V1 :: IsBoxContent v1 => v1 -> Versioned v0 v1 1
- data ApplyVersioned v' where
- OnV0 :: forall v. IsBoxContent (v @@ 0) => (v @@ 0) -> ApplyVersioned v
- OnV1 :: forall v. IsBoxContent (v @@ 1) => (v @@ 1) -> ApplyVersioned v
- data SelectByVersion :: (a -> Type) -> a -> a -> Nat ~> Type
Documentation
data Versioned v0 v1 version where Source #
Two alternative representations based on a version index. Use this for box content that can be either 32 or 64 bit.
V0 :: IsBoxContent v0 => v0 -> Versioned v0 v1 0 | |
V1 :: IsBoxContent v1 => v1 -> Versioned v0 v1 1 |
data ApplyVersioned v' where Source #
Two alternative representations based on a version index. Use this for box content that can be either 32 or 64 bit.
OnV0 :: forall v. IsBoxContent (v @@ 0) => (v @@ 0) -> ApplyVersioned v | |
OnV1 :: forall v. IsBoxContent (v @@ 1) => (v @@ 1) -> ApplyVersioned v |
(IsBoxContent ((@@) Nat * b 0), Default ((@@) Nat * b 0)) => Default (ApplyVersioned b) Source # | |
IsBoxContent (ApplyVersioned c) Source # | |