Simple integration of module functionality
This commit is contained in:
parent
c866cc812a
commit
7afae96cf4
|
@ -414,18 +414,18 @@ module Registry = {
|
||||||
->E.A.O.concatSomes
|
->E.A.O.concatSomes
|
||||||
->E.A.uniq
|
->E.A.uniq
|
||||||
|
|
||||||
let makeModules = (t: registry) => {
|
let makeModules = (prevBindings: Reducer_Module.t, t: registry): Reducer_Module.t => {
|
||||||
let nameSpaces = allNamespaces(t)
|
let nameSpaces = allNamespaces(t)
|
||||||
nameSpaces->E.A2.fmap(nameSpace => {
|
let nameSpaceBindings = nameSpaces->E.A2.fmap(nameSpace => {
|
||||||
let definitions = t->definitions->E.A2.filter(d => d.nameSpace === Some(nameSpace))
|
let definitions = t->definitions->E.A2.filter(d => d.nameSpace === Some(nameSpace))
|
||||||
|
|
||||||
// E.A.reduce(definitions, Reducer_Module.emptyStdLib, (acc, d) => {
|
let newModule = E.A.reduce(definitions, Reducer_Module.emptyStdLib, (acc, d) => {
|
||||||
// let name = d.name
|
acc->Reducer_Module.defineFunction(d.name, FnDefinition.toFfiFn(d))
|
||||||
// let definition = FnDefinition.toLambda(d)
|
})
|
||||||
// let foo = Reducer_Module.defineFunction("Fhi", definition)
|
(nameSpace, newModule)
|
||||||
// })
|
|
||||||
// let module = Module.make(nameSpace, functions)
|
|
||||||
// module
|
|
||||||
})
|
})
|
||||||
|
E.A.reduce(nameSpaceBindings, prevBindings, (acc, (name, fn)) =>
|
||||||
|
acc->Reducer_Module.defineModule(name, fn)
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -72,7 +72,7 @@ let registry = [
|
||||||
~requiresNamespace=true,
|
~requiresNamespace=true,
|
||||||
~name="makeDiscrete",
|
~name="makeDiscrete",
|
||||||
~inputs=[FRTypeArray(FRTypeRecord([("x", FRTypeNumeric), ("y", FRTypeNumeric)]))],
|
~inputs=[FRTypeArray(FRTypeRecord([("x", FRTypeNumeric), ("y", FRTypeNumeric)]))],
|
||||||
~run=(inputs, _) => inputsTodist(inputs, r => Continuous(Continuous.make(r))),
|
~run=(inputs, _) => inputsTodist(inputs, r => Discrete(Discrete.make(r))),
|
||||||
(),
|
(),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
|
|
|
@ -20,4 +20,6 @@ let mathBindings: Bindings.t =
|
||||||
->Bindings.fromArray
|
->Bindings.fromArray
|
||||||
|
|
||||||
let makeBindings = (previousBindings: Bindings.t): Bindings.t =>
|
let makeBindings = (previousBindings: Bindings.t): Bindings.t =>
|
||||||
previousBindings->Bindings.defineModule("Math", mathBindings)
|
previousBindings
|
||||||
|
->Bindings.defineModule("Math", mathBindings)
|
||||||
|
->FunctionRegistry_Core.Registry.makeModules(FunctionRegistry_Library.registry)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user