| Safe Haskell | Safe-Inferred |
|---|---|
| Language | GHC2021 |
Plutarch.Repr.Tag
Synopsis
- newtype PTag (struct :: [S -> Type]) (s :: S) = PTag {}
- newtype TagLiftHelper r struct = TagLiftHelper {
- unTagLiftHelper :: Integer -> (SOP I struct -> r) -> r
- newtype DeriveTagPlutusType (a :: S -> Type) s = DeriveTagPlutusType {
- unDeriveTagPlutusType :: a s
- newtype DeriveTagPLiftable (a :: S -> Type) (h :: Type) s = DeriveTagPLiftable {
- unDeriveTagPLiftable :: a s
Documentation
newtype PTag (struct :: [S -> Type]) (s :: S) Source #
Since: 1.10.0
Instances
| PlutusType (PTag struct) Source # | |
Defined in Plutarch.Repr.Tag | |
| Generic (PTag struct s) Source # | |
| Generic (PTag struct s) Source # | Since: 1.10.0 |
| 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: 1.10.0 |
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 TagLiftHelper r struct Source #
Since: 1.10.0
Constructors
| TagLiftHelper | |
Fields
| |
newtype DeriveTagPlutusType (a :: S -> Type) s Source #
@since IWP
Constructors
| DeriveTagPlutusType | |
Fields
| |
Instances
| (forall (s :: S). TagTypeConstraints s a struct) => PlutusType (DeriveTagPlutusType 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) via DeriveTagPlutusType PFoo instance SOP.Generic (PFoo s) @@ Since: 1.10.0 |
Defined in Plutarch.Repr.Tag Associated Types type PInner (DeriveTagPlutusType a) :: PType Source # type PCovariant' (DeriveTagPlutusType a) Source # type PContravariant' (DeriveTagPlutusType a) Source # type PVariant' (DeriveTagPlutusType a) Source # Methods pcon' :: forall (s :: S). DeriveTagPlutusType a s -> Term s (PInner (DeriveTagPlutusType a)) Source # pmatch' :: forall (s :: S) (b :: PType). Term s (PInner (DeriveTagPlutusType a)) -> (DeriveTagPlutusType a s -> Term s b) -> Term s b Source # | |
| type PContravariant' (DeriveTagPlutusType a) Source # | |
Defined in Plutarch.Repr.Tag | |
| type PCovariant' (DeriveTagPlutusType a) Source # | |
Defined in Plutarch.Repr.Tag | |
| type PInner (DeriveTagPlutusType a) Source # | |
Defined in Plutarch.Repr.Tag | |
| type PVariant' (DeriveTagPlutusType a) Source # | |
Defined in Plutarch.Repr.Tag | |
newtype DeriveTagPLiftable (a :: S -> Type) (h :: Type) s Source #
@since WIP
Constructors
| DeriveTagPLiftable | |
Fields
| |