Norman Gray writes: > > I'm fully sympathetic with the less-magic point of view. I've written a > modest amount of CPP macro cleverness over the years, and I find my > tolerance for CPP magic has gone _down_ rather than up over the > years.[*] > > As it happens, my previous version of that scheme-macro-filter.scm > program was also written in the service of creating an FFI for a > library. That is, exactly the problem of writing repetitive code which > I might want to change my mind about. I started off writing a pile of > CPP macros, and quickly confused myself. I had at the time recently
I think we forget how powerful our tools are sometimes. Consider the lists of constants in s7sdl.scm. Each group has a shell command that will extract the list from the SDL headers in the event that it changes but in fact these were worked out after I'd copied the lists into my editor with a simple mouse motion (it fits on a screen!) and sorted and formatted them with a few keystrokes. That would not have been fun 25 years ago. Similarly with a few simple commands I can turn a list of symbols into a sequence of instructions and all their metadata quicker than I can work out how to write a macro to get the compiler to do it. Sometimes I feel a bit dirty but I'm usually three or four tasks ahead already. > [*] At one point, a while ago, I participated in the maintenance of a > library which was written in object-oriented C. This being the 90s, and > C++ still rather unstable, the original author of the library had > elected to implement the OO system entirely in CPP macros. This was Wild times. But on the other hand at least we had very little JavaScript. However on the gripping hand there was perl. Matthew _______________________________________________ Cmdist mailing list Cmdist@ccrma.stanford.edu https://cm-mail.stanford.edu/mailman/listinfo/cmdist