Burton Radons wrote:
Andrei Alexandrescu Wrote:
The problem is you set up artificially constrained rules, i.e.
"without using templates". You can't use the same struct to store
mutable types and non-mutable types mixed with always-mutable
types, and for good reasons. No type system will allow 100% of the
correct programs to run. Why the fuss. Use a gorram template and
call it a day.

Ah, so you don't have a solution.

I do have a solution, the problem is sometimes no amount of convincing will do any good. Arguments focusing on niche cases can be formulated against every single restriction of a type system. Const and immutable are supposed to express realities about data. Sometimes said realities undergo dialectics that are difficult to express. The system is not perfect, and cannot be made perfect within the constraints at hand (e.g. without putting undue complexity on the programmer). If you're bent from the get-go against const and immutable, there is no good scenario that is good enough, no bad scenario that's infrequent and avoidable enough, and no way to purport a gainful dialog.

Andrei

Reply via email to