/** * @import { Site } from "@helios-lang/compiler-utils" * @import { AssertExtends } from "@helios-lang/type-utils" * @import { CallSiteInfo, CekContext, CekFrame, CekStack, CekStateChange, CekTerm, CekValue } from "../index.js" */ /** * Information which is helpful when debugging * @typedef {{ * callSite?: Site * name?: string * argName?: string * }} LambdaCallFrameInfo */ /** * @typedef {object} LambdaCallFrame * @prop {CekTerm} term * @prop {CekStack} stack * @prop {(value: CekValue) => CekStateChange} reduce */ /** * @typedef {AssertExtends} _LambdaCallFrameExtendsCekFrame */ /** * @param {CekTerm} term * @param {CekStack} stack * @param {LambdaCallFrameInfo} info * @returns {LambdaCallFrame} */ export function makeLambdaCallFrame(term: CekTerm, stack: CekStack, info?: LambdaCallFrameInfo): LambdaCallFrame; /** * Information which is helpful when debugging */ export type LambdaCallFrameInfo = { callSite?: Site; name?: string; argName?: string; }; export type LambdaCallFrame = { term: CekTerm; stack: CekStack; reduce: (value: CekValue) => CekStateChange; }; export type _LambdaCallFrameExtendsCekFrame = AssertExtends; import type { CekTerm } from "../index.js"; import type { CekStack } from "../index.js"; import type { Site } from "@helios-lang/compiler-utils"; import type { CekTerm as CekTerm_1 } from "../index.js"; import type { CekStack as CekStack_1 } from "../index.js"; import type { CekValue } from "../index.js"; import type { CekStateChange } from "../index.js"; import type { CekFrame } from "../index.js"; import type { AssertExtends } from "@helios-lang/type-utils"; //# sourceMappingURL=LambdaCallFrame.d.ts.map