Open micha opened 5 years ago
Any chance this gets merged and released?
I have resuscitated this recently for a project that's using javelin for incremental computation (scoring functions and constraints for local search for discrete optimization). I incorporated this PR into master, but there were only minor changes to build.boot and the readme....is there any reason this PR has not been accepted?
@joinr I don't believe this has been battle tested. However I'm happy to merge this PR and push a release if you believe it to be sufficient for your production use case.
A release with a warning in the readme sounds reasonable to me, at least people can easily give it a spin and provide feedback/issues/PRs
@flyboarder I'm actually going through and trying to unify under cljc after merging. The tests all pass as well, so while not quite "battle tested" there certainly isn't a regression so far. There appears to be a slight disconnect between the implementation for javelin.cell/cell-doseq and the implementation in javelin.core/cell-doseq (from core.cljs), although I think they should probably do the same thing. So, right not, none of the examples that use the function cell
will work with the clojure implementation out of the box (since cell
lives in javelin.cell, not javelin.core). I think getting this cleaned up is logical, although it doesn't stop merging the PR outright.
I'm curious about some of the jvm stuff too; like the comments regarding circular dependencies causing runtime looping. It seems like testing for cycles is fundamental to dataflow (e.g. excel does this naturally), and is pretty easy to implement (or extract from an existing lib). Curious if that's just a limitation of the jvm backend or if there isn't any validation of the DAG during propagation that indicates cycles (somewhat off topic).
@joinr Currently there is no cyclic validation of the DAG, runtime loops are not prevented