Christopher T. Haynes

dblp:h/ChristopherTHaynes · DBLP profile ↗
← Back
9ranked-venue papers
6as first author
0since 2021 · last 2005
—ORCID · none

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

Software engineering, systems software and programming languages · 5 · 4 first-authorTheory of computation · 3 · 1 first-authorHuman-computer interaction and ubiquitous computing · 2 · 2 first-authorArtificial intelligence and machine learning · 1

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.

Theoretical computer science
1 paper
Logic in computer science · 50% Automated reasoning and model checking · 50%
Software engineering, system software, and programming languages
2 papers
Programming languages and type systems · 100%

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

TopicWeightPapersLastEvidence papers
Logic in computer science
unification
0.112005
Source-tracking unification · Inf. Comput. 2005
Programming languages and type systems › control structures
control abstraction
0.021987
Embedding Continuations in Procedural Objects · ACM Trans. Program. Lang. Syst. 1987
Constraining Control · POPL 1985
Programming languages and type systems › control operators
dynamic-wind
0.021987
Embedding Continuations in Procedural Objects · ACM Trans. Program. Lang. Syst. 1987
Constraining Control · POPL 1985
Programming languages and type systems › control operators
first-class continuations
0.021987
Embedding Continuations in Procedural Objects · ACM Trans. Program. Lang. Syst. 1987
Constraining Control · POPL 1985
Programming languages and type systems
extensibility
0.011987
Embedding Continuations in Procedural Objects · ACM Trans. Program. Lang. Syst. 1987

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

fluids · 0.0domain mechanisms · 0.0
YearPublicationVenuePosition
2005 Source-tracking unification
Venkatesh Choppella, Christopher T. Haynes
Inf. Comput.2
2003 Source-Tracking Unification
Venkatesh Choppella, Christopher T. Haynes
CADE2
1998 Experience with an analytic approach to teaching programming languages
abstract
Through the use of interpreters it is possible to teach programming languages in an analytic way without the mathematical overhead associated with other formal methods. This is a natural evolution of programming language pedagogy from present approaches that are largely descriptive. As a bonus, students receive training in the use of meta-linguistic abstraction in program design. An example of this approach is presented along with suggested variations and discussion of a number of practical considerations that may be crucial to success in the classroom.
Christopher T. Haynes
SIGCSE1
1997 Compiling: a high-level introduction using Scheme
abstract
Traditional compilation courses use formal methods for parsing, but treat the more important semantic aspects informally. We present a one semester course in which compiler development is reduced to a number of transformation steps, each of which is formally specified, easily tested, and clearly motivated by semantic considerations. The source language is substantial (essentially the host language of the compiler) and the target is a popular RISC architecture.
Christopher T. Haynes
SIGCSE1
1987 Abstracting Timed Preemption with Engines
Christopher T. Haynes, Daniel P. Friedman
Comput. Lang.1
1987 Embedding Continuations in Procedural Objects
abstract
Continuations, when available as first-class objects, provide a general control abstraction in programming languages. They liberate the programmer from specific control structures, increasing programming language extensibility. Such continuations may be extended by embedding them in procedural objects. This technique is first used to restore a fluid environment when a continuation object is invoked. We then consider techniques for constraining the power of continuations in the interest of security and efficiency. Domain mechanisms, which create dynamic barriers for enclosing control, are implemented using fluids. Domains are then used to implement an unwind-protect facility in the presence of first-class continuations. Finally, we present two mechanisms, wind-unwind and dynamic-wind, that generalize unwind-protect.
Christopher T. Haynes, Daniel P. Friedman
ACM Trans. Program. Lang. Syst.1
1986 Logic Continuations
Christopher T. Haynes
ICLP1
1986 Obtaining Coroutines with Continuations
Christopher T. Haynes, Daniel P. Friedman, Mitchell Wand
Comput. Lang.1
1985 Constraining Control
abstract
Continuations, when available as first-class objects, provide a general control abstraction in programming languages. They liberate the programmer from specific control structures, increasing programming language extensibility. Such continuations may be extended by embedding them in functional objects. This technique is first used to restore a fluid environment when a continuation object is invoked. We then consider techniques for constraining the power of continuations in the interest of security and efficiency. Domain mechanisms, which create dynamic barriers for enclosing control, are implemented using fluids. Domains are then used to implement an unwind-protect facility in the presence of first-class continuations. Finally, we demonstrate two mechanisms, wind-unwind and dynamic-wind, that generalize unwind-protect.
Daniel P. Friedman, Christopher T. Haynes
POPL2