2.03.2011

Rather useless find

I found out that the Boost library also features metaprogramming, but I don't see how it would help me efficiently. I know I will almost only use MY template classes for everything I'm doing and I don't want to waste so much time with setting it up or even reading all the stuff they're talking over there. I took a look at what features it gives and I feel I'd only use a few of them, even with some more open considerations. No, I don't think I'd have a real advantage there. My goal is to push generic programming so far that I can work with it comfortably. At the moment, I can wait til I have enough time for reading stuff about more interesting languages or writing my own one. Agh! That's killing me. I think I should also limit myself to keeping the focus on:
  1. simple syntax (brackets, numbers, identifiers with possibly all kinds of non-whitespaces)
  2. generic programming (random number of pre-compilation steps)
  3. compatibility to C code/functions (tricky with the "all symbols as identifiers" thing)
  4. minimal core, extension using the language itself (like, for example, OOP functionality)
Yeah, I think these are the basic points. I'm heavily impressed and influenced by how Lisp did alter itself over time, extending with really ALL kinds of features that weren't parts of the language before. The cool thing is that if I get a different interpretation of the C syntax done (with all essential elements necessary for supporting libraries etc) and implement the multi-step compilation/code generation, I can for example write a piece of compile step code that filters the incoming file for all notation with an "." oder other patterns in it and produce appropriate member access code. I could take C's structure syntax and produce structures and virtual tables for all things having class definitions in it and so. I think that's quite a cool thing and worth trying. At last, I'll have a more user-friendly syntax that's not so hard to decipher for people already used to C/C++. It may also be possible to create completely different syntactical styles, as the compile-steps would (depending on how I implement them) allow all kinds of input data. Not sure how integrate this one! However, It would make a good base for an extending system of natively executed programs, profiting from the target compiler's optimization and from the fact that every compile step will also be executed natively with no annoying delay or so. A finished generic library could simply get compiled once and you won't have any problems with template instanciation and so on. Kind of a "next generalization level" for C, maybe the first real ever? I have no idea. And I'm just a silly boy sitting here and complaining stuff nobody really complains about.

No comments: