Bruno Jouhier (2017-08-19T23:04:38.000Z)
FWIW I wrote a dissertation on this very topic a few years ago:
https://bjouhier.wordpress.com/2010/05/15/objects-values/

tldr;


   - Expressions have a sense and a denotation.
   - The sense of an expression accounts for its “cognitive significance”
   - The denotation of an expression is the thing that the expression
   denotes.
   - Two expressions may have different senses but the same denotation.
   - A variable expression is an expression that takes different
   denotations over time.
   - A constant expression is an expression that always has the same
   denotation.
   - *An object is a mutable denotation.*
   - *A value is an immutable denotation.*
   - Objects have an identity which is immutable.
   - Objects have a mutable state.
   - Numbers and physical quantities are values.
   - Dates and timestamps are values.
   - Booleans are values.
   - Characters and strings are values.
   - Sets are values.
   - A representation is an object that represents an object or a value.
   - An expression is a value that denotes an object or a value.
   - The value of an object is its identity.
   - Values are symbolic and don’t exist in the real world.
   - Objects are usually real, but not always.

This was not written in the context of a specific programming language,
like JavaScript. So there is are mismatches: dates (and usually sets too)
are objects in JS.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20170820/87df3f26/attachment.html>
bjouhier at gmail.com (2017-08-19T23:05:34.332Z)
FWIW I wrote a dissertation on this very topic a few years ago:
https://bjouhier.wordpress.com/2010/05/15/objects-values/

tldr;


   - Expressions have a sense and a denotation.
   - The sense of an expression accounts for its “cognitive significance”
   - The denotation of an expression is the thing that the expression
   denotes.
   - Two expressions may have different senses but the same denotation.
   - A variable expression is an expression that takes different
   denotations over time.
   - A constant expression is an expression that always has the same
   denotation.
   - **An object is a mutable denotation.**
   - **A value is an immutable denotation.**
   - Objects have an identity which is immutable.
   - Objects have a mutable state.
   - Numbers and physical quantities are values.
   - Dates and timestamps are values.
   - Booleans are values.
   - Characters and strings are values.
   - Sets are values.
   - A representation is an object that represents an object or a value.
   - An expression is a value that denotes an object or a value.
   - The value of an object is its identity.
   - Values are symbolic and don’t exist in the real world.
   - Objects are usually real, but not always.

This was not written in the context of a specific programming language,
like JavaScript. So there is are mismatches: dates (and usually sets too)
are objects in JS.