MCPcopy Create free account
hub / github.com/danja/dogalog / termToString

Function termToString

src/prolog/terms.js:16–29  ·  view source on GitHub ↗
(term)

Source from the content-addressed store, hash-verified

14}
15
16export function termToString(term) {
17 if (!term) return '∅';
18 if (term.type==='num') return String(term.value);
19 if (term.type==='atom') return term.name;
20 if (term.type==='var') return term.name;
21 if (term.type==='list') {
22 const base = term.items.map(termToString).join(', ');
23 const tail = term.tail ? ` | ${termToString(term.tail)}` : '';
24 return `[${base}${tail}]`;
25 }
26 if (term.type==='expr') return `(${termToString(term.left)} ${term.op} ${termToString(term.right)})`;
27 if (term.type==='compound') return `${term.f}(${term.args.map(termToString).join(', ')})`;
28 return '';
29}
30
31export function renameVars(clause, counter = { current: 0 }) {
32 const map = {};

Callers 2

queryAndScheduleMethod · 0.90
executeQueryMethod · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected