From the README:
The approach is surprisingly simple: for each line of code you enter, we compile a shared object in the background. If the compilation succeeds, the object is loaded into a child process via dlopen(). Parsing of C #includes uses gccxml. (Unfortunately, I can't figure out how to use gccxml to parse the user's input, and due to the complexity of parsing C the input parser is currently hacky and heuristic.)
While I agree that this may be an elegant (simple) way of doing things, how responsive is the compilation process for the RE portion of REPL? Even a one second wait time might seem tedious.