1. A method in a computer system for generating executable code for a computer program, the method comprising the steps of: receiving an intentional program tree having nodes, each node representing a high-level computational construct of the computer program; for each node representing a high-level computational construct, transforming the node into an implementation of the high-level computational construct, the implementation represented by one or more nodes representing low-level computational constructs; and for each node representing a low-level computational construct, generating executable code that implements the low-level computational construct; wherein the step of receiving an intentional program tree includes creating the intentional program tree by direct manipulation of the intentional program tree by a programmer; and including the step of receiving a new high-level computational construct and receiving an implementation of the new high-level computational construct that uses low-level computational constructs, wherein the step of creating the intentional program tree includes adding a node to the intentional program tree representing the new high-level computational construct, and wherein the node representing the new high-level computational construct is transformed using the received implementation.