On Wed, Feb 9, 2011 at 6:05 AM, Jed Brown <jed@59a2.org> wrote:
On Wed, Feb 9, 2011 at 12:56, Matthew Knepley <knepley@gmail.com> wrote:
We used to have everything in the preprocessor, and we could happily edit that and never have to think
about Python at all. We abandoned that approach because it was too complicated, prone to break, and
we spent all of our petsc-maint time on it.

I don't know what examples you are referring to, I started with PETSc in 2004.

Everything before configure was 'bmake' which was pure preprocessor.
 
I don't see a lot of logic currently being done on the Python side and used from C, petscconf.h does not have logic in it. No C source files or function

What does this sentence mean? If petscconf.h has no logic, then isn't all the logic on the Python side? Isn't all that logic used from C?
 
bodies are currently generated by Python. It sounds like you want to generated imperative code in Python and call that from C. I think that would add

We can currently control the build to do selective builds, just as we do with #defines right now. I think that removing that code from the tree and
building everything would actually be simpler.

   Matt
 
complexity.
--
What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.
-- Norbert Wiener