Hacker News new | ask | show | jobs
by mike_hock 2 days ago
> C has a confusing array of machine-dependent types such as ptrdiff_t and size_t

What's confusing about them? They're basically what int and unsigned int were supposed to be. It's just that they realized they had produced a pile of unextensible shit so they had to add new names.

While they were at it, they produced the next version of unextensible shit so now int128 can't be added.

1 comments

> they produced the next version of unextensible shit so now int128 can't be added

It's hard to think of something more "added" (or, for that matter, more "extensible") than `_BitInt(128)`.

It has been tacked on as a "totally not an integer" type because the integer system isn't extensible enough to accommodate it.

It could of course be added with an ABI break (bumping intmax_t to int128), but that's not being done because it would be an ABI break. Hence, not extensible in practice.