News for hackers. Stuff that matters.
Re:Writing a C compiler in 500 lines of Python by mananaysiempre on Tuesday September 05, 2023 @05:06AM (#37389483)
In fact, the default integer promotions together with the requirement that unsigned int hold numbers until at least 2^16 is the main reason C code for 8-bitters is somewhat... stylized, to put it mildly.
Re:Writing a C compiler in 500 lines of Python by foldr on Tuesday September 05, 2023 @05:38AM (#37389681)
I think that's actually an interesting example of how C sees itself as a high level language (from the perspective of the early 70s), even though we now categorize it as low-level. You'd expect the default integer type in a high level language to be able to store values that are large enough for an interesting range of practical tasks; 16 bits is arguably the bare minimum to meet that requirement.
Re:Writing a C compiler in 500 lines of Python by mananaysiempre on Tuesday September 05, 2023 @07:16AM (#37390243)
IIRC a retrospective by one of the designers listed the default promotions as a careless mistake, because the original—offhand—reasoning was that the registers are 16-bit anyway, so they might as well widen everything when it’s free (on the only machine the language was implemented on at that moment).