We present a new approach to programming lan-guages for parallel computers that uses an effect sys-tem to discover expression scheduling constraints. This effect system is part of a ‘kinded ’ type system with three base kinds: types, which describe the value that an expression may return; effects, which describe the side-effects that an expression may have; and re-gions, which describe the area of the store in which side-effects may occur. Types, effects and regions are collectively called descriptions. Expressions can be abstracted over any kind of description variable- this permits type, effect and region polymorphism. Unobservable side-effects can be masked by the effect system; an effect soundness property guarantees that the effects computed stati-cally by the effect system are a conservative approxi-mation of the actual side-effects that a given expres-sion may have. The effect system we describe performs certain kinds of side-effect. analysis that were not previously feasible. Experimental data from the programming language FX indicate that an effect system can be used effectively to compile programs for parallel com-puters.