8. Literature

8.1. What is Cling?

Relaxing the One Definition Rule in Interpreted C++

Author: Javier Lopez Gomez et al. Conference: CC ‘20: 29th International Conference on Compiler Construction 2020

This paper discusses how Cling enables redefinitions of C++ entities at the prompt, and the implications of interpreting C++ and the One Definition Rule (ODR) in C++

Cling – The New Interactive Interpreter for ROOT 6

V Vasilev et al 2012 J. Phys.: Conf. Ser. 396 052071

This paper describes the link between Cling and ROOT. The concepts of REPL and JIT compilation. Cling’s methods for handling errors, expression evaluation, streaming out of execution results, runtime dynamism.

Interactive, Introspected C++ at CERN

Media: YouTube Year:2013 Author: V. Vasilev

Vassil Vasilev (Princeton University) explains how Cling enables interactivity in C++, and illustrates the type introspection mechanism provided by the interpreter.

Introducing cling, a C++ Interpreter Based on clang/LLVM

Author: Axel Naumann Media: YouTube Year: 2012 Googletechtalks

Axel Naumann (CERN) discusses Cling’s most relevant features: abstract syntax tree (AST) production, wrapped functions, global initialization of a function, delay expression evaluation at runtime, and dynamic scopes.

Creating cling, an interactive interpreter interface…”

Author: Axel Naumann Media: YouTube Year: 2010 LLVM developers’ meeting

This presentation introduces Cling, an ahead-of-time compiler that extends C++ for ease of use as an interpreter.

8.2. Demos, tutorials, Cling’s ecosystem:

8.3. Language Interoperability with Cling:

8.4. Cling for interactive CUDA C++:

8.5. Cling on Jupyter:

8.6. Clad: