Laws of Form and Object Oriented Programming

The concepts of Distinctions and Labels come from the book Laws of Form, by G. Spencer-Brown. In his book, Spencer-Brown introduces the two following principles on which the previous discussion is based.

__The Law of Calling__: the value of a call made again is the value of the call. __The Law of Crossing__: the value of a cross made again is not the value of the cross.

The law of calling means that if you name a distinction by means of applying a label, and if you repeatedly use the label to refer to the distinction, this use is compatible with the common-sense notion of names that do not change their meaning over time.

Note how in science, one attempts to find distinctions that describe the world in such a way that Time disturbs them the least. A perfect example of this is the principle that anything we label as energy is not allowed to be created nor destroyed.

For example, if I called Joe once, and then called him again in exactly the same context, the repeated use of his name does not change the distinction behind the label “Joe”: Joe himself.

There is no Distinction between Story and Life.

> This, despite the fact that all of Joe’s atoms are replaced every seven years.

The law of crossing, on the other hand, means that if you cross a distinction, then cross it again, the result is the same as doing nothing.

For instance, on a piece of paper, if you cross a circumference to get on its inside, then cross the same circumference again getting on its outside, you end up in the same place you were before crossing the circumference for the first time (assuming nothing else changed in the mean time, of course). Hence, you have done nothing.

More elaborately, drawing a distinction is cutting the whole universe into two pieces: the inside of a boundary, and the rest. Distinctions sort all possible things into either the something bucket or its complementary not something bucket. Clearly, taking the complement of a bucket twice is the same as doing nothing.

In the strictest sense, this means that drawing *the same* distinction around a distinction is equivalent to *nothing*.


> OCCLUSION identifies void-equivalent structure.



VALLOUD, Andrés, 2010. A Mentoring Course on Smalltalk.