plutus-core
Safe HaskellNone
LanguageHaskell2010

PlutusCore.Examples.Data.TreeForest

Synopsis

Documentation

treeData :: forall (uni :: Type -> Type) fun. RecursiveType uni fun () Source #

forestData :: forall (uni :: Type -> Type) fun. RecursiveType uni fun () Source #

treeNode :: forall (uni :: Type -> Type) fun. HasUniApply uni => Term TyName Name uni fun () Source #

/\(a :: *) -> \(x : a) (fr : forest a) ->
    wrapTree [a] /\(r :: *) -> \(f : a -> forest a -> r) -> f x fr 

forestNil :: forall (uni :: Type -> Type) fun. HasUniApply uni => Term TyName Name uni fun () Source #

/\(a :: *) ->
    wrapForest [a] /\(r :: *) -> \(z : r) (f : tree a -> forest a -> r) -> z 

forestCons :: forall (uni :: Type -> Type) fun. HasUniApply uni => Term TyName Name uni fun () Source #

/\(a :: *) -> \(tr : tree a) (fr : forest a)
    wrapForest [a] /\(r :: *) -> \(z : r) (f : tree a -> forest a -> r) -> f tr fr