Python for air traffic control?

Duncan Booth duncan at NOSPAMrcp.co.uk
Wed Jul 4 08:47:53 EDT 2001


Mirko Liss <mirko.liss at web.de> wrote in 
news:20010704013238.2DC8A00.NOFFLE at niccolo.ke4.de:

> An example in C:
> 
> typedef plane_t int ;  /* plane no */
> typedef lane_t int  ;  /* lane no */
> typedef go_down_in_pieces_t bool ;  
> go_down_in_pieces_t dispatch( plane_t flightno, \
>                               lane_t neigboring_highway ) ;
> 
> If the arguments get swapped, the compiler gets angry.
> Is this what you wanted to have in C ?
> 

No wonder the compiler gets angry, you can't rename your own types as 
'int'. Also there is no type called 'bool' in C. Perhaps you meant:

typedef int plane_t;
typedef int lane_t;
typedef int bool;
typedef bool go_down_in_pieces_t;

go_down_in_pieces_t dispatch(plane_t flightno, lane_t neighboring_highway);

int main()
{
    plane_t plane = 5;
    lane_t lane = 3;
    dispatch(plane, lane);
    dispatch(lane, plane);
    dispatch(dispatch(lane, plane), dispatch(lane, plane));
    return 0;
}

Now the compiler is completely happy. All calls to dispatch give it two 
integers so there is nothing to complain about. C's 'typedef' only defines 
an alias for a type, it doesn't define a new type, and any programmer that 
thinks it does should be locked in a cupboard with a copy of the standard 
and not let out until they have translated it into readable English.

Please tell me you don't do air traffic control for a living.

-- 
Duncan Booth                                             duncan at rcp.co.uk
int month(char *p){return(124864/((p[0]+p[1]-p[2]&0x1f)+1)%12)["\5\x8\3"
"\6\7\xb\1\x9\xa\2\0\4"];} // Who said my code was obscure?



More information about the Python-list mailing list