unsuspected-hangeul
Version:
함수형 난해한 언어 '평범한 한글'의 명세와 구현체입니다. 평범한 한글 문장으로 보이는 프로그램을 짜보세요!
18 lines (17 loc) • 903 B
TypeScript
import * as AS from './abstractSyntax';
export declare class EvalContext implements AS.EvalContextBase {
loadUtils: AS.LoadUtils;
constructor(loadUtils: AS.LoadUtils);
/** Forces strict evaluation of the value */
strict(value: AS.Value): AS.StrictValue;
/**
* Converts function-like values into functions.
* @param metadata Caller's metadata.
* @param fun A maybe-Expr value that may correspond to a function.
* @param generalCallable Whether to allow callable other than function.
* @returns A recipe function that receives argument list and returns the value.
*/
procFunctional(metadata: AS.Metadata, fun: AS.Value, generalCallable?: boolean | undefined): AS.Evaluation;
}
/** Evaluates the expression in given environment and returns a value */
export declare function interpret(context: AS.EvalContextBase, expr: AS.AST, env: AS.Env): AS.Value;