Cling Transitions to LLVM’s Clang-Repl

Over the last decade we developed an interactive, interpretative C++ interpreter (aka REPL) as part of the high-energy physics (HEP) data analysis project – ROOT. We invested a significant effort to replace CINT, the C++ interpreter used until ROOT5, with a newly implemented REPL based on llvm – Cling. Cling is a core component of ROOT and has been in production since 2014.


This is a companion discussion topic for the original entry at https://root.cern/blog/cling-in-llvm/

Does it mean that new Clang-Repl will make it possible to use any C/C++ lib without any additional efforts, e.g. wrapping?
I’d like to use Runge-Kutta from GSL (GNU Scientific Library) to solve differential equations.

Thanks.
Regards. Valeriy

Hi Valeriy,
I think @Axel or @moneta can give you more details

3 posts were split to a new topic: ClassDef / ClassImp

A post was split to a new topic: ODE (Runge-Kutta 4, etc.) from GSL or boost from inside ROOT interactive session

Hi Valeriy,

Thanks for your comment. I’d need more details to answer your question in details. For example, the GSL RK to solve differential equations in C++ or Python? What do you mean by wrapping – static bindings?

I try to answer broadly to your question broadly. The goal of Clang-Repl is to offer a Cling-like experience to the broader community with improved stability and tighter integration with the Clang compiler. Once that happen we should be one step closer to have C++ language (eg Python) bindings on the fly. That would indeed enable using some libraries which do not have static bindings (swig or pybind11).

AFAIR gsl is C, and that works just fine even today, in cling.