tricu

An interpreted language for exploring Tree Calculus
Log | Files | Refs | README | LICENSE

runtime-backends.js (660B)


      1 export const backends = {
      2     'zig-wasm': { label: 'Zig', worker: './wasm-worker.js?backend=zig-wasm' },
      3     'haskell-wasm': { label: 'Haskell', worker: './wasm-worker.js?backend=haskell-wasm' },
      4 };
      5 export function backend(value) {
      6     if (!Object.hasOwn(backends, value))
      7         throw new Error('Unknown runtime backend');
      8     return value;
      9 }
     10 export function graphStats(stats) { return !('backend' in stats); }
     11 export function runtimeStats(stats) {
     12     return graphStats(stats) ? `${stats.nodes.toLocaleString()} heap nodes ยท ${stats.work.toLocaleString()} work units`
     13         : `${(stats.linearMemoryBytes / 1048576).toFixed(1)} MiB WASM linear memory`;
     14 }