<div dir="ltr">On Fri, Feb 22, 2013 at 10:09 AM, Frank Loeffler <span dir="ltr">&lt;<a href="mailto:knarf@cct.lsu.edu" target="_blank">knarf@cct.lsu.edu</a>&gt;</span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<div class="im"><br>
On Fri, Feb 22, 2013 at 02:11:22PM +0100, Ian Hinder wrote:<br>
&gt; I see that Piraha is written in C++, so we<br>
&gt; would have to relax the restriction that the flesh can only contain C<br>
&gt; code.<br>
<br>
</div>I don&#39;t see a reason for this restriction anymore. In fact, using C++<br>
would make some of this code much more readable and maintainable.<br>
Speaking if C++ in the flesh: How strict was this in the past anyway;<br>
looking at src/main/flesh.cc from 1998, written by Tom? Of course, this<br>
is just a minimal C++ program, not using any of the features that past<br>
C++ compilers could have stumbled over.<br></blockquote><div><br></div><div style>The main program needs to be written in C++ to allow linking with other C++ code. At that time, the flesh was pure ANSI C.</div><div style>
<br></div><div style>However, times have changed. Carpet has proved that C++ is possible and efficient on any interesting system. Our current policy is to allow C++ features, in particular if they lead to &quot;better&quot; (simpler) code, and if the code is portable. That means in particular that C++11 features are probably not a good idea, but using e.g. STL containers would be nice. In other cases, preprocessor magic and code duplication may be replaced by templates.</div>
<div><br></div><div style>-erik</div><div style> <br></div></div>-- <br>Erik Schnetter &lt;<a href="mailto:schnetter@cct.lsu.edu" target="_blank">schnetter@cct.lsu.edu</a>&gt;<br><a href="http://www.perimeterinstitute.ca/personal/eschnetter/" target="_blank">http://www.perimeterinstitute.ca/personal/eschnetter/</a>
</div></div>