A para-functional programming language is a functional language that has been extended with special annotations that provide an extra degree of control over parallel evaluation. Of most interest are annotations that allow one to express the dynamic mapping of a program onto a known multiprocessor topology. Since it is quite desirable to provide a precise semantics for any programming language, in this paper a denotational semantics is given for a simple para-functional programming language with mapping annotations. A precise meaning is given not only to the normal functional behavior of the program (i.e., the answer), but also to the operational notion of where (i.e., on what processor) expressions are evaluated. The latter semantics is accomplished through an abstract entity called an execution tree.