Thoughts on Object Identity I used to think APL were only suited to the vector machine design, or even the systolic array before I understood that design's very specific nature, but one acquaintance has long insisted on data-flow machines as the best, and I've come to see how even APL is also rather suited to it over some years. APL implemented for a data-flow machine is practically a one-to-one mapping of high-level operations to simple machine instructions. The answer to representing a large array in a machine without a big pool of memory is to mark each element and let that entirely solve the problem; this also happens to be the answer of how to represent arbitrary-length integers in such a system, splitting the integers into chunks and treating them like anything else after the proper tagging. While most APL is suited to a machine in which all operations happen at once, a few parts of the language are fluid enough to make this difficult and require some manner of retreat from the approach, whereas data-flow machines have no issues with such fluidity. For some operations, the data-flow approach gives so-called lazy evaluation for free, such as in the case of, say, using iota to generate a very large array, most of which would be discarded before contributing at all to whatever result; the data-flow approach would naturally generate such an array element-by-element, as needed, and therefore never make most of it. Object identity is an idea rather married to the assumption of a large and central memory. The only way I see to get object identity for a language such as Lisp in a proper data-flow machine is to tag with integers all objects for which object identity be relevant; this approach effectively reinvents a large and central memory in a machine which lacks it, and even then requires some method to change all objects with matching tags upon the change to one. It's a deeply unsatisfying idea, and reveals the folly of object identity. Truly, so-called value semantics using local information be the best. It should be viewed as inescapable fact that information must travel and to minimize travel be best. This appears in the design of individual computers no differently than in networks thereof, but only in the latter is an acknowledgment of this fact commonly made. Analogies to physical processes will forever be relevant to man; to understand a computation, man must imagine himself building a special machine to the purpose, which will have any illusions provided by computers evaporate in short term. .