Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- ArticleDecember 1989
Deciding ML typability is complete for deterministic exponential time
POPL '90: Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languagesDecember 1989, Pages 382–401https://doi.org/10.1145/96709.96748A well known but incorrect piece of functional programming folklore is that ML expressions can be efficiently typed in polynomial time. In probing the truth of that folklore, various researchers, including Wand, Buneman, Kanellakis, and Mitchell, ...
- ArticleDecember 1989
Quasi-static typing
POPL '90: Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languagesDecember 1989, Pages 367–381https://doi.org/10.1145/96709.96747We present a new approach to dynamic typing in a static framework. Our main innovation is the use of structural subtyping for dynamic types based on the idea that possible dynamic typing as a property should be inherited by objects of all types. Two ...
- ArticleDecember 1989
Safe run-time overloading
POPL '90: Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languagesDecember 1989, Pages 355–366https://doi.org/10.1145/96709.96746We present a functional language featuring a form of dynamic overloading akin to message passing in object oriented languages. We give a dynamic semantics describing a non-deterministic evaluation, as well as a type discipline (static semantics) ...
- ArticleDecember 1989
Higher-order modules and the phase distinction
POPL '90: Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languagesDecember 1989, Pages 341–354https://doi.org/10.1145/96709.96744In earlier work, we used a typed function calculus, XML, with dependent types to analyze several aspects of the Standard ML type system. In this paper, we introduce a refinement of XML with a clear compile-time/run-time phase distinction, and a direct ...
- ArticleDecember 1989
On the relations computable by a class of concurrent automata
POPL '90: Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languagesDecember 1989, Pages 329–340https://doi.org/10.1145/96709.96743We consider monotone input/output automata, which model a usefully large class of dataflow networks of indeterminate (or nonfunctional) processes. We obtain a characterization of the relations computable by these automata, which states that a relation R ...
-
- ArticleDecember 1989
On oraclizable networks and Kahn's principle
POPL '90: Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languagesDecember 1989, Pages 320–328https://doi.org/10.1145/96709.96742In this paper we investigate generalizations of Kahn's principle to nondeterministic dataflow networks. Specifically, we show that for the class of “oraclizable” networks a semantic model in which networks are represented by certain sets of continuous ...
- ArticleDecember 1989
Relating total and partial correctness interpretations of non-deterministic programs
POPL '90: Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languagesDecember 1989, Pages 306–319https://doi.org/10.1145/96709.96741The purpose of this paper is to discuss the relationship between the interpretations of non-deterministic programs using the upper (total correctness) powerdomain on the one hand and the lower (partial correctness) powerdomain on the other. It is shown ...
- ArticleDecember 1989
Fairness and hyperfairness in multi-party interactions
POPL '90: Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languagesDecember 1989, Pages 292–305https://doi.org/10.1145/96709.96739In this paper, a new fairness notion is proposed for languages with multi-party interactions as the sole interprocess synchronization and communication primitive. The main advantage of this fairness notion is the elimination of starvation occurring ...
- ArticleDecember 1989
Automata-driven indexing of Prolog clauses
POPL '90: Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languagesDecember 1989, Pages 281–291https://doi.org/10.1145/96709.96738Indexing Prolog clauses is an important optimization step that reduces the number of clauses on which unification will be performed and can avoid the pushing of a choice point. It is quite desirable to increase the number of functors used in indexing as ...
- ArticleDecember 1989
Combining generational and conservative garbage collection: framework and implementations
POPL '90: Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languagesDecember 1989, Pages 261–269https://doi.org/10.1145/96709.96735Two key ideas in garbage collection are generational collection and conservative pointer-finding. Generational collection and conservative pointer-finding are hard to use together, because generational collection is usually expressed in terms of copying ...
- ArticleDecember 1989
- ArticleDecember 1989
Concurrent constraint programming
POPL '90: Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languagesDecember 1989, Pages 232–245https://doi.org/10.1145/96709.96733This paper presents a new and very rich class of (concurrent) programming languages, based on the notion of computing with partial information, and the concomitant notions of consistency and entailment.1 In this framework, computation emerges from the ...
- ArticleDecember 1989
Making asynchronous parallelism safe for the world
POPL '90: Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languagesDecember 1989, Pages 218–231https://doi.org/10.1145/96709.96731We need a programming model that combines the advantages of the synchronous and asynchronous parallel styles. Synchronous programs are determinate (thus easier to reason about) and avoid synchronization overheads. Asynchronous programs are more flexible ...
- ArticleDecember 1989
Program transformation in the presence of errors
POPL '90: Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languagesDecember 1989, Pages 210–217https://doi.org/10.1145/96709.96730Language designers and implementors have avoided specifying and preserving the meaning of programs that produce errors. This is apparently because being forced to preserve error behavior severely limits the scope of program optimization, even for ...
- ArticleDecember 1989
An efficient hybrid algorithm for incremental data flow analysis
POPL '90: Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languagesDecember 1989, Pages 184–196https://doi.org/10.1145/96709.96728Our exhaustive and incremental hybrid data flow analysis algorithms, based on iteration and elimination techniques, are designed for incremental update of a wide variety of monotone data flow problems in response to source program changes. Unlike ...
- ArticleDecember 1989
Small domains spell fast strictness analysis
POPL '90: Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languagesDecember 1989, Pages 169–183https://doi.org/10.1145/96709.96727Use of strictness analysis in parallel evaluation and optimization of lazy functional languages is well known. The first formal treatment of strictness analysis appeared in Mycroft's seminal work which however dealt only with flat domains. Unlike flat ...
- ArticleDecember 1989
On determining lifetime and aliasing of dynamically allocated data in higher-order functional specifications
POPL '90: Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languagesDecember 1989, Pages 157–168https://doi.org/10.1145/96709.96725We present a static analysis method for determining aliasing and lifetime of dynamically allocated data in lexically scoped, higher-order, strict and polymorphic languages with first class continuations. The goal is validate program transformations that ...
- ArticleDecember 1989
A relationship between abstract interpretation and projection analysis
POPL '90: Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languagesDecember 1989, Pages 151–156https://doi.org/10.1145/96709.96724Abstract interpretation and projection analysis are two techniques for finding out information about lazy functional programs. Two typical uses of these techniques are speeding up sequential implementations, and the introduction of parallelism into ...
- ArticleDecember 1989
A type system for Smalltalk
POPL '90: Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languagesDecember 1989, Pages 136–150https://doi.org/10.1145/96709.96722This paper describes a type system for Smalltalk that is type-safe, that allows most Smalltalk programs to be type-checked, and that can be used as the basis of an optimizing compiler.
- ArticleDecember 1989
Inheritance is not subtyping
POPL '90: Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languagesDecember 1989, Pages 125–135https://doi.org/10.1145/96709.96721In typed object-oriented languages the subtype relation is typically based on the inheritance hierarchy. This approach, however, leads either to insecure type-systems or to restrictions on inheritance that make it less flexible than untyped Smalltalk ...