In this paper, we present a compiling method to translate a functional programming language Valid into an object code executable on a commercially available shared memory multiprocessor (a Sequent Symmetry S2000). Since the cost of process management is very high in such a machine, we exploit coarse-grain parallelism at function application leve1, and the function application level parallelism is implemented by fork-join mechanism. The compiler translates Valid source programs into controlflow graphs based on dataflow analysis and then serialized instructions within graphs according to flow arcs such that function applications which have no data dependency with each other are executed in parallel. We report results of performance evaluation...