meta-log-db
Version:
Native database package for Meta-Log (ProLog, DataLog, R5RS)
104 lines • 2.72 kB
TypeScript
/**
* Browser R5RS Registry
*
* Browser-specific R5RS registry using BrowserFileIO instead of Node.js fs
*/
import { BrowserFileIO } from '../io.js';
export interface BrowserR5RSRegistryConfig {
enableEncryption?: boolean;
mnemonic?: string;
encryptionPurpose?: 'local' | 'published' | 'contributor' | 'ephemeral';
fileIO?: BrowserFileIO;
}
/**
* Browser R5RS Function Registry
*/
export declare class BrowserR5RSRegistry {
private functions;
private enginePath?;
private parsedExpressions;
private fileIO;
private enableEncryption;
private mnemonic?;
private encryptionPurpose;
constructor(config?: BrowserR5RSRegistryConfig);
/**
* Initialize file I/O
*/
init(): Promise<void>;
/**
* Load R5RS engine from URL or IndexedDB
*/
load(path: string, url?: string): Promise<void>;
/**
* Register function from Scheme definition
*/
private registerFromScheme;
/**
* Register built-in R5RS functions
*/
private registerBuiltins;
/**
* Register Bipartite-BQF R5RS functions
*/
private registerBipartiteBQFFunctions;
/**
* Register polynomial operation R5RS functions
*/
private registerPolynomialFunctions;
/**
* Register Polyhedra R5RS functions
* Maps R5RS types to polyhedra geometry (cube vertices, polyhedra, BQF)
* Source: docs/32-Regulay-Polyhedra-Geometry/04-COMPUTATIONAL-MAPPING.md
*/
private registerPolyhedraFunctions;
/**
* Register categorical R5RS functions (monads, functors, comonads, perceptron, E8)
*/
private registerCategoricalFunctions;
/**
* Register Homology R5RS functions
*/
private registerHomologyFunctions;
/**
* Register MetaLogNode R5RS functions
*/
private registerMetaLogNodeFunctions;
/**
* Register Geometry R5RS functions
*/
private registerGeometryFunctions;
/**
* Register DAG R5RS functions
*/
private registerDAGFunctions;
/**
* Register Org Mode R5RS functions
*/
private registerOrgModeFunctions;
/**
* Execute an R5RS function
*/
execute(functionName: string, args: any[]): Promise<any>;
/**
* Register a custom function
*/
register(name: string, fn: Function): void;
/**
* Get a function by name
*/
getFunction(name: string): Function | null;
/**
* Check if a function exists
*/
hasFunction(name: string): boolean;
/**
* Get all registered function names
*/
getFunctionNames(): string[];
/**
* Clear all functions
*/
clear(): void;
}
//# sourceMappingURL=browser-registry.d.ts.map