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