| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
UntypedPlutusCore.Core
Contents
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 #
Constructors
| 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 Methods 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 Methods 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 #