<div class="gmail_quote">On Fri, Nov 14, 2008 at 3:11 PM, Donnie Jones <span dir="ltr">&lt;<a href="mailto:donnie@darthik.com">donnie@darthik.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
<div class="gmail_quote">
<div class="Ih2E3d">
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">
<div class="gmail_quote">
<div><br>Pragmatically, though, I have two concerns with LLVM that I don&#39;t know how to address:<br>
<ol>
<li>It&#39;s written in an unsafe language, and therefore is very difficult to include in a BitC runtime.</li>
<li>It is starting to look like we need our own optimization infrastructure in order to efficiently avoid JIT compilation.</li></ol>Neither of these is insurmountable, and we may find solutions to both as we dig into LLVM more seriously.<br>
</div></div></blockquote></div>
<div><br>Maybe C-- (C minus minus) can provide the flexibility you need?</div></div></blockquote>
<div>&nbsp;</div>
<div>Unlikely, and C-- is by far the weaker infrastructure.<br></div>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
<div class="gmail_quote">
<div class="Ih2E3d">
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">
<div class="gmail_quote">
<div>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">One thing that clang does really well is proper error messages.&nbsp; This is also, to me, one of the main attractive properties of python (although the errors are at runtime).&nbsp; g++, on the other hand, has completely incomprehensible error messages if you make a mistake with anything that uses templates.&nbsp; In my opinion, it would be a good move to make error messages a focus early on.</blockquote>
</div>
<div><br>BitC actually does a very good job with some kinds of error messages that are well known to be hard, and we are pretty good at identifying locations of errors precisely. The messages themselves could certainly use improvement, and we need to do some work on error recovery in the parser. None of that is as important as getting a first working compiler into the field.<br>
</div></div></blockquote></div>
<div><br>I am also glad to hear that BitC will do a very good job with error messages.</div></div></blockquote>
<div>&nbsp;</div>
<div>Probably not at first, but we <em>will</em> pay attention to that.</div>
<div>&nbsp;</div>
<div>shap</div></div>