> > On 13 Dec 2021, at 18:40, John Rose wrote: >
> > Another (more subtle) stress to your terminology is your assertion that > a mutable variable “forgets” the previous value when a new value is > stored. That isn’t strictly correct in the case of race conditions. Only > a volatile variable reliably “forgets” its previous value in the presence > of races. > Indeed there was a revision where "(modulo race conditions)" was there and I'll put it back. > You don’t actually define the term “value” but just illustrate it and > make claims about it. Maybe you have to do it that way… Actually, you say > it’s “unit of data”. Referring to “data” as a known term (for readers who > are programmers) is OK. > Yes, in general I am sure that I can't accomplish actual ground up non-cyclical definition-definitions here. I think it should suffice to be descriptive enough for the reader to course-correct their previous notions in this direction (provided they want to). > Saying “unit” is more mysterious. You certainly don’t mean units of > measure, or functional programming unit types. Are you meaning to imply > that it has no subparts which might also be termed units? Oh, I actually do not want to imply irreducibility at all. That all values have had that property in Java is a fact I would label as incidental-not-essential., Glob, gob, blob, hunk, chunk, piece, ..... > That’s OK as long as you have today’s primitives (which I like to call > “scalar primitives”) and of course references (which are also scalars). By > “scalar” I mean an item of data that is not composed of further scalars. > A tangent, but there's enough math major still in me to object to this. :-) Scalars are scalar because they scale things! This would be more similar to a one-dimensional vector space than to a scalar.... imho the best adjective for today's primitives is "primitive" and I'll plead my case about that soon too. :-) -- Kevin Bourrillion | Java Librarian | Google, Inc. | kev...@google.com