Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Stephen Bourne used such macros in the Bourne Shell sources to make the code resemble Algol.

The source is very clear and readable.



Have you adopted his macros in your own projects?


No because even if I could identify a benefit to these macros (which I can't in the contexts in which I work) there's a cost to using them.

Macros whuch simply transliterate tokens to other tokens without performing a code transformation do not have a compelling technical benefit. Only a non-technical benefit to a peculiar minority of users.

In terms of cost, the readability and writeability are fine. What's not fine is that the macros will confuse tooling which processes C code without necessarily expanding it through the preprocessor. Tooling like text editing modes,identifier cross-referencers and whatnot.

I've used C macros to extend a language with constructs like exception handling. These have a syntax that harmonizes with the language, making then compatible with all the tooling I use.

There's a benefit because the macro expansions are too verbose and detailed to correctly repeat by hand, not to mention to correctly update if the implementation is adjusted.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: