Languages Based on Fully Implicit MOPCs
Dynamic - Higher Order Functional Languages
A program is a function which invokes functions, each of which invoke functions, etc.
Execution is runtime generation of a tree or graph.
Assume each function invocation is implemented as a thread.
Assume the graph or tree is partitioned and threads assigned to processors as the tree is generated.
Then the number of threads is determined only at runtime and the amount of communication is determined by the volume of the arguments of the invocations.