Cartesian Computation

Theories of computation have historically bracketed the role of subject. A Turing machine computes a particular function just in case there is some way of matching the machine’s behavior to the function. Just watching the machine operate won’t magically reveal what it does. Sometimes it’s impossible to tell. (This follows from the halting problem.) Moreover, just because two things are equal doesn’t mean they’re the same. Three plus four equals seven, but “3+4” is not the same as “7”. (“7” is one symbol, but in “3+4” is three.) For more on this read Frege. Suffice it to say, if “3+4” were really the same as “7”, then we wouldn’t need to learn arithmetic, calculators wouldn’t perform useful functions, and computers probably wouldn’t exist.

Last time, I said computation has three folds. There is essence: the form or structure. There is substance: the implementation or actual running of it. And there is experience: what you see when it starts, as it’s working, and when it’s done. The experiencer (the subject) cannot be ignored when considering computation. Likewise, something is being experienced (the object). The object has both an abstract form or essence as well as a concrete form, an instantiation what I have sometimes called an avatar, a body, or golem.

The subject’s experience of an object is mitigated by an interface. Likewise, essence’s instantiation in substance is mitigated by an implementation. Just as an interface is a chain of filters connecting subject to object, an implementation is a chain of abstraction layers connecting essence to substance. As you descend the chain, ripping away layers of abstraction, you will eventually reach the primal substance “the dreams that stuff is made of” or maybe it’s turtles all the way down. Who knows? You don’t usually go too far. Building up from any implementation layer (a layer already connected to substance) is good enough to instantiate essence. For performance reasons, it may help for the implementation to connect at a lower layer, but this approach has it’s own drawbacks.

I think that covers all background and terminology. Since talk is cheep, here’s a picture of what I mean:

The Master Plan

Notice the diagram has three words in green: Willow, Will, and Wisp. Willow is associated with the interface, Will with the essence, and Wisp with the implementation. Talking philosophy is all well and good, but at the end of the day if you don’t have anything to show for it, then what good are you? I intend to be good. The three W’s are the three main components of my system. Willow is the user interface. Will is the high level expression language, and Wisp is the low level implementation language.