There’s a recurring theme in my career, going back to my very first job, that goes under the mental headline of “wide logic” problems… That’s where you have a somewhat narrow stream (conceptually, not necessarily streaming per se) of data, and you need to evaluate a large number of functions against each item--at least a handful, often dozens, sometimes hundreds! The functions are basically always provided by the user, although normally in a declarative, non-Turing-complete DSL. I’m curious whether others have noticed this pattern, and whether you know of any more mainstream labels for it?
The closest I’ve found is papers that reference publish/subscribe and indexing techniques for complex boolean expression trees, e.g.:
•
An efficient publish/subscribe index for e-commerce databases (VLDB ’14)
•
Analysis and optimization for boolean expression indexing [BE-Tree] (ACM Trans. DB. Sys. ’13)
•
A-Tree: A Dynamic Data Structure for Efficiently Indexing Arbitrary Boolean Expressions (SIGMOD/PODS ’21 … actually this is a new one for me, I need to read it now… 🙂)