I have reviewed for both branding and technical content, and it looks great. Thank you for writing.
When it’s final, let me know, and I’ll promote it using the ApacheCalcite Twitter account. If I were writing the post, I’d qualify the statement "The modern way to implement compilers … is to use the visitor pattern” a little. Visitors are certainly one tool you can use, and they make sense in an OO language like Java that has inheritance (therefore single-dispatch) but weak pattern-matching. But they can be cumbersome, difficult to maintain (because you can’t easily pass state around), and inefficient (because you need to walk the whole tree). In Calcite, there are tools other than visitor; rewrite rules (RelRule) are preferred in many circumstances, since they walk over a small section of the tree, and do not mutate the tree. Metadata allows you to propagate properties (e.g. unique keys) towards the root of the tree and use caching to avoid continually re-computing. Julian > On Oct 23, 2023, at 5:16 PM, <[email protected]> <[email protected]> wrote: > > Hello all, > > > > I am planning to write a series of blog posts about Calcite. > > I wrote a first one on 3 or the Calcite IR representations. > > I would appreciate if anyone could vet it: > https://www.feldera.com/blog/calcite-irs/ > > I don't want to mislead readers. > > > > Julian suggested adding this kind of stuff to "what's new" as well, so if I > find a good place I will send a PR. > > > > Thank you! > > Mihai >
