dope2/examples/environment.js

19 lines
No EOL
629 B
JavaScript

import { compareTypes } from "../lib/compare/type.js";
import { ModuleStd } from "../lib/stdlib.js";
import { emptyDict, get, set } from "../lib/structures/dict.js";
import { emptySet, add } from "../lib/structures/set.js";
import { makeCompareFn } from "../lib/compare/dynamic.js"
// console.log(ModuleStd);
const typeDict = ModuleStd.reduce((typeDict, {i, t}) => {
try {
const instances = get(typeDict)(t) || emptySet(makeCompareFn(t));
return set(typeDict)(t)(add(instances)(i));
} catch (e) {
console.log('warning:',e.message);
return typeDict;
}
}, emptyDict(compareTypes));
console.log(typeDict);