Report on the FX-91 Programming Language
David Kenneth Gifford, Pierre Jouvelot, Mark A. Sheldon, James W. O’Toole · 1992
This report gives a defining description of the programming language FX. The FX programming language is designed to support the parallel implementation of applications that perform both symbolic and scientific computations. The unique features of FX include: An effect system, to discover expression scheduling constraints. An effect is a static description of the side-effects an expression may perform when it is evaluated. Just as a type describes what an expression computes, an effect describes how an expression computes. Abstraction over any kind of description, thus permitting first-class type and effect polymorphism. Effect polymorphism makes the FX effect system more powerful than previous approaches to side-effect analysis in the presence of first-class subroutines.