/** * @import { Site } from "@helios-lang/compiler-utils" * @import { AssertExtends } from "@helios-lang/type-utils" * @import { CallSiteInfo, CekContext, CekFrame, CekStack, CekStateChange, CekValue } from "../index.js" */ /** * @typedef {object} BuiltinCallFrame * @prop {number} id * @prop {string} name * @prop {CekValue[]} args * @prop {CekStack} stack * @prop {(value: CekValue, ctx: CekContext) => CekStateChange} reduce */ /** * @typedef {AssertExtends} _BuiltinCallFrameExtendsCekFrame */ /** * Creates a new BuiltinCallFrame * @param {number} id * @param {string} name * @param {CekValue[]} args * @param {CekStack} stack * @param {Site | undefined} callSite * @returns {BuiltinCallFrame} */ export function makeBuiltinCallFrame(id: number, name: string, args: CekValue[], stack: CekStack, callSite: Site | undefined): BuiltinCallFrame; export type BuiltinCallFrame = { id: number; name: string; args: CekValue[]; stack: CekStack; reduce: (value: CekValue, ctx: CekContext) => CekStateChange; }; export type _BuiltinCallFrameExtendsCekFrame = AssertExtends; import type { CekValue } from "../index.js"; import type { CekStack } from "../index.js"; import type { Site } from "@helios-lang/compiler-utils"; import type { CekValue as CekValue_1 } from "../index.js"; import type { CekStack as CekStack_1 } from "../index.js"; import type { CekContext } from "../index.js"; import type { CekStateChange } from "../index.js"; import type { CekFrame } from "../index.js"; import type { AssertExtends } from "@helios-lang/type-utils"; //# sourceMappingURL=BuiltinCallFrame.d.ts.map