Join the discussion

Write your take first — we'll ask for email only when you're ready to publish.

  • Hacker News
  • String comparison in #if would be nice ...
    by rwmj
  • You don't need to extend the preprocessor to have MAP: https://github.com/swansontec/map-macro
  • Has anyone tried to extend the C Preprocessor to be a fully turing complete language (perhaps something like Snobol) to allow for Terra like meta-programming?

    (I am not talking about metalang99 or Cello like stuff, which exploits the Turing tarpit of the currently specified preprocessor but rather tasteful additions to the preprocessor itself).

  • There are a couple of constructs that you end up re-creating as soon as you need non-trivial preprocessing.

    One of those is the two-stage CAT, another one is the NARG the article talks about.

    __COUNTER__ is going to be added to C29, the next version of the standard, maybe there's hope for __VA_COUNT__ and __CAT__ too!

  • It's always bothered me that programming languages aren't programmable.

    Well, I keep hearing that Lisp is, but I haven't put much effort into it. (I'd need a Lisp that runs in the browser, for starters!) Maybe I should take another look...

    Or maybe I wish the VM was programmable. "Warn me when this type of operation takes place", or "Print the name of every function before it is invoked", etc. I end up just copy-pasting my own temporary statements all over the program.

Explore Birbla archives