We can use a view to bundle together atoms for display. If you think of an atom as representing a word, a name, a sentence, or a paragraph, then a view is a list of paragraphs you want to see in a certain order, like a document or a note.
This is a view
(v v1) with only one paragraph atom inside it.
(v v1 (@p1))
The viewer builds this MSL automatically and adds it to the stream along with the paragraph atoms as they are created so that they remain visible on-screen.
(v v1 (@p1) (@p2))
Writing a third paragraph without making other changes would result in another view added to the stream. The same view number,
v1, is used each time, indicating that this is a revised definition of that view.
(v v1 (@p1) (@p2) (@p3))
If an entire paragraph needs to go away, it can be removed with the viewer. Another view expression is recorded without that paragraph atom.
(v v1 (@p1) (@p3))
@p2 has not gone away. Neither has the previous view which included it. The engine keeps a full version of all the MSL instructions in sequence. This contains everything needed to rewind or reproduce any previous version of the system state.