meander

All things about https://github.com/noprompt/meander Need help and no one responded? Feel free to ping @U5K8NTHEZ
markaddleman 2020-02-02T14:40:33.171200Z

Holy moly! I'm writing an event processing system where event filters can be expressed in arbitrary SQL WHERE clauses. In order to process the filters, we batch incoming events, create a SELECT statement consisting of an array of events and the filter conditions/where clauses. The approach works but is not as performant as we'd like. There are some common filter patterns that we want to fast path by evaluating in the JVM and skipping the database. Even though the patterns are conceptually simple, they can be expressed in a number of different ways and I was dreading writing the interpreter. Meander's term rewriting made the problem VERY simple! Holy moly! With just six or so rewriting rules, the filters are converted to either fast path patterns or not converted at all (in which case, we send to the database for processing). The best part is that the system is pretty extensible so as we discover more common filter patterns, we can write fast path routes for them without a lot of effort. Holy moly! And thanks :)

🎉 1
jimmy 2020-02-02T17:07:08.172600Z

@markaddleman So awesome to hear! Sounds like a fantastic use case for meander. Glad it worked out. Definitely let us know if we can help you with anything.

👍 1