Hi! First of all, thanks for building and open-sourcing Cling. It’s a brilliant piece of software.
I’m interested in working on something similar, but for Rust. My goal was to take as much inspiration from this project as I can, and then adapt whatever is necessary.
While I can go through the codebase, and the talks to understand how Cling works, I wondered whether there is a document describing how Cling works. In particular, something like this https://www.sqlite.org/arch.html would be really nice to have.
We don’t - after all, cling is a tiny extension to clang, so I guess we assumed it to be straightforward But with cling’s code base growing maybe it’s a good idea to write something like this up! @jalopezg would you be up for such a document or even paper?
Recently, a blog post has been published by Vassil Vassilev on the LLVM project blog; see here. It gives a nice overview on how Cling works. Additionally, you can read the Cling-related published papers; a list can be found at https://compiler-research.org/publications/.
As @Axel said, if something more detailed is needed, I might contribute it (with the help of Vassil and Axel) in the upcoming months :-).