time-to-botec

Benchmark sampling in different programming languages
Log | Files | Refs | README

lambda.d.ts (2099B)


      1 import { LocationRange } from "peggy";
      2 import { ASTNode } from "../ast/parse.js";
      3 import { Expression } from "../expression/index.js";
      4 import { VDomain, Value } from "../value/index.js";
      5 import { ReducerContext } from "./context.js";
      6 import { Stack } from "./stack.js";
      7 import { FnDefinition } from "../library/registry/fnDefinition.js";
      8 import { FRType } from "../library/registry/frTypes.js";
      9 export type UserDefinedLambdaParameter = {
     10     name: string;
     11     domain?: VDomain;
     12 };
     13 type LambdaBody = (args: Value[], context: ReducerContext) => Value;
     14 export declare abstract class BaseLambda {
     15     body: LambdaBody;
     16     constructor(body: LambdaBody);
     17     abstract readonly type: string;
     18     abstract getName(): string;
     19     abstract toString(): string;
     20     abstract parameterString(): string;
     21     abstract parameterCounts(): number[];
     22     abstract parameterCountString(): string;
     23     callFrom(args: Value[], context: ReducerContext, ast: ASTNode | undefined): Value;
     24     call(args: Value[], context: ReducerContext): Value;
     25 }
     26 export declare class UserDefinedLambda extends BaseLambda {
     27     parameters: UserDefinedLambdaParameter[];
     28     location: LocationRange;
     29     name?: string;
     30     readonly type = "UserDefinedLambda";
     31     constructor(name: string | undefined, parameters: UserDefinedLambdaParameter[], stack: Stack, body: Expression, location: LocationRange);
     32     getName(): string;
     33     _getParameterNames(): string[];
     34     parameterString(): string;
     35     toString(): string;
     36     parameterCounts(): number[];
     37     parameterCountString(): string;
     38 }
     39 export declare class BuiltinLambda extends BaseLambda {
     40     name: string;
     41     readonly type = "BuiltinLambda";
     42     _definitions: FnDefinition[];
     43     constructor(name: string, signatures: FnDefinition[]);
     44     getName(): string;
     45     toString(): string;
     46     parameterString(): string;
     47     parameterCounts(): number[];
     48     parameterCountString(): string;
     49     signatures(): FRType<unknown>[][];
     50     _call(args: Value[], context: ReducerContext): Value;
     51 }
     52 export type Lambda = UserDefinedLambda | BuiltinLambda;
     53 export {};
     54 //# sourceMappingURL=lambda.d.ts.map