When posting to [A bit confused about 'mutable', etc], I settled to the terminology:
- (user) input cell – cells that can receive user input
- (programmatically) mutable cell – cells that can receive new data, programmatically, i.e. defined with
mutable
The former are typically defined with viewof, but not necessarily, and often you see the pattern where the cell in question just defines some routines that track user input and store it elsewhere, say in a mutable.
Whereas not all user input cells are viewofs, all viewofs are of course indeed user input cells.
My question then, is: The keyword name viewof refers to the concrete situation which is erected, namely, two objects: the data itself, and the view of the data. I.e., it is a kind of an implementation denoting term, just like Java likes to use class names like LinkedList or HashMap. But maybe it would be better if the keyword would denote the conceptual function, as is already the case with mutable? (Just like C# uses class names that denote the ‘shape’ in question, e.g. Dictionary instead of HashMap.)
userinput d = { ...; return svg; }
Both mutable and viewof allow a cell to receive input, the former programmatically, the latter via user input. The former has a name that implies that this is the case, while the latter has a name that describes the underlying mechanism by which it … could be the case.