Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- module UntypedPlutusCore.Core.Type
- termBinds :: Traversal' ( Term name uni fun ann) name
- termVars :: Traversal' ( Term name uni fun ann) name
- termUniques :: HasUniques ( Term name uni fun ann) => Traversal' ( Term name uni fun ann) Unique
- termSubterms :: Traversal' ( Term name uni fun ann) ( Term name uni fun ann)
- termSubtermsDeep :: Fold ( Term name uni fun ann) ( Term name uni fun ann)
- termUniquesDeep :: HasUniques ( Term name uni fun ann) => Fold ( Term name uni fun ann) Unique
- data TermF (name :: Type ) (uni :: Type -> Type ) (fun :: Type ) (ann :: Type ) r
- termTagWidth :: NumBits
- encodeTermTag :: Word8 -> Encoding
- decodeTermTag :: Get Word8
- encodeTerm :: forall name uni fun ann. ( Closed uni, uni `Everywhere` Flat , PrettyPlc ( Term name uni fun ann), Flat fun, Flat ann, Flat name, Flat ( Binder name)) => Term name uni fun ann -> Encoding
- decodeTerm :: forall name uni fun ann. ( Closed uni, uni `Everywhere` Flat , PrettyPlc ( Term name uni fun ann), Flat fun, Flat ann, Flat name, Flat ( Binder name)) => (fun -> Bool ) -> Get ( Term name uni fun ann)
- sizeTerm :: forall name uni fun ann. ( Closed uni, uni `Everywhere` Flat , PrettyPlc ( Term name uni fun ann), Flat fun, Flat ann, Flat name, Flat ( Binder name)) => Term name uni fun ann -> NumBits -> NumBits
- decodeProgram :: forall name uni fun ann. ( Closed uni, uni `Everywhere` Flat , PrettyPlc ( Term name uni fun ann), Flat fun, Flat ann, Flat name, Flat ( Binder name)) => (fun -> Bool ) -> Get ( Program name uni fun ann)
Documentation
module UntypedPlutusCore.Core.Type
termBinds :: Traversal' ( Term name uni fun ann) name Source #
termVars :: Traversal' ( Term name uni fun ann) name Source #
termUniques :: HasUniques ( Term name uni fun ann) => Traversal' ( Term name uni fun ann) Unique Source #
termSubterms :: Traversal' ( Term name uni fun ann) ( Term name uni fun ann) Source #
termUniquesDeep :: HasUniques ( Term name uni fun ann) => Fold ( Term name uni fun ann) Unique Source #
Base functors
data TermF (name :: Type ) (uni :: Type -> Type ) (fun :: Type ) (ann :: Type ) r Source #
VarF !ann !name | |
LamAbsF !ann !name !r | |
ApplyF !ann !r !r | |
ForceF !ann !r | |
DelayF !ann !r | |
ConstantF !ann !( Some ( ValueOf uni)) | |
BuiltinF !ann !fun | |
ErrorF !ann |
Instances
Functor ( TermF name uni fun ann) Source # | |
Foldable ( TermF name uni fun ann) Source # | |
Defined in UntypedPlutusCore.Core.Instance.Recursive fold :: Monoid m => TermF name uni fun ann m -> m Source # foldMap :: Monoid m => (a -> m) -> TermF name uni fun ann a -> m Source # foldMap' :: Monoid m => (a -> m) -> TermF name uni fun ann a -> m Source # foldr :: (a -> b -> b) -> b -> TermF name uni fun ann a -> b Source # foldr' :: (a -> b -> b) -> b -> TermF name uni fun ann a -> b Source # foldl :: (b -> a -> b) -> b -> TermF name uni fun ann a -> b Source # foldl' :: (b -> a -> b) -> b -> TermF name uni fun ann a -> b Source # foldr1 :: (a -> a -> a) -> TermF name uni fun ann a -> a Source # foldl1 :: (a -> a -> a) -> TermF name uni fun ann a -> a Source # toList :: TermF name uni fun ann a -> [a] Source # null :: TermF name uni fun ann a -> Bool Source # length :: TermF name uni fun ann a -> Int Source # elem :: Eq a => a -> TermF name uni fun ann a -> Bool Source # maximum :: Ord a => TermF name uni fun ann a -> a Source # minimum :: Ord a => TermF name uni fun ann a -> a Source # |
|
Traversable ( TermF name uni fun ann) Source # | |
Defined in UntypedPlutusCore.Core.Instance.Recursive traverse :: Applicative f => (a -> f b) -> TermF name uni fun ann a -> f ( TermF name uni fun ann b) Source # sequenceA :: Applicative f => TermF name uni fun ann (f a) -> f ( TermF name uni fun ann a) Source # mapM :: Monad m => (a -> m b) -> TermF name uni fun ann a -> m ( TermF name uni fun ann b) Source # sequence :: Monad m => TermF name uni fun ann (m a) -> m ( TermF name uni fun ann a) Source # |
termTagWidth :: NumBits Source #
Using 4 bits to encode term tags.
encodeTermTag :: Word8 -> Encoding Source #
decodeTermTag :: Get Word8 Source #
encodeTerm :: forall name uni fun ann. ( Closed uni, uni `Everywhere` Flat , PrettyPlc ( Term name uni fun ann), Flat fun, Flat ann, Flat name, Flat ( Binder name)) => Term name uni fun ann -> Encoding Source #
decodeTerm :: forall name uni fun ann. ( Closed uni, uni `Everywhere` Flat , PrettyPlc ( Term name uni fun ann), Flat fun, Flat ann, Flat name, Flat ( Binder name)) => (fun -> Bool ) -> Get ( Term name uni fun ann) Source #