UNPKG

thaw-grammar

Version:

Implementations of the grammars of several programming languages, including LISP, Scheme, Prolog, and the Lambda Calculus.

24 lines 1.22 kB
import { IEnvironmentFrame } from '../../../common/domain-object-model/environment-frame'; import { IExpression } from '../../../common/domain-object-model/iexpression'; import { IGlobalInfo } from '../../../common/domain-object-model/iglobal-info'; import { ISExpression } from '../../lisp/domain-object-model/isexpression'; import { SExpressionBase } from '../../lisp/domain-object-model/sexpression-base'; export declare function isThunk(obj: unknown): obj is Thunk; export declare class Thunk extends SExpressionBase { readonly body: IExpression<ISExpression>; thunkEnvironment: IEnvironmentFrame<ISExpression>; readonly typename = "Thunk"; private dethunkedValue; constructor(body: IExpression<ISExpression>, thunkEnvironment: IEnvironmentFrame<ISExpression>); toString(): string; isNumber(): boolean; isSymbol(): boolean; isList(): boolean; isNull(): boolean; isPrimOp(): boolean; isClosure(): boolean; isString(): boolean; dethunk(globalInfo: IGlobalInfo<ISExpression>): ISExpression; evaluate(globalInfo: IGlobalInfo<ISExpression>, localEnvironment?: IEnvironmentFrame<ISExpression>, options?: unknown): ISExpression; } //# sourceMappingURL=thunk.d.ts.map