Patent ID: 8762964

Claim:
A method executable by a machine, the method comprising: receiving an application that describes functions according to a prescribed symbol manipulation language, the prescribed symbol manipulation language a non-Turing complete language that does not permit partial functions and describes the functions independent of any attribute of any computing system; identifying, in the application, a distribution annotation that identifies a candidate element in the application, the candidate element configured for execution in a distributed computing operation by a distributed computing system comprising two or more distributed computing devices; generating one or more variants of the application based on executing a nondestructive transformation of the application relative to prescribed equality axioms, at least one of the variants containing a corresponding semantically-equivalent variation of the candidate element; and selecting one of the variants as an optimization for execution of the application by the distributed computing system relative to prescribed metrics; wherein the application includes a plurality of distribution annotations, each distribution annotation specifies that the corresponding candidate element is destined for execution by a local one of the distributed computing devices, a remote one of the distributed computing devices, or any of the distributed computing devices; wherein the generating further includes selectively combining candidate elements in the application specifying the same corresponding distribution annotation into a single operation to be executed by the corresponding destined distributed computing device.