Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
Synopsis
- newtype PTag (struct :: [S -> Type]) (s :: S) = PTag {}
- newtype DeriveAsTag (a :: S -> Type) s = DeriveAsTag {
- unDeriveAsTag :: a s
- newtype TagLiftHelper r struct = TagLiftHelper {
- unTagLiftHelper :: Integer -> (SOP I struct -> r) -> r
Documentation
newtype PTag (struct :: [S -> Type]) (s :: S) Source #
@since WIP
Instances
PlutusType (PTag struct) Source # | |
Defined in Plutarch.Repr.Tag | |
Generic (PTag struct s) Source # | |
Generic (PTag struct s) Source # | @since WIP |
type PContravariant' (PTag struct) Source # | |
Defined in Plutarch.Repr.Tag | |
type PCovariant' (PTag struct) Source # | |
Defined in Plutarch.Repr.Tag | |
type PInner (PTag struct) Source # | @since WIP |
Defined in Plutarch.Repr.Tag | |
type PVariant' (PTag struct) Source # | |
Defined in Plutarch.Repr.Tag | |
type Rep (PTag struct s) Source # | |
Defined in Plutarch.Repr.Tag | |
type Code (PTag struct s) Source # | |
Defined in Plutarch.Repr.Tag |
newtype DeriveAsTag (a :: S -> Type) s Source #
@since WIP
DeriveAsTag | |
|
Instances
(forall (s :: S). TagTypeConstraints s a struct) => PlutusType (DeriveAsTag a) Source # | This derives tag-only PlutusType automatically. Resulted instances will use Example: @@ data PFoo s = A | B | C | D | E deriving stock (GHC.Generic, Show) deriving anyclass (PEq, PIsData) deriving (PlutusType, PLiftable) via DeriveAsTag PFoo instance SOP.Generic (PFoo s) @@ @since WIP |
Defined in Plutarch.Repr.Tag type PInner (DeriveAsTag a) :: PType Source # type PCovariant' (DeriveAsTag a) Source # type PContravariant' (DeriveAsTag a) Source # type PVariant' (DeriveAsTag a) Source # pcon' :: forall (s :: S). DeriveAsTag a s -> Term s (PInner (DeriveAsTag a)) Source # pmatch' :: forall (s :: S) (b :: PType). Term s (PInner (DeriveAsTag a)) -> (DeriveAsTag a s -> Term s b) -> Term s b Source # | |
type PContravariant' (DeriveAsTag a) Source # | |
Defined in Plutarch.Repr.Tag | |
type PCovariant' (DeriveAsTag a) Source # | |
Defined in Plutarch.Repr.Tag | |
type PInner (DeriveAsTag a) Source # | |
Defined in Plutarch.Repr.Tag | |
type PVariant' (DeriveAsTag a) Source # | |
Defined in Plutarch.Repr.Tag |
newtype TagLiftHelper r struct Source #
@since WIP
TagLiftHelper | |
|