<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="moz-cite-prefix">On 7/11/20 1:50 AM, Chris Lattner
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:40F8ED27-06A6-4E4C-BB68-EE0D644097C1@nondot.org">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
On Jul 10, 2020, at 2:58 PM, Richard Smith via cfe-dev <<a
href="mailto:cfe-dev@lists.llvm.org" class=""
moz-do-not-send="true">cfe-dev@lists.llvm.org</a>> wrote:<br
class="">
<div>
<blockquote type="cite" class="">
<div class="">
<div dir="ltr" class="">
<div class="gmail_quote">
<div class=""><br class="">
</div>
<div class="">One other thing I think we should
consider: there will be substantial overlap between
the incremental compilation, code generation, REPL,
etc. of cling and that of lldb. For the initial
integration of cling into LLVM, there's probably not
much we can do about that, but it would seem
beneficial for both cling and lldb if common parts
could be shared where possible. As an extreme example,
if we could fully unify the projects to the point
where a user could switch into an 'lldb mode' in the
middle of a cling session to do step-by-step debugging
of code entered into the REPL, that would seem like an
incredibly useful feature. Perhaps there's some common
set of base functionality that can be factored out of
lldb and cling and unified. It would likely be a good
idea to start talking to the lldb folks about that
early, in case it guides your work porting cling to
trunk.</div>
</div>
</div>
</div>
</blockquote>
<br class="">
</div>
<div>This is a really good point. I’m not sure how much awareness
there is on this list, but the Swift REPL is worth looking at if
you haven’t seen it. It is built on/in LLDB, and provides some
really nice user experience features.</div>
<div><br class="">
</div>
<div>For example, if you evaluate an expression that crashes, you
get a full backtrace and integrated debugger experience. There
are a couple of examples on this page, and more detailed info
online:</div>
<div><a href="https://swift.org/lldb/" class=""
moz-do-not-send="true">https://swift.org/lldb/</a></div>
</blockquote>
<p><br>
</p>
<p> Thanks Chris! The <a moz-do-not-send="true"
href="https://reviews.llvm.org/D34444#793311">comments</a>
coming from John McCall allude to this that we need some broader
discussion on how we do things for incremental compilation. I
still have not forgotten that I need to get back to him with that
;)</p>
<p> That's one of the challenges I see. Currently upstreaming our
patches did not have enough context. Now I hope that we can start
with something minimal (and likely wrong) but we will have a
common tool in the context of which we can discuss how to make
things better. Putting swift-repl folks, lldb folks and cling
folks in one virtual room may be helpful.<br>
</p>
<p><br>
</p>
<blockquote type="cite"
cite="mid:40F8ED27-06A6-4E4C-BB68-EE0D644097C1@nondot.org">
<div><br class="">
</div>
<div>-Chris</div>
<br class="">
</blockquote>
<p><br>
</p>
</body>
</html>