Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
Synopsis
- newtype PSOPStruct (struct :: [[S -> Type]]) (s :: S) = PSOPStruct {
- unPSOPStruct :: PStruct struct s
- newtype PSOPRec (struct :: [S -> Type]) (s :: S) = PSOPRec {}
- newtype DeriveAsSOPStruct (a :: S -> Type) s = DeriveAsSOPStruct {
- unDeriveAsSOPStruct :: a s
- newtype DeriveAsSOPRec (a :: S -> Type) s = DeriveAsSOPRec {
- unDeriveAsSOPRec :: a s
Documentation
newtype PSOPStruct (struct :: [[S -> Type]]) (s :: S) Source #
@since WIP
PSOPStruct | |
|
Instances
newtype PSOPRec (struct :: [S -> Type]) (s :: S) Source #
@since WIP
Instances
All PEq struct => PEq (PSOPRec struct) Source # | @since WIP |
SListI struct => PlutusType (PSOPRec struct) Source # | @since WIP |
Defined in Plutarch.Repr.SOP | |
type PContravariant' (PSOPRec struct) Source # | |
Defined in Plutarch.Repr.SOP | |
type PCovariant' (PSOPRec struct) Source # | |
Defined in Plutarch.Repr.SOP | |
type PInner (PSOPRec struct) Source # | |
Defined in Plutarch.Repr.SOP | |
type PVariant' (PSOPRec struct) Source # | |
Defined in Plutarch.Repr.SOP |
newtype DeriveAsSOPStruct (a :: S -> Type) s Source #
via
-derivation helper to derive PlutusType
instance using SoP encoding. If your type has
only one constructor prefer using DeriveAsSOPRec
instead.
@since WIP
DeriveAsSOPStruct | |
|
Instances
(Generic (a (Any :: S)), struct ~ UnTermStruct (a (Any :: S)), SListI2 struct, forall (s :: S). StructSameRepr s a struct, PSOPStructConstraint struct) => PlutusType (DeriveAsSOPStruct a) Source # | @since WIP |
Defined in Plutarch.Repr.SOP type PInner (DeriveAsSOPStruct a) :: PType Source # type PCovariant' (DeriveAsSOPStruct a) Source # type PContravariant' (DeriveAsSOPStruct a) Source # type PVariant' (DeriveAsSOPStruct a) Source # pcon' :: forall (s :: S). DeriveAsSOPStruct a s -> Term s (PInner (DeriveAsSOPStruct a)) Source # pmatch' :: forall (s :: S) (b :: PType). Term s (PInner (DeriveAsSOPStruct a)) -> (DeriveAsSOPStruct a s -> Term s b) -> Term s b Source # | |
type PContravariant' (DeriveAsSOPStruct a) Source # | |
Defined in Plutarch.Repr.SOP | |
type PCovariant' (DeriveAsSOPStruct a) Source # | |
Defined in Plutarch.Repr.SOP | |
type PInner (DeriveAsSOPStruct a) Source # | |
Defined in Plutarch.Repr.SOP | |
type PVariant' (DeriveAsSOPStruct a) Source # | |
Defined in Plutarch.Repr.SOP |
newtype DeriveAsSOPRec (a :: S -> Type) s Source #
via
-derivation helper for SoP encoding, currently behaves exactly like DeriveAsSOPStruct
but can be used only on types with a single constructor. It is separate to leave a room for
future optimizations
@since WIP
DeriveAsSOPRec | |
|
Instances
(Generic (a (Any :: S)), '[struct'] ~ Code (a (Any :: S)), struct ~ UnTermRec struct', SListI struct, forall (s :: S). StructSameRepr s a '[struct], RecTypePrettyError (Code (a (Any :: S)))) => PlutusType (DeriveAsSOPRec a) Source # | @since WIP |
Defined in Plutarch.Repr.SOP type PInner (DeriveAsSOPRec a) :: PType Source # type PCovariant' (DeriveAsSOPRec a) Source # type PContravariant' (DeriveAsSOPRec a) Source # type PVariant' (DeriveAsSOPRec a) Source # pcon' :: forall (s :: S). DeriveAsSOPRec a s -> Term s (PInner (DeriveAsSOPRec a)) Source # pmatch' :: forall (s :: S) (b :: PType). Term s (PInner (DeriveAsSOPRec a)) -> (DeriveAsSOPRec a s -> Term s b) -> Term s b Source # | |
type PContravariant' (DeriveAsSOPRec a) Source # | |
Defined in Plutarch.Repr.SOP | |
type PCovariant' (DeriveAsSOPRec a) Source # | |
Defined in Plutarch.Repr.SOP | |
type PInner (DeriveAsSOPRec a) Source # | |
Defined in Plutarch.Repr.SOP | |
type PVariant' (DeriveAsSOPRec a) Source # | |
Defined in Plutarch.Repr.SOP |