Fork me on GitHub

I'll admit I've also been using the term "data oriented programming" to describe the hybrid approach of using DDP and DOP together (as defined by @viebel above). For example, I consider the approach of such libraries like reitit and malli to be declarative descriptions of computation and behavior, that are taking advantage of the fact that by reusing existing generic immutable data structures can lean on all the benefits of existing Clojure tooling. So does that make them a hybrid of DDP and DOP? OTOH, something like meander is clearly a declarative description of computation that is a more custom DSL that I would not consider transforming as easily via regular clojure data functions (so DDP, but not DOP).


Is that a fair assessment? And is there a term for something that is both DDP and DOP? (Since I find lots of Clojure code is moving in that direction - and it does have certain interesting benefits over just DDP)


Also, are computation graph libraries (e.g. plumatic/graph, onyx, pathom) that use normal Clojure data structures to define computations declaratively via an EDN dependency graph (+ opaque resolving function) considered DDP/DOP/both/neither?