News for hackers. Stuff that matters.
Re:The Value of Undefined Behavior by dfox on Saturday July 21, 2018 @05:46PM (#17584032)
I think that modifiing reader literal is an error mostly to allow implementations to store such pairs in read-only pages (eg. in .rodata section when you build standalone executables) and to allow simple implementation of CDR-coding for reader literals (dfsch has three distinct implementations of abstract <pair> class for exactly this reason and to be able to actually signal meaningful error condition when you violate this restriction).
Re:The Value of Undefined Behavior by fiddlerwoaroof on Saturday July 21, 2018 @05:54PM (#17584057)
But it’s not an error: for some of these cases the standard doesn’t specify the consequences and most implementations don’t throw an error if you modify a reader literal, even if you end up modifying the interned list.
Re:The Value of Undefined Behavior by dfox on Saturday July 21, 2018 @06:11PM (#17584115)
"Is an error" is wording used by the standard for things that are left undefined. For things that should signal some kind of error condition the standard uses wording "an error is signalled", the set of such cases is surprisingly small.