From: David J. <dav...@ea...> - 2001-02-27 06:10:03
|
Hi, On 2001.02.26 11:52:19 -0500 "Leyne, Sean" wrote: > > I am a Windows/Delphi wonk so my humblest apologizes in advance if this > is an idiotic suggestion. > > It is my understanding that the build process involves a boot-strap > process, since a good deal of the system metadata is actually stored > within GDB/GBK files (which are restored as part of the build). > > Can we replace the GBK/GDB files and store the metadata in XML > structures/files? > > To my mind this would simplify the compile/build process as well as > streamlining/enabling metadata change tracking. > > Finally, if it's possible, is it reasonable? I've wondered a bit about whether it is practical to make this metadata more explicit and how, whithout however looking at the code yet. XML is certainly tempting. However it would (I think) also involve writing and testing a preprocessor to get the metadata into a form accessible to the compiler. Maybe this would be easy, I don't know. Being able to see the data in XML would be really nice. Another possiblity would be, after the code is converted to C++, to use C++ template metaprogramming. I am just barely starting to learn about this, I read a book "Generative Programming" by Krzysztof Czarnecki and Ulrich W. Eisenecher ( There have also been some recent articles in Dr Dobbs, like about the boost project). With extraordinary oversimplifications the idea is make metadata classes full of static constants and inline methods which are passed as template parameters to the classes with code that does something. The compiler then works its optimizing magic and produces code faster than hand tuned assembly (they really did this with matrix computation libraries). This approach localizes the metadata, as does XML, and keeps everything within one language, without preprocessors needed. A possible downside is that the compiled code is apparently difficult to debug or even figure out where you are -- generated class names can easily be hundreds of characters long. I am strongly in favor of making the metadata more exposed and configurable. For example, I would like to make a column type that would store a serialized java object (actually a JINI entry), with constraints on the class of the object, and a hashcode to make equality tests fast. David Jencks > > > Sean > > _______________________________________________ > Firebird-devel mailing list > Fir...@li... > http://lists.sourceforge.net/lists/listinfo/firebird-devel > > |