@harmoniclabs/plu-ts-onchain
Version:
An embedded DSL for Cardano smart contracts creation coupled with a library for Cardano transactions, all in Typescript
12 lines (11 loc) • 607 B
TypeScript
import { TermFn, PLam, PList, PDelayed } from "../../../../PTypes/index.js";
import { TermType, ToPType } from "../../../../type_system/index.js";
export declare function precursiveList<ReturnT extends TermType, ElemtsT extends TermType>(returnT: ReturnT, elemsT: ElemtsT): TermFn<[
PLam<// caseNil
PLam<PList<ToPType<ElemtsT>>, ToPType<ReturnT>>, // self
PDelayed<ToPType<ReturnT>>>,
PLam<// caseCons
PLam<PList<ToPType<ElemtsT>>, ToPType<ReturnT>>, // self
PLam<ToPType<ElemtsT>, PLam<PList<ToPType<ElemtsT>>, ToPType<ReturnT>>>>,
PList<ToPType<ElemtsT>>
], ToPType<ReturnT>>;