There are a couple of tools to go the other way or embed lisp in a c program (since you can just "unwind" lisp declarations like a macro):
http://www.interhack.net/projects/lpp/ http://www.youtube.com/watch?v=8TPPW3i4v9A
And I found ECL which lets you call c from lisp and vice versa, but doesn't seem to do any actual conversion of the code or make any guarantees that it's correct or without side effects.
It should be possible to do this, at least for a very simple program that for example only has access to the input and output streams:
http://en.wikipedia.org/wiki/Church-Turing_thesis
Am I just being naive? Is this a nontrivial problem? If so, this seems like it would be an interesting research topic.
I very much need a c to lisp converter so that I can rapidly prototype my functions and results without having to think in a purely functional manner, because it doesn't tend to match the real world and worse, I can't explain my code to other people. I would also like to evolve my code with genetic algorithms and it's much easier to do that with lisp than syntax-heavy languages. If this is a truly intractable problem then I wonder if this has anything to do with the problems facing software engineering today.
Thanks!