home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.lang.c      Meh, in C you gotta define EVERYTHING      243,242 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 242,225 of 243,242   
   James Kuyper to bart   
   Re: _BitInt(N)   
   29 Nov 25 10:27:14   
   
   From: jameskuyper@alumni.caltech.edu   
      
   bart  wrote:   
   > On 28/11/2025 23:23, Keith Thompson wrote:   
   >> bart  writes:   
   >>> On 28/11/2025 02:33, Janis Papanagnou wrote:   
   >> [...]   
   >>>> You can of course add as many commodity features to "your language"   
   >>>> as you like. I seem to recall that one of the design principles of   
   >>>> "C" was to not add too many keywords. (Not sure whether 'A.odd' is   
   >>>> a function or keyword above [in "your language"].)   
   >>>   
   >>> It is a reserved word, which means it can't be used as either a   
   >>> top-level user identifier, or a member name. With extra effort, it   
   >>> could be used for both, but that needs some special syntax, such as   
   >>> Ada-style "A'odd"; I've never got around to it.   
   >>>   
   >>> In Pascal (where I copied it from) it is a reserved word.   
   >>   
   >> In Pascal, "odd" is not a reserved word.  It's the name of a   
   >> predefined function.   
   >   
   > So what's a 'reserved word' then? To me it is something not available as   
   > a user-identifier because it has a special meaning in the language,   
      
   That's a general description, but at least in C, there's several   
   different kinds of reserved identifiers, each kind specifies different   
   restrictions on user code use of that identifier.   
      
   Note: in C2023, the predefined Identifiers section says: "Any other   
   predefined macro names: shall begin with a leading underscore followed   
   by an uppercase letter; or, a second underscore...". For earlier   
   versions of the standard, user code should avoid using such identifiers   
   because they were reserved for all purposes, but that's no longer the   
   case. Now, they should be avoided because they may be pre-defined by the   
   implementation, which means that any attempt to use them might have   
   unpredictable results.   
      
   As a result, C no longer has any identifiers that are always reserved   
   for any use, just ones that are reserved for particular uses under   
   specified circumstances.   
      
   > which may be that of a predefined function among other things.   
      
   In C, identifiers with external linkage (which includes the names of all   
   standard library functions) are reserved only as identifiers with   
   external linkage, and only if the corresponding standard header is   
   #included.   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca