DMD 0.148 release
James Dunne
james.jdunne at gmail.com
Tue Feb 28 21:38:51 PST 2006
Derek Parnell wrote:
> On Wed, 01 Mar 2006 04:23:00 +1100, Sean Kelly <sean at f4.ca> wrote:
>
>> Walter Bright wrote:
>>
>>> What I especially think is bad style, however, are things like:
>>> const int forever = 1;
>>> ...
>>> while (forever) ...
>>> I don't see them too often, but it does happen.
>>
>>
>> It perhaps sidesteps the issue, but I use "for(;;)" in these cases,
>> mostly because it avoids a constant conditional warning in VC++ :-p
>> "while(true)" is probably a bit more meaningful however as it's not a
>> counting loop.
>
>
> And I remember somebody writing ..
>
> #define forever for(;;)
>
> . . .
>
> forever{
> . . .
> }
>
It's called "Better C"
http://thedailywtf.com/forums/60255/ShowPost.aspx
/*
* BETTER_C.H
* Language refinements for C.
*/
#ifndef BETTER_C_H
#define BETTER_C_H
/* logical/comparison operators */
#define NE !=
#define EQ ==
#define GT >
#define LT <
#define GE >=
#define LE <=
#define AND &&
#define OR ||
#define NOT !
/* bitwise operators */
#define bNOT ~
#define bAND &
#define bOR |
#define bXOR ^
/* arithmetic operators */
#define MOD %
/* control constructs */
#define repeat do
#define until(p) while(NOT (p))
#define forever while(1)
#define untilbreak forever
#define untilreturn forever
#define unless(p) if(NOT (p))
#define ifnot(p) if(NOT (p))
#define do_nothing
#define then
...
#endif
--
Regards,
James Dunne
More information about the Digitalmars-d-announce
mailing list