cumalis-lisp
Version:
A Scheme implementation written in Typescript.
16 lines (15 loc) • 3.12 kB
TypeScript
import { LISP } from "./types";
export declare const Import: import("./interpreter").BuiltInProcedureDefinition<"sets", ({ sets }: Partial<Record<"sets", LISP.Object | LISP.Object[] | null>>, itrp: import("./interpreter").Interpreter | undefined, stack: LISP.CallStack | undefined) => LISP.Object>;
export declare const procedures: {
Import: import("./interpreter").BuiltInProcedureDefinition<"sets", ({ sets }: Partial<Record<"sets", LISP.Object | LISP.Object[] | null>>, itrp: import("./interpreter").Interpreter | undefined, stack: LISP.CallStack | undefined) => LISP.Object>;
define: import("./interpreter").BuiltInProcedureDefinition<"arg1" | "arg2", ({ arg1, arg2 }: Partial<Record<"arg1" | "arg2", LISP.Object | LISP.Object[] | null>>, itrp: import("./interpreter").Interpreter | undefined, stack: LISP.CallStack | undefined) => LISP.Object>;
defineValues: import("./interpreter").BuiltInProcedureDefinition<"expr" | "formals", ({ formals, expr }: Partial<Record<"expr" | "formals", LISP.Object | LISP.Object[] | null>>, itrp: import("./interpreter").Interpreter | undefined, stack: LISP.CallStack | undefined) => LISP.Object>;
defineSyntax: import("./interpreter").BuiltInProcedureDefinition<"keyword" | "spec", ({ keyword, spec }: Partial<Record<"keyword" | "spec", LISP.Object | LISP.Object[] | null>>, itrp: import("./interpreter").Interpreter | undefined, stack: LISP.CallStack | undefined) => LISP.Object>;
defineSyntax1: import("./interpreter").BuiltInProcedureDefinition<"keyword" | "spec", ({ keyword, spec }: Partial<Record<"keyword" | "spec", LISP.Object | LISP.Object[] | null>>, itrp: import("./interpreter").Interpreter | undefined, stack: LISP.CallStack | undefined) => LISP.Object>;
defineRecordType: import("./interpreter").BuiltInProcedureDefinition<"name" | "ctor" | "pred" | "fields", ({ name, ctor, pred, fields }: Partial<Record<"name" | "ctor" | "pred" | "fields", LISP.Object | LISP.Object[] | null>>, itrp: import("./interpreter").Interpreter | undefined, stack: LISP.CallStack | undefined) => LISP.Object>;
makeRecord: import("./interpreter").BuiltInProcedureDefinition<"type", ({ type }: Partial<Record<"type", LISP.Object | LISP.Object[] | null>>) => LISP.Object>;
recordTypeQ: import("./interpreter").BuiltInProcedureDefinition<"type" | "rec", ({ rec, type }: Partial<Record<"type" | "rec", LISP.Object | LISP.Object[] | null>>) => LISP.Object>;
recordGet: import("./interpreter").BuiltInProcedureDefinition<"rec" | "field", ({ rec, field }: Partial<Record<"rec" | "field", LISP.Object | LISP.Object[] | null>>) => LISP.Object>;
recordSetD: import("./interpreter").BuiltInProcedureDefinition<"value" | "rec" | "field", ({ rec, field, value }: Partial<Record<"value" | "rec" | "field", LISP.Object | LISP.Object[] | null>>) => LISP.Object>;
defineLibrary: import("./interpreter").BuiltInProcedureDefinition<"name" | "decls", ({ name, decls }: Partial<Record<"name" | "decls", LISP.Object | LISP.Object[] | null>>, itrp: import("./interpreter").Interpreter | undefined, stack: LISP.CallStack | undefined) => LISP.CallStack>;
};