Dataflow is presented as an alternative to the von Neumann model as the basis for computer system design. The need for a new semantic basis is supported by current research both in software methodologies and in computer architecture. Dataflow systems emphasize asynchronous and functional computation. We present a high-level dataflow language Id, and its companion base language. Id supports programming with streams, programmer-defined data types, and facilities for nondeterministic programming. The base language when interpreted by the unfolding interpreter generates a potentially large number of independent activites which can be executed concurrently by a dataflow machine. The unfolding interpreter seems very promising for implementation on a machine composed of large numbers of LSI processors.