Results 1 -
3 of
3
Algebraic Reconstruction of Types and Effects
, 1991
"... We present the first algorithm for reconstructing the types and effects of expressions in the presence of first class procedures in a polymorphic typed language. Effects are static descriptions of the dynamic behavior of expressions. Just as a type describes what an expression computes, an effect de ..."
Abstract
-
Cited by 107 (6 self)
- Add to MetaCart
We present the first algorithm for reconstructing the types and effects of expressions in the presence of first class procedures in a polymorphic typed language. Effects are static descriptions of the dynamic behavior of expressions. Just as a type describes what an expression computes, an effect describes how an expression computes. Types are more complicated to reconstruct in the presence of effects because the algebra of effects induces complex constraints on both effects and types. In this paper we show how to perform reconstruction in the presence of such constraints with a new algorithm called algebraic reconstruction, prove that it is sound and complete, and discuss its practical import. This research was supported by DARPA under ONR Contract N00014-89-J-1988. 1
Putting Type Annotations to Work
, 1996
"... We study an extension of the Hindley-Milner system with explicit type scheme annotations and type declarations. The system can express polymorphic function arguments, user-defined data types with abstract components, and structure types with polymorphic fields. More generally, all programs of the po ..."
Abstract
-
Cited by 91 (1 self)
- Add to MetaCart
We study an extension of the Hindley-Milner system with explicit type scheme annotations and type declarations. The system can express polymorphic function arguments, user-defined data types with abstract components, and structure types with polymorphic fields. More generally, all programs of the polymorphic lambda calculus can be encoded by a translation between typing derivations. We show that type reconstruction in this system can be reduced to the decidable problem of first-order unification under a mixed prefix.
Report on the fx programming language
, 1992
"... This report gives a de ning description of the programming language FX. The FX programming language is designed to support the parallel implementation of applications that perform both symbolic and scienti c computations. The unique features of FX include: An e ect system, to discover expression sch ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
This report gives a de ning description of the programming language FX. The FX programming language is designed to support the parallel implementation of applications that perform both symbolic and scienti c computations. The unique features of FX include: An e ect system, to discover expression scheduling constraints. An e ect is a static description of the side-e ects an expression may perform when it is evaluated. Just as a type describes what an expression computes, an e ect describes how an expression computes. Abstraction over any kind of description, thus permitting rst-class type and e ect polymorphism. E ect polymorphism makes the FX e ect system more powerful than previous approaches to side-e ect analysis in the presence of rst-class subroutines.

