Simple integration of module functionality

This commit is contained in:
Ozzie Gooen 2022-07-07 18:30:56 -07:00
parent c866cc812a
commit 7afae96cf4
3 changed files with 14 additions and 12 deletions

View File

@ -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)
)
} }
} }

View File

@ -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))),
(), (),
), ),
], ],

View File

@ -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)