Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

David B. MacQueen

dblp:84/3383 · DBLP profile ↗
← Back
11ranked-venue papers
6as first author
0since 2021 · last 2002
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 7 · 4 first-authorTheory of computation · 4 · 2 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
6 papers
Programming languages and type systems · 59% Requirements engineering and software design · 17% Compilers and program optimization · 13%
Theoretical computer science
1 paper
Logic in computer science · 100%

Topics — the 21 heaviest of 21, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Compilers and program optimization › compiler toolchain
separate compilation
0.011994
Separate Compilation for Standard ML · PLDI 1994
Program analysis › static analysis
abstract interpretation
0.011993
Computing ML Equality Kinds Using Abstract Interpretation · Inf. Comput. 1993
Programming languages and type systems › control operators
first-class continuations
0.011991
Typing First-Class Continuations in ML · POPL 1991
Programming languages and type systems › type systems
type soundness
0.011991
Typing First-Class Continuations in ML · POPL 1991
Programming languages and type systems
type systems
0.011991
Typing First-Class Continuations in ML · POPL 1991
Programming languages and type systems
type theory
0.021986
An Ideal Model for Recursive Polymorphic Types · Inf. Control. 1986
An Ideal Model for Recursive Polymorphic Types · POPL 1984
Programming languages and type systems › type theory
dependent types
0.011986
Using Dependent Types to Express Modular Structure · POPL 1986
Requirements engineering and software design › software design principles
information hiding
0.011986
Using Dependent Types to Express Modular Structure · POPL 1986
Requirements engineering and software design › modularity
modular structure
0.011986
Using Dependent Types to Express Modular Structure · POPL 1986
Requirements engineering and software design
programming-in-the-large
0.011986
Using Dependent Types to Express Modular Structure · POPL 1986
Programming languages and type systems › type systems › recursive types
recursive polymorphic types
0.011986
An Ideal Model for Recursive Polymorphic Types · Inf. Control. 1986
Requirements engineering and software design
software architecture
0.011986
Using Dependent Types to Express Modular Structure · POPL 1986
Programming languages and type systems
module systems
0.011994
Separate Compilation for Standard ML · PLDI 1994
Logic in computer science
algebraic specification
0.011985
Completeness of Proof Systems for Equational Specifications · IEEE Trans. Software Eng. 1985
Logic in computer science › algebraic logic
equational logic
0.011985
Completeness of Proof Systems for Equational Specifications · IEEE Trans. Software Eng. 1985
Logic in computer science › algebraic specification
initial algebra semantics
0.011985
Completeness of Proof Systems for Equational Specifications · IEEE Trans. Software Eng. 1985
Programming languages and type systems › language semantics › formal semantics
denotational semantics
0.011984
An Ideal Model for Recursive Polymorphic Types · POPL 1984
Programming languages and type systems
language semantics
0.011984
An Ideal Model for Recursive Polymorphic Types · POPL 1984
Programming languages and type systems › type systems › polymorphism
polymorphic types
0.011984
An Ideal Model for Recursive Polymorphic Types · POPL 1984
Programming languages and type systems › type systems
recursive types
0.011984
An Ideal Model for Recursive Polymorphic Types · POPL 1984
Logic in computer science › formal specification
specification language
0.011985
Completeness of Proof Systems for Equational Specifications · IEEE Trans. Software Eng. 1985

Methods — techniques the papers use, named apart from their topics

separate compilation · 0.0type assignment semantics · 0.0operational semantics · 0.0module system · 0.0abstract data types · 0.0proof theory · 0.0ideal model construction · 0.0equational logic · 0.0
YearPublicationVenuePosition
2002 Should ML be Object-Oriented?
abstract
Abstract. At a fundamental level, functional and object-oriented programming languages are all ‘higher-order’, in the sense that they support computing with values that are themselves pieces of program code encapsulated with a local environment. In functional languages these ‘active’ values are functions, while in object-oriented languages they are objects. Both styles of higher-order language claim to provide good support for writing adaptable programs, but functional and object-oriented languages achieve this adaptability in different ways: functional programs rely on parameterisation at the value, type and module level, while object-oriented languages rely primarily on subtyping and implementation inheritance. Here we compare these two approaches, mainly in terms of the features and properties of their type systems, and consider the benefits and disadvantages of unifying (or merging) the two paradigms by adding object-oriented features to ML as a base language. We argue that while some of the simpler aspects of object-oriented languages are compatible with ML, adding a full- edged class-based object system to ML leads to an excessively complex type system and relatively little expressive gain, especially if we aim to preserve that mostly functional style of programming that is a major advantage of ML.
David B. MacQueen
Formal Aspects Comput.1
1994 A Semantics for Higher-Order Functors
David B. MacQueen, Mads Tofte
ESOP1
1994 Separate Compilation for Standard ML
abstract
Languages that support abstraction and modular structure, such as Standard ML, Modula, Ada, and (more or less) C++, may have deeply nested dependency hierarchies among source files. In ML the problem is particularly severe because ML's powerful parameterized module (functor) facility entails dependencies among implementation modules, not just among interfaces.
Andrew W. Appel, David B. MacQueen
PLDI2
1993 Computing ML Equality Kinds Using Abstract Interpretation
Carl A. Gunter, Elsa L. Gunter, David B. MacQueen
Inf. Comput.3
1993 Typing First-Class Continuations in ML
abstract
Abstract An extension of ML with continuation primitives similar to those found in Scheme is considered. A number of alternative type systems are discussed, and several programming examples are given. A continuation-based operational semantics is defined for a small, purely functional language, and the soundness of the Damas–Milner polymorphic type assignment system with respect to this semantics is proved. The full Damas–Milner type system is shown to be unsound in the presence of first-class continuations. Restrictions on polymorphism similar to those introduced in connection with reference types are shown to suffice for soundness.
Robert Harper 0001, Bruce F. Duba, David B. MacQueen
J. Funct. Program.3
1991 Typing First-Class Continuations in ML
abstract
An extension of Standard ML with continuation primitives similar to those found in Scheme is considered.A number of alternative type systems are discussed, and several programming examples are given.The semantics of type assignment for a small, purely functional fragment of the language is presented, for which both a Milner-style soundness theorem and an observational soundness theorem may be established.
Bruce F. Duba, Robert Harper 0001, David B. MacQueen
POPL3
1986 Using Dependent Types to Express Modular Structure
abstract
Writing any large program poses difficult problems of organization. In many modern programming languages these problems are addressed by special linguistic constructs, variously known as modules, packages, or clusters, which provide for partitioning programs into manageable components and for securely combining these components to form complete programs. Some general purpose components are able to take on a life of their own, being separately compiled and stored in libraries of generic, reusable program units. Usually modularity constructs also support some form of information hiding, such as "abstract data types." "Programming in the large" is concerned with using such constructs to impose structure on large programs, in contrast to "programming in the small", which deals with the detailed implementation of algorithms in terms of data structures and control constructs. Our goal here is to examine some of the proposed linguistic notions with respect to how they meet the pragmatic requirements of programming in the large.
David B. MacQueen
POPL1
1986 An Ideal Model for Recursive Polymorphic Types
David B. MacQueen, Gordon D. Plotkin, Ravi Sethi
Inf. Control.1
1985 Completeness of Proof Systems for Equational Specifications
abstract
Contrary to popular belief, equational logic with induction is not complete for initial models of equational specifications. Indeed, under some regimes (the Clear specification language and most other algebraic specification languages) no proof system exists which is complete even with respect to ground equations. A collection of known results is presented along with some new observations.
David B. MacQueen, Donald Sannella
IEEE Trans. Software Eng.1
1984 An Ideal Model for Recursive Polymorphic Types
abstract
Article Free Access Share on An ideal model for recursive polymorphic types Authors: David MacQueen Bell Laboratories, Murray Hill, New Jersey Bell Laboratories, Murray Hill, New JerseyView Profile , Gordon Plotkin Department of Computer Science, University of Edinburgh, Edinburgh EH9 3J2 Department of Computer Science, University of Edinburgh, Edinburgh EH9 3J2View Profile , Ravi Sethi Bell Laboratories, Murray Hill, New Jersey Bell Laboratories, Murray Hill, New JerseyView Profile Authors Info & Claims POPL '84: Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languagesJanuary 1984 Pages 165–174https://doi.org/10.1145/800017.800528Online:15 January 1984Publication History 79citation712DownloadsMetricsTotal Citations79Total Downloads712Last 12 Months48Last 6 weeks7 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteeReaderPDF
David B. MacQueen, Gordon D. Plotkin, Ravi Sethi
POPL1
1976 Selection in Abstract Recursion Theory
abstract
In [1] Gandy established the following selection theorem for recursion in type-2 objects. Theorem. Let F be a normal type-2 object. Then it is possible to select (uniformly and effectively in F) an integer from each nonempty set of integers semirecursive in F. Notice that this really asserts that the predicates semirecursive in F are closed under existential quantification over type-0. Moschovakis [6] has essentially proven this theorem for F of arbitrary type. In [2] Grilliot stated a powerful generalization of Gandy's result, namely: Grilliot's Selection Theorem. Let F be a normal type-(n + 2) object (n an arbitrary integer). Then it is possible to select (uniformly and effectively in F) a nonempty recursive in F subset of each nonempty semirecursive in F set oftype-(n − 1) objects. Notice again that this actually says that predicates semirecursive in F are closed under quantification over type-(n − 1) objects. Despite the similarity of these two results, Gandy and Grilliot proposed rather different methods of proof. Furthermore, the proof that Grilliot presented in [2] contains an error which cannot easily be corrected. (We will comment on the nature of this error at the end of §1.) Fortunately, however, Grilliot's theorem is valid. We will present a proof of Grilliot's selection theorem which is a direct generalization of the proof of Gandy's theorem given in [6]. In fact, we will prove a general result (the theorem stated in §2) which subsumes both Gandy's and Grilliot's results.
Leo Harrington, David B. MacQueen
J. Symb. Log.2