News for hackers. Stuff that matters.
Re:My resignation letter as R7RS-large chair by tmalsburg2 on Thursday August 17, 2023 @01:17PM (#37165033)
C is neither minimal nor well-defined, as has been discussed extensively. Random blog post illustrating only some of the issues is here [1]. Just google “undefined behavior c” for a lot more. There are also a bunch of famous rants by Linus Torvalds on his topic.

[1] https://blog.regehr.org/archives/213

Re:My resignation letter as R7RS-large chair by PennRobotics on Thursday August 17, 2023 @01:38PM (#37165359)
can we all agree that the undefined behavior is pretty well identified and documented? Plus, if you understand the entire language and then limit your imagination, C can be quite simple!
Re:My resignation letter as R7RS-large chair by mrguyorama on Thursday August 17, 2023 @04:20PM (#37167386)
It's so simple to avoid undefined behavior, just never add two numbers, or dereference a pointer that you can't statically guarantee the value of.
Re:My resignation letter as R7RS-large chair by spookie on Thursday August 17, 2023 @04:39PM (#37167686)
Yes, it's a simple language. That's why there are no safe guards around INT_MAX + 1, or variants of that.
Re:My resignation letter as R7RS-large chair by fluoridation on Thursday August 17, 2023 @05:11PM (#37168145)
You can add two numbers. If the operands are signed you just need to check the operands before the addition to make sure you won't cause an overflow.
Re:My resignation letter as R7RS-large chair by johncowan on Saturday August 19, 2023 @03:06PM (#37192017)
Which of course cannot be done portably except by drastic restrictions like "never add a number greater than MAXINT / 2 and never multiply a number greater than sqrt(MAXINT)".
Re:My resignation letter as R7RS-large chair by mananaysiempre on Saturday August 19, 2023 @05:32PM (#37193449)
Soon™ we will have ckd_add etc. in the standard for this sort of thing, after several decades finally exposing functionality that any non-exotic CPU provides.

Except RISC-V, because RISC-V. Or, I expect, because they must have gathered statistics from a big chunk of real-world (mostly C and -compatible) code and got a bit fat nothing for the usage of the overflow flag—not because it's useless but precisely because you couldn't get at it from (compiler-independent) C.

Re:My resignation letter as R7RS-large chair by snvzz on Saturday August 19, 2023 @10:12PM (#37195384)
Overflow isn't the only flag RISC-V doesn't have.

If floating point extensions aren't present, there aren't even flags.

Re:My resignation letter as R7RS-large chair by fluoridation on Sunday August 20, 2023 @05:49PM (#37203231)
Since we're talking about implementing a compiler that merely uses C/++ as a convenient intermediate representation, it doesn't matter much.