Polymorphic effect systems

  • Authors:
  • J. M. Lucassen;D. K. Gifford

  • Affiliations:
  • MIT Laboratory for Computer Science, 545 Technology Square, Cambridge, Massachusetts;MIT Laboratory for Computer Science, 545 Technology Square, Cambridge, Massachusetts

  • Venue:
  • POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
  • Year:
  • 1988

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present a new approach to programming languages for parallel computers that uses an effect system 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 regions, 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 statically by the effect system are a conservative approximation of the actual side-effects that a given expression 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 computers.