cumalis-lisp
Version:
A Scheme implementation written in Typescript.
53 lines (52 loc) • 8.18 kB
TypeScript
import { LISP } from "./types";
export declare const inexact: import("./interpreter").BuiltInProcedureDefinition<"z", ({ z }: Partial<Record<"z", LISP.Object | LISP.Object[] | null>>) => LISP.INumber>;
export declare const exact: import("./interpreter").BuiltInProcedureDefinition<"z", ({ z }: Partial<Record<"z", LISP.Object | LISP.Object[] | null>>) => LISP.INumber>;
export declare const procedures: {
numberQ: import("./interpreter").BuiltInProcedureDefinition<"obj", ({ obj }: Partial<Record<"obj", LISP.Object | LISP.Object[] | null>>) => LISP.IBoolean>;
realQ: import("./interpreter").BuiltInProcedureDefinition<"obj", ({ obj }: Partial<Record<"obj", LISP.Object | LISP.Object[] | null>>) => LISP.IBoolean>;
integerQ: import("./interpreter").BuiltInProcedureDefinition<"obj", ({ obj }: Partial<Record<"obj", LISP.Object | LISP.Object[] | null>>) => LISP.IBoolean>;
exactQ: import("./interpreter").BuiltInProcedureDefinition<"z", ({ z }: Partial<Record<"z", LISP.Object | LISP.Object[] | null>>) => LISP.IBoolean>;
inexactQ: import("./interpreter").BuiltInProcedureDefinition<"z", ({ z }: Partial<Record<"z", LISP.Object | LISP.Object[] | null>>) => LISP.IBoolean>;
exactIntegerQ: import("./interpreter").BuiltInProcedureDefinition<"z", ({ z }: Partial<Record<"z", LISP.Object | LISP.Object[] | null>>) => LISP.IBoolean>;
eq: import("./interpreter").BuiltInProcedureDefinition<"z1" | "z2" | "zs", ({ z1, z2, zs }: Partial<Record<"z1" | "z2" | "zs", LISP.Object | LISP.Object[] | null>>) => LISP.IBoolean>;
lt: import("./interpreter").BuiltInProcedureDefinition<"z1" | "z2" | "zs", ({ z1, z2, zs }: Partial<Record<"z1" | "z2" | "zs", LISP.Object | LISP.Object[] | null>>) => LISP.IBoolean>;
gt: import("./interpreter").BuiltInProcedureDefinition<"z1" | "z2" | "zs", ({ z1, z2, zs }: Partial<Record<"z1" | "z2" | "zs", LISP.Object | LISP.Object[] | null>>) => LISP.IBoolean>;
le: import("./interpreter").BuiltInProcedureDefinition<"z1" | "z2" | "zs", ({ z1, z2, zs }: Partial<Record<"z1" | "z2" | "zs", LISP.Object | LISP.Object[] | null>>) => LISP.IBoolean>;
ge: import("./interpreter").BuiltInProcedureDefinition<"z1" | "z2" | "zs", ({ z1, z2, zs }: Partial<Record<"z1" | "z2" | "zs", LISP.Object | LISP.Object[] | null>>) => LISP.IBoolean>;
nanQ: import("./interpreter").BuiltInProcedureDefinition<"z", ({ z }: Partial<Record<"z", LISP.Object | LISP.Object[] | null>>) => LISP.IBoolean>;
zeroQ: import("./interpreter").BuiltInProcedureDefinition<"z", ({ z }: Partial<Record<"z", LISP.Object | LISP.Object[] | null>>) => LISP.IBoolean>;
positiveQ: import("./interpreter").BuiltInProcedureDefinition<"z", ({ z }: Partial<Record<"z", LISP.Object | LISP.Object[] | null>>) => LISP.IBoolean>;
negativeQ: import("./interpreter").BuiltInProcedureDefinition<"z", ({ z }: Partial<Record<"z", LISP.Object | LISP.Object[] | null>>) => LISP.IBoolean>;
oddQ: import("./interpreter").BuiltInProcedureDefinition<"n", ({ n }: Partial<Record<"n", LISP.Object | LISP.Object[] | null>>) => LISP.IBoolean>;
evenQ: import("./interpreter").BuiltInProcedureDefinition<"n", ({ n }: Partial<Record<"n", LISP.Object | LISP.Object[] | null>>) => LISP.IBoolean>;
max: import("./interpreter").BuiltInProcedureDefinition<"xs", ({ xs }: Partial<Record<"xs", LISP.Object | LISP.Object[] | null>>) => LISP.INumber>;
min: import("./interpreter").BuiltInProcedureDefinition<"xs", ({ xs }: Partial<Record<"xs", LISP.Object | LISP.Object[] | null>>) => LISP.INumber>;
add: import("./interpreter").BuiltInProcedureDefinition<"zs", ({ zs }: Partial<Record<"zs", LISP.Object | LISP.Object[] | null>>) => LISP.INumber>;
sub: import("./interpreter").BuiltInProcedureDefinition<"z1" | "zs", ({ z1, zs }: Partial<Record<"z1" | "zs", LISP.Object | LISP.Object[] | null>>) => LISP.INumber>;
mul: import("./interpreter").BuiltInProcedureDefinition<"zs", ({ zs }: Partial<Record<"zs", LISP.Object | LISP.Object[] | null>>) => LISP.INumber>;
div: import("./interpreter").BuiltInProcedureDefinition<"z1" | "zs", ({ z1, zs }: Partial<Record<"z1" | "zs", LISP.Object | LISP.Object[] | null>>) => LISP.INumber | LISP.IError>;
abs: import("./interpreter").BuiltInProcedureDefinition<"x", ({ x }: Partial<Record<"x", LISP.Object | LISP.Object[] | null>>) => LISP.INumber>;
floorS: import("./interpreter").BuiltInProcedureDefinition<"n1" | "n2", ({ n1, n2 }: Partial<Record<"n1" | "n2", LISP.Object | LISP.Object[] | null>>) => LISP.IMultiValue>;
floorQuotient: import("./interpreter").BuiltInProcedureDefinition<"n1" | "n2", ({ n1, n2 }: Partial<Record<"n1" | "n2", LISP.Object | LISP.Object[] | null>>) => LISP.INumber>;
floorRemainder: import("./interpreter").BuiltInProcedureDefinition<"n1" | "n2", ({ n1, n2 }: Partial<Record<"n1" | "n2", LISP.Object | LISP.Object[] | null>>) => LISP.INumber>;
truncateS: import("./interpreter").BuiltInProcedureDefinition<"n1" | "n2", ({ n1, n2 }: Partial<Record<"n1" | "n2", LISP.Object | LISP.Object[] | null>>) => LISP.IMultiValue>;
truncateQuotient: import("./interpreter").BuiltInProcedureDefinition<"n1" | "n2", ({ n1, n2 }: Partial<Record<"n1" | "n2", LISP.Object | LISP.Object[] | null>>) => LISP.INumber>;
truncateRemainder: import("./interpreter").BuiltInProcedureDefinition<"n1" | "n2", ({ n1, n2 }: Partial<Record<"n1" | "n2", LISP.Object | LISP.Object[] | null>>) => LISP.INumber>;
quotient: import("./interpreter").BuiltInProcedureDefinition<"n1" | "n2", ({ n1, n2 }: Partial<Record<"n1" | "n2", LISP.Object | LISP.Object[] | null>>) => LISP.INumber>;
remainder: import("./interpreter").BuiltInProcedureDefinition<"n1" | "n2", ({ n1, n2 }: Partial<Record<"n1" | "n2", LISP.Object | LISP.Object[] | null>>) => LISP.INumber>;
modulo: import("./interpreter").BuiltInProcedureDefinition<"n1" | "n2", ({ n1, n2 }: Partial<Record<"n1" | "n2", LISP.Object | LISP.Object[] | null>>) => LISP.INumber>;
gcd: import("./interpreter").BuiltInProcedureDefinition<"ns", ({ ns }: Partial<Record<"ns", LISP.Object | LISP.Object[] | null>>) => LISP.INumber>;
lcm: import("./interpreter").BuiltInProcedureDefinition<"ns", ({ ns }: Partial<Record<"ns", LISP.Object | LISP.Object[] | null>>) => LISP.INumber>;
floor: import("./interpreter").BuiltInProcedureDefinition<"x", ({ x }: Partial<Record<"x", LISP.Object | LISP.Object[] | null>>) => LISP.INumber>;
ceiling: import("./interpreter").BuiltInProcedureDefinition<"x", ({ x }: Partial<Record<"x", LISP.Object | LISP.Object[] | null>>) => LISP.INumber>;
truncate: import("./interpreter").BuiltInProcedureDefinition<"x", ({ x }: Partial<Record<"x", LISP.Object | LISP.Object[] | null>>) => LISP.INumber>;
rationalize: import("./interpreter").BuiltInProcedureDefinition<"y" | "x", () => never>;
round: import("./interpreter").BuiltInProcedureDefinition<"x", ({ x }: Partial<Record<"x", LISP.Object | LISP.Object[] | null>>) => LISP.INumber>;
square: import("./interpreter").BuiltInProcedureDefinition<"x", ({ x }: Partial<Record<"x", LISP.Object | LISP.Object[] | null>>) => LISP.INumber>;
exactIntegerSqrt: import("./interpreter").BuiltInProcedureDefinition<"k", ({ k }: Partial<Record<"k", LISP.Object | LISP.Object[] | null>>) => LISP.IMultiValue>;
expt: import("./interpreter").BuiltInProcedureDefinition<"z1" | "z2", ({ z1, z2 }: Partial<Record<"z1" | "z2", LISP.Object | LISP.Object[] | null>>) => LISP.INumber>;
inexact: import("./interpreter").BuiltInProcedureDefinition<"z", ({ z }: Partial<Record<"z", LISP.Object | LISP.Object[] | null>>) => LISP.INumber>;
exact: import("./interpreter").BuiltInProcedureDefinition<"z", ({ z }: Partial<Record<"z", LISP.Object | LISP.Object[] | null>>) => LISP.INumber>;
numberToString: import("./interpreter").BuiltInProcedureDefinition<"z" | "radix", ({ z, radix }: Partial<Record<"z" | "radix", LISP.Object | LISP.Object[] | null>>) => LISP.IString>;
stringToNumber: import("./interpreter").BuiltInProcedureDefinition<"str" | "radix", ({ str, radix }: Partial<Record<"str" | "radix", LISP.Object | LISP.Object[] | null>>) => LISP.INumber | LISP.IBoolean>;
};