<p>This would be why you would never maintain the generated code. For example, the bulk of AllTray is written and maintained in Vala, which translates to C+GObject code. Vala is terribly convenient to use, at least in many cases; it is very C#-like. But some of AllTray is written directly in C, for things that weren&#39;t easy to do (at the time; I believe this has actually changed but I haven&#39;t looked at it yet).</p>

<p>The thing is that while the Vala source files are in git, the generated C files are not. They are generated prior to shipping a tarball, so that users can compile the .c files and only need to have Vala installed if they want to modify the Vala code. Automake runs the Vala compiler as part of the &quot;make dist&quot; process, but doesn&#39;t compile the generated .c files, of course.</p>

<p>If you seriously will benefit from time savings, consider something like Vala for your project. I believe the use of Vala has saved me a lot of time---more than I can even quantify. The important point is simply to maintain the source in your VCS and not the generated files. Pretend that the generated .c files are like ./configure; you ship it, but you do not craft it by hand nor track it in a VCS.</p>

<p>--<br>
Sent from my Ice Cream Sandwich-powered HTC G2<br>
Please excuse any typos.</p>
<div class="gmail_quote">On Feb 21, 2012 11:18 AM, &quot;Michael Campbell&quot; &lt;<a href="mailto:michael.campbell@gmail.com">michael.campbell@gmail.com</a>&gt; wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>Beware, down this path lay demons!</div><div><br></div>One of the problems with language-to-language conversions (unless the languages are already very similar, which these 2 are decidedly not =) is the complete loss of idioms in the language you convert to.  You *CAN* convert them of course, but they generally are, as mentioned below, almost totally unmaintainable if even readable at all.  I&#39;ve been at companies that did these sorts of things in the past and they get you over an initial &quot;hump&quot; usually, but in the end any such code that had to be looked at later was always rewritten from scratch.  Some code of course never IS looked at again (standard libraries and such) and can remain, but after the institutional knowledge of it has faded, that code has a momentum of opacity too, and sometimes remains even when it SHOULD be looked at and modified.<div>

<br></div><div><br><div><br></div><div><br><br><div class="gmail_quote">On Mon, Feb 20, 2012 at 12:25 PM, Watson, Keith <span dir="ltr">&lt;<a href="mailto:krwatson@cc.gatech.edu" target="_blank">krwatson@cc.gatech.edu</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">==== begin quote ====<br>
<br>
Terry Bailey | 14 Feb 17:05<br>
LISP to C<br>
<br>
Is there a way to convert LISP source code into readable C source code?<br>
<br>
==== end quote ====<br>
<br>
<br>
Terry posted the following question and I just happened to get asked the same question today. Here is the answer:<br>
<br>
Yes sort of. It can be converted to human readable form but it may not be very maintainable.<br>
<br>
convert lisp to c - I really didn&#39;t expect this search to work but it did.<br>
<a href="http://www.google.com/#hl=en&amp;sclient=psy-ab&amp;q=convert+lisp+to+c&amp;pbx=1&amp;oq=convert+lisp+to+c&amp;aq=f&amp;aqi=g1g-v2&amp;aql=&amp;gs_sm=3&amp;gs_upl=39808l43803l5l44535l17l12l0l4l4l0l104l909l11.1l16l0&amp;bav=on.2,or.r_gc.r_pw.r_qf" target="_blank">http://www.google.com/#hl=en&amp;sclient=psy-ab&amp;q=convert+lisp+to+c&amp;pbx=1&amp;oq=convert+lisp+to+c&amp;aq=f&amp;aqi=g1g-v2&amp;aql=&amp;gs_sm=3&amp;gs_upl=39808l43803l5l44535l17l12l0l4l4l0l104l909l11.1l16l0&amp;bav=on.2,or.r_gc.r_pw.r_qf</a>.,cf.osb&amp;fp=d272a33775ff33c4&amp;biw=1202&amp;bih=750<br>


<br>
<a href="http://preview.tinyurl.com/6of4vok" target="_blank">http://preview.tinyurl.com/6of4vok</a><br>
<br>
<br>
is it possible to convert LISP to C?<br>
<a href="http://www.velocityreviews.com/forums/t683509-is-it-possible-to-convert-lisp-to-c.html" target="_blank">http://www.velocityreviews.com/forums/t683509-is-it-possible-to-convert-lisp-to-c.html</a><br>
<br>
<a href="http://preview.tinyurl.com/36vt4dq" target="_blank">http://preview.tinyurl.com/36vt4dq</a><br>
<br>
<br>
ECL may do it<br>
<a href="http://ecls.sourceforge.net/" target="_blank">http://ecls.sourceforge.net/</a><br>
<br>
<br>
CLiCC: Common Lisp to C Compiler<br>
<a href="http://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/lisp/impl/clicc/0.html" target="_blank">http://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/lisp/impl/clicc/0.html</a><br>
<br>
<a href="http://www.cliki.net/CLiCC" target="_blank">http://www.cliki.net/CLiCC</a><br>
<br>
<br>
Chestnut Lisp translator - now defunct<br>
<a href="http://www.rhinocerus.net/forum/lang-lisp/425655-chestnut-lisp-translator.html" target="_blank">http://www.rhinocerus.net/forum/lang-lisp/425655-chestnut-lisp-translator.html</a><br>
<br>
<a href="http://groups.google.com/group/comp.lang.lisp/msg/88c50739f36e0b7e" target="_blank">http://groups.google.com/group/comp.lang.lisp/msg/88c50739f36e0b7e</a><br>
<br>
<br>
Thinlisp - a possible successor to Chestnut Lisp translator<br>
<a href="http://www.thinlisp.org/" target="_blank">http://www.thinlisp.org/</a><br>
<br>
<br>
GCL - an implementation of Common Lisp<br>
<a href="http://www.gnu.org/software/gcl/" target="_blank">http://www.gnu.org/software/gcl/</a><br>
<br>
<br>
&gt;From the LISP FAQ<br>
<a href="http://www.cs.cmu.edu/Groups/AI/html/faqs/lang/lisp/part4/faq-doc-3.html" target="_blank">http://www.cs.cmu.edu/Groups/AI/html/faqs/lang/lisp/part4/faq-doc-3.html</a><br>
<br>
Subject: [4-1a] Lisp to C translators<br>
<br>
Lisp-to-C Translator translates Common Lisp into human-readable ANSI<br>
C.  Release 3.2 supports such features as CLOS, the condition system,<br>
Lisp type declaration heeding, and Mac, Windows, and Alpha<br>
compatibility.  (Release 3.0, introduced in 1992, eliminated the old<br>
requirement that the garbage collector had to be called explicitly).<br>
Works with Lucid, Symbolics, Allegro, Harlequin and MCL.  It costs<br>
$11,995.  Write to: Chestnut Software, Inc., 2 Park Plaza, Suite 205,<br>
Boston, MA, 02116, call <a href="tel:617-542-9222" value="+16175429222" target="_blank">617-542-9222</a>, fax <a href="tel:617-542-9220" value="+16175429220" target="_blank">617-542-9220</a>, or e-mail Mr.<br>
Kenneth J. Koocher &lt;<a href="mailto:ken@chestnut.com" target="_blank">ken@chestnut.com</a>&gt;.<br>
<br>
Some Lisp compilers (AKCL, Ibuki) and Scheme compilers (Bigloo,<br>
Hobbit/SCM, Scheme-&gt;C) compile into C.<br>
<br>
<br>
keith<br>
<br>
--<br>
<br>
Keith R. Watson                        Georgia Institute of Technology<br>
IT Support professional Lead           College of Computing<br>
<a href="mailto:keith.watson@cc.gatech.edu" target="_blank">keith.watson@cc.gatech.edu</a>             801 Atlantic Drive NW<br>
<a href="tel:%28404%29%20385-7401" value="+14043857401" target="_blank">(404) 385-7401</a>                         Atlanta, GA 30332-0280<br>
<br>
<br>
<br>
_______________________________________________<br>
Ale mailing list<br>
<a href="mailto:Ale@ale.org" target="_blank">Ale@ale.org</a><br>
<a href="http://mail.ale.org/mailman/listinfo/ale" target="_blank">http://mail.ale.org/mailman/listinfo/ale</a><br>
See JOBS, ANNOUNCE and SCHOOLS lists at<br>
<a href="http://mail.ale.org/mailman/listinfo" target="_blank">http://mail.ale.org/mailman/listinfo</a><br>
</blockquote></div><br></div></div>
<br>_______________________________________________<br>
Ale mailing list<br>
<a href="mailto:Ale@ale.org">Ale@ale.org</a><br>
<a href="http://mail.ale.org/mailman/listinfo/ale" target="_blank">http://mail.ale.org/mailman/listinfo/ale</a><br>
See JOBS, ANNOUNCE and SCHOOLS lists at<br>
<a href="http://mail.ale.org/mailman/listinfo" target="_blank">http://mail.ale.org/mailman/listinfo</a><br>
<br></blockquote></div>