dope2/lib/symbol.js

22 lines
558 B
JavaScript

import { eqSymbol, getName } from "../primitives/symbol.js";
import { Bool, SymbolT, Type } from "../primitives/types.js";
import { String } from "../structures/list.js";
import { typedFnType } from "../structures/types.js";
export const ModuleSymbol = {l:[
{i: SymbolT, t: Type},
// ...typedFnType(constructSymbol, fnType =>
// fnType
// (String)
// (SymbolT)
// ),
...typedFnType(getName, fnType =>
fnType
(SymbolT)
(String)
),
...typedFnType(eqSymbol, fnType => fnType(SymbolT, fnType(SymbolT, Bool))),
]};