This is not a problem, because I will be implementing in Haskell a system to manipulate Python code. Thus managing the python code that manages the C code will become a far easier task :-)
You are perfectly happy using a really crappy system for manipulating C code (CPP) but fear that a better system would be impossible to get right? What if I proposed just one tweak to CPP to make PETSc source code better, would you consider that? On Feb 7, 2013, at 11:39 PM, Jed Brown <jedbrown at mcs.anl.gov> wrote: > > On Thu, Feb 7, 2013 at 11:33 PM, Barry Smith <bsmith at mcs.anl.gov> wrote: > Fine. It is a new language, actually it is python code that marches through > ASTs and modifies them but you can call it a new language. But the C is > still C! It is not C plus "key words" or "imbedded comments" it is always > just plan C that is being programmed ON (by the new language). > > But it's not just C because the source code includes the python that is > modifying it. After all, for almost any given outcome you desire, you'll have > a choice between implementing it in C, implementing it by enhancing the > python, or some combination of the two. The semantics sure aren't completely > defined by the *.c files any more. > > I fear you'll end up constantly tweaking the Python, occasionally needing to > change semantics there, which will break a lot of your existing "C" (not C > because it was written so that the generator would manipulate it in a > desirable way).
