Topic: immutable files and data
Topic: object-oriented objects
Topic: object transformation language
Topic: referential transparency
Topic: structure transformation languages
Topic: value as an object
| |
Summary
Operations on data objects may modify the objects instead of replacing their values. For instance integers can be incremented or decremented. Modification is dependent on the object's current value. This makes the object a state machine and prevents referential transparency. If the object is a machine's store then modification is identified with program execution. (cbb 5/80)
Subtopic: updating as recreating environment
Quote: updating a location is the same as producing a new store which is a slight modification of the original one [»straC3_1973]
| QuoteRef: hehnEC7_1975 ;;63 L[5]<- 8 means L<-# replace 5 by 8 i.e. L[5] now stands for a different value
| Subtopic: values vs. objects
Quote: programming languages treat atomic data types as values and compound ones as objects; causes unnecessary confusion [»maclBJ12_1982]
| Subtopic: incremental operations
Quote: C includes pre- and post-increment of a variable [»ritcDM7_1978c]
| Quote: implement binary operators of complicated types with assignment operators; e.g., implement matrix addition in terms of '+=' [»stroB_1991]
| Subtopic: update by add/delete
Quote: modify a relation tuple by adding the new one and deleting the old [»earlJ4_1974, OK]
| QuoteRef: seedH_1971 ;;123 replacement by operation zero result and add operand
| Subtopic: read-only
Quote: a 'const' member function can read but not write its object [»stroB_1991]
| Subtopic: read-only plus maintenance modifications
Quote: a member function can "cast away const" if the object is modified but it appears constant to its users; e.g., caching values, maintaining statistics, updating use counts
| Subtopic: combining editing with compiling/running
Quote: Self allows modification at any time; most interface builders separate editing from running the interface [»smitRB10_1995]
|
Related Topics
Topic: immutable files and data (59 items)
Topic: object-oriented objects (39 items)
Topic: object transformation language (10 items)
Topic: referential transparency (26 items)
Topic: structure transformation languages (7 items)
Topic: value as an object (29 items)
|