Proceedings ArticleDOI
Algebraic reconstruction of types and effects
Pierre Jouvelot,David K. Gifford +1 more
- pp 303-310
TLDR
This paper presents the rst algorithm for reconstructing the types and e ects of expressions in the presence of rst class procedures in a polymorphic typed language and proves that it is sound and complete, and discusses its practical import.Abstract:
We present the rst algorithm for reconstructing the types and e ects of expressions in the presence of rst class procedures in a polymorphic typed language. E ects 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 e ects because the algebra of e ects induces complex constraints on both e ects 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.read more
Citations
More filters
Book
Types and Programming Languages
TL;DR: This text provides a comprehensive introduction both to type systems in computer science and to the basic theory of programming languages, with a variety of approaches to modeling the features of object-oriented languages.
Book
Principles of program analysis
TL;DR: This book is unique in providing an overview of the four major approaches to program analysis: data flow analysis, constraint-based analysis, abstract interpretation, and type and effect systems.
Proceedings ArticleDOI
Imperative functional programming
Simon Jones,Philip Wadler +1 more
TL;DR: A new model, based on monads, for performing input/output in a non-strict, purely functional language that is composable, extensible, efficient, requires no extensions to the type system, and extends smoothly to incorporate mixed-language working and in-place array updates.
Proceedings ArticleDOI
The essence of functional programming
TL;DR: This paper explores the use monads to structure functional programs and describes the relation between monads and the continuation-passing style in a compiler for Haskell that is written in Haskell.
Journal ArticleDOI
Region-based memory management
Mads Tofte,Jean-Pierre Talpin +1 more
TL;DR: A region-based dynamic semantics for a skeletal programming language extracted from Standard ML is defined and the inference system which specifies where regions can be allocated and de-allocated is presented and a detailed proof that the system is sound with respect to a standard semantics is presented.
References
More filters
Journal ArticleDOI
A Machine-Oriented Logic Based on the Resolution Principle
TL;DR: The paper concludes with a discussion of several principles which are applicable to the design of efficient proof-procedures employing resolution as the basle logical process.
Journal ArticleDOI
A theory of type polymorphism in programming
TL;DR: This work presents a formal type discipline for polymorphic procedures in the context of a simple programming language, and a compile time type-checking algorithm w which enforces the discipline.
Proceedings ArticleDOI
Principal type-schemes for functional programs
Luis Damas,Robin Milner +1 more
TL;DR: Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage.
Journal ArticleDOI
Linear-time algorithms for testing the satisfiability of propositional horn formulae
William F. Dowling,Jean Gallier +1 more
TL;DR: The formulation of the satisfiability problem as a data flow problem appears to be new and suggests the possibility of improving efficiency using parallel processors.
Book ChapterDOI
A semantics of multiple inheritance.
TL;DR: The notion of inheritance and object-oriented programming first appeared in Simula 67 (Dahl, 1966), where objects are grouped into classes and classes can be organized into a subclass hierarchy as discussed by the authors.