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,278 of 243,242   
   Waldek Hebisch to bart   
   Re: _BitInt(N)   
   01 Dec 25 04:10:47   
   
   From: antispam@fricas.org   
      
   bart  wrote:   
   > On 01/12/2025 00:08, Waldek Hebisch wrote:   
   >> bart  wrote:   
   >>>   
   >>> Yet what I said is pretty much true. Nobody care about BitInt until they   
   >>> became aware of, and now it's must-have.   
   >>   
   >> Well, you were told many times that regulars here know deficiencies   
   >> of C.  "Nobody care about BitInt" in the sense that before _BitInt   
   >> people will say "this can not be expressed directly in C, you need   
   >> such and such workaround".  People did not loudly complain   
   >> knowing that complaints would achive nothing.  But say doing   
   >> language comparisons they could note that C lack such a feature.   
   >>   
   >> There is also a psychological phenomenon: computers even in crude   
   >> form are quite useful.  So people were willing to jump hops to   
   >> use them.  But when better/easier approach is available people   
   >> wery strongly resist going to old ways.  So, once w got _BitInt   
   >> you will not be able to take it back.   
   >   
   >   
   > I've been claiming that _BitInt was a poor fit for a language at the   
   > level of C which lacks some more fundamental features.   
   >   
   > But I think I was wrong: the way _BitInt has been devised and presented   
   > is actually completely in line with the haphazard way C has evolved up   
   > to now.   
   >   
   > I made the mistake in this thread of thinking that people cared about   
   > measured language design; obviously if they're using C, they don't.   
   >   
   >   unsigned char*       p;   
   >   uint8_t*             q;   // only exists when stdint.h used   
   >   unsigned _BitInt(8)* r;   
   >   char*                s;   
   >   
   > p and q are probably compatible. p and r are not; q and r and not. s is   
   > incompatible with p, q, r even if it is unsigned.   
      
   Do you understand that uint8_t and _BitInt(8) are different types?   
   And the difference is not an accident, but they have different   
   properties (uint8_t in expressions promotes to int, _BitInt(8)   
   is not subject to this promotion).  AFAICS unsigned char and   
   uint8_t may be (and usually probably are) the same type.   
   Compatibiliy (or not) for pointers is just consequence of this.   
      
   --   
                                 Waldek Hebisch   
      
   --- 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