!DOCTYPE HTML PUBLIC "-//W3O//DTD W3 HTML 2.0//EN">
PUBLICATIONS
Up: Curriculum vitae
Previous: Research
presentations
Remark on links:
There may exist dead links to publications in the Topps
Bibliography (the systems people keep moving things around).
Last resort: many of the papers can be straightforwardly found via
ToppsBib.
(LINKS WORKED ON AGAIN: 24 February 2012; more entries and papers will soon be added).
Books written
Programming languages
-
Partial
Evaluation and Automatic Program Generation.
Neil D. Jones, Carsten K. Gomard, and Peter Sestoft.
Prentice Hall International, International Series in Computer Science, June
1993.
ISBN number 0-13-020249-5 (pbk).
NEW: The book can now be downloaded, from
here.
- Tempo: A Unified
Treatment of Binding Time and Parameter Passing Concepts.
Neil D. Jones and Steven Muchnick, volume 66 of Lecture Notes in Computer
Science.
Springer-Verlag, 1978.
Computation theory
Books edited
Programming languages
- Proceedings of the 24th Symposium on
Principles of Programming Languages (POPL), Paris, France.
N.D. Jones, editor, volume 24. Sponsored by the ACM Special Interest Group
SIGPLAN, ACM Press, January 1997.
ISBN number 0-89791-853-3.
-
Proceedings of the
Symposium on Partial Evaluation and Semantics-Based Program Manipulation
(PEPM), New Haven, Connecticut.
P. Hudak and N. D. Jones, editors. Sponsored by the ACM Special Interest Group
SIGPLAN, in cooperation with IFIP, ACM Press, June 1991.
-
Partial
Evaluation and Mixed Computation.
D. Bjørner, A. P. Ershov, and N. D. Jones, editors, North-Holland,
1988.
Elsevier Science Publishers B.V.
- Programs as Data
Objects.
Harald Ganzinger and Neil D. Jones, editors, volume 217 of Lecture Notes
in Computer Science. Springer-Verlag, 1986.
- Program Flow
Analysis: Theory and Applications.
Neil D. Jones and Steven Muchnick, editors.
Prentice-Hall, 1981.
- Semantics-Directed
Compiler Generation.
Neil D. Jones, editor, volume 94 of Lecture Notes in Computer
Science. Springer-Verlag, 1980.
Both computation theory and programming languages
Journal collections edited
Programming languages
Book chapters
Programming languages
-
Abstract
Interpretation: a Semantics-Based Tool for Program Analysis.
Neil D. Jones and Flemming Nielson.
In Handbook of Logic in Computer Science. Oxford University Press,
1994.
Pages 527-629.
-
Challenging
Problems in Partial Evaluation and Mixed Computation.
Neil D. Jones.
In D. Bjørner, A.P. Ershov, and N.D. Jones, editors, Partial
Evaluation and Mixed Computation, pages 1-14, North-Holland, 1988.
International federation of Information Processing Societies, Elsevier
Science Publishers B.V.
-
Automatic Program
Specialization: A Re-Examination from Basic Principles.
Neil D. Jones.
In D. Bjørner, A.P. Ershov, and N.D. Jones, editors, Partial
Evaluation and Mixed Computation, pages 225-282. North-Holland,
1988.
-
Flow Analysis of
Lazy Higher-Order Functional Programs.
Neil D. Jones.
In S. Abramsky and C. Hankin, editors, Abstract Interpretation of
Declarative Languages, pages 103-122. Ellis Horwood, Chichester,
England, 1987.
-
A
Semantics-Based Framework for the Abstract Interpretation of
Prolog.
Neil D. Jones and Harald Søndergaard.
In S. Abramsky and C. Hankin, editors, Abstract Interpretation of
Declarative Languages, pages 123-142, Chichester, England, 1987.
Ellis Horwood.
Computation theory
-
Computer
Implementation and Applications of Kleene's S-m-n and Recursion
Theorems. Neil D. Jones.
In Y. N. Moschovakis, editor, Lecture Notes in Mathematics, Logic From
Computer Science, pages 243-263. Springer-Verlag,
1991.
Journal articles
Programming languages
-
Flow analysis of lazy higher order functional programs (revised).
Neil Jones and Nils Andersen.
Theoretical Computer Science,
375(1-3):120-136, May 2007.
-
Redundant call elimination via tupling.
Siau-Cheng Khoo Wei-Ngan Chin and Neil Jones.
Fundamenta Informaticae,
69(1):1-37, 2005.
-
Partial Evaluation Termination Analysis and
Specialization-Point Insertion.
Neil D. Jones and Arne J. Glenstrup.
ACM Transactions on Programming Languages and Systems,
?(?):1-101, 2004.
-
Transformation by interpreter specialisation.
Neil D. Jones.
Science of Computer Programming, 52:307-339, 2004.
-
Compiler optimization correctness by temporal logic.
Lacey, D. and Jones, N.D. and Van Wyk, E. and
Frederiksen, C.C..
Higher Order and Symbolic Computation, 17(3):173-206, 2004.
-
Higher-Order Minimal Function
Graphs.
Neil D. Jones and Mads Rosendahl.
Journal of Functional and Logic Programming, 1997(2), February
1997.
Link to electronic journal.
-
An Introduction to Partial Evaluation.
Neil D. Jones.
ACM Computing Surveys, 28(3):480-504, September
1996.
-
A Positive
Supercompiler.
Morten Heine Sørensen, Robert Glück, and Neil D. Jones.
Journal of Functional Programming, 6(6):811-838,
1996.
-
Denotational
Abstract Interpretation of Logic Programs.
K. Marriot, H. Søndergaard, and N. D. Jones.
Transactions on Programming Languages and Systems, 1994.
-
Compiler
Generation by Partial Evaluation: a Case Study.
Carsten K. Gomard and Neil D. Jones.
Structured Programming, 12:123-144, 1991.
Also as DIKU-report 88/24 and 90/16.
-
A Partial Evaluator for the Untyped Lambda Calculus
.
Carsten K. Gomard and Neil D. Jones.
Journal of Functional Programming, 1(1):21-69, January
1991.
-
Static Semantics,
Types and Binding Time Analysis.
Neil D. Jones.
Theoretical Computer Science, 90:95-118, 1991.
Also appeared in Images of Programming, eds. D. Bjørner and V. Kotov,
North-Holland.
-
Mix: A Self-Applicable Partial
Evaluator for Experiments in Compiler Generation.
Neil D. Jones, Peter Sestoft, and Harald Søndergaard.
Lisp and Symbolic Computation, 2(1):9-50, 1989.
DIKU Report 91/12.
Computation theory
- A
note on the complexity of DOL membership.
Neil D. Jones and S. Skyum.
SIAM Journal on Computing, 10(1)(4), 1981.
- Complexity of
some problems concerning L systems.
Neil D. Jones and S. Skyum.
Mathematical Systems Theory, 13:29-43, 1979.
- A note on
linear time simulation of deterministic two-way pushdown
automata.
Neil D. Jones.
Information Processing Letters, 6(4):110-112, 1977.
- Problems
complete for deterministic polynomial time.
Neil D. Jones and W.T. Laaser.
Journal of Theoretical Computer Science, 3:105-117, 1977.
- Complexity of
some problems in petri nets.
Neil D. Jones, L. Landweber, and Y. Lien.
Journal of Theoretical Computer Science, 4(23), 1977.
- Recognition
of deterministic ETOL languages in logarithmic space.
Neil D. Jones and S. Skyum.
Information and Control, 1977.
- New problems
complete for nondeterministic log space.
Neil D. Jones and E. Lien.
Mathematical Systems Theory, 10(1):1-17, 1976.
- Space-bounded
reducibility among combinatorial problems.
Neil D. Jones.
Journal of Computer and System Science, 11:68-85, 1975.
- Turing
machines and the spectra of first order formula with equality.
Neil D. Jones and A.L. Selman.
Journal of Symbolic Logic, 39(1):139-150, 1974.
Other topics, or both computation theory and programming languages
-
Computational Complexity via Programming Languages:
Constant Factors Do Matter.
Amir Ben-Amram and Neil D. Jones.
Acta Informaticae 37, pp. 83-120. 2000.
-
The Expressive Power of Higher-Order Types.
Journal of Functional Programming 11(1), pp. 55-94. january,
2001. Special Issue on Functional Programming and Computational Complexity.
-
LOGSPACE and
PTIME Characterized by programming languages.
Neil D. Jones.
Journal of Theoretical Computer Science, 228, 151-174,
1999.
-
A precise version of a time hierarchy theorem.
Amir Ben-Amram and Neil D. Jones.
Fundamenta Informaticae 38, pp. 1-15. 1999. Special issue
dedicated to Arto Salomaa.
- A method for
detecting structure in polyhedra.
Neil D. Jones, P. Johansen, and J. Clausen.
Pattern Recognition Letters, 1984.
- Parsers for
indexed grammars.
Neil D. Jones and R. Sebesta.
International Journal Computing and Information Sciences,
7(4):345-359, 1978.
- Complexity of
finite memory programs with recursion.
Neil D. Jones and S. Muchnick.
Journal of the ACM, 25(2):312-321, 1978.
- Even
simple programs are hard to analyze.
Neil D. Jones and S. Muchnick.
Journal of the ACM, 24(2):338-350, 1977.
- A note on the index of
a context-free language.
Neil D. Jones.
Information and Control, 1970.
- Context-free
languages and rudimentary attributes.
Neil D. Jones.
Mathematical Systems Theory, 3(2):102-109, 1969.
Corrigendum: VOL. 11: 379-380.
- Classes of
automata and transitive closure.
Neil D. Jones.
Information and Control, 13:207-209, 1968.
Articles in refereed conference proceedings
Programming languages
-
The semantics of ``semantic patches" in Coccinelle: Program
transformation for the working programmer.
Neil D. Jones and Rene Rydhof Hansen.
In Proceedings of the Fifth Asian Symposium on Programming
Languages and Systems (APLAS 2007),
pp. ??-??, Lecture Notes in
Computer Science, November 2007.
-
Termination analysis of higher-order functional programs.
Damien Sereni and Neil D. Jones.
In Proceedings of the Third Asian Symposium on Programming
Languages and Systems (APLAS 2005),
pp. 281-297 Volume 3780, Springer LNCS, 2005.
-
Termination Analysis of the Untyped lambda-Calculus.
Neil D. Jones and Nina Bohr.
In Rewriting Techniques and Applications,
pp. 1-23 Volume 3091, Springer LNCS, 2004.
-
Program Generation, Termination, and Binding-time Analysis.
Neil D. Jones and Arne Glenstrup.
In Generative Programming and Component Engineering,
(eds. D. Batory, C. Consel, W. Taha),
pp. 1-31 Volume 2487, Springer LNCS. October, 2002.
-
Proving Correctness of Compiler Optimizations by Temporal Logic.
In ACM Symposium on Principles of Programming Languages,
(ed. John Mitchell),
pp. 283-294 Volume 29, ACM press. January, 2002.
-
The Size-Change Principle for Program Termination.
Lee, Chin Soon and Jones, Neil D. and Ben-Amram, Amir M.
In ACM Principles of Programming Languages,
pp. 81-92, ACM Press, January 2001.
-
Combining Abstract
Interpretation and Partial Evaluation (brief overview).
Neil D. Jones.
In Pascal Van Hentenryck, editor, Static Analysis, volume 1302 of
Lecture Notes in Computer Science, pages 396-405.
Springer-Verlag, 1997.
-
Automatic program specialization by partial evaluation: an
introduction. Robert Glück and Neil D. Jones.
In W. Mackens and S.M. Rump, editors, Software Engineering im Scientific
Computing, pages 70-77. Vieweg, 1996.
-
BTA
Algorithms to Ensure Termination of Off-line Partial Evaluation.
Arne John Glenstrup and Neil D. Jones.
In Perspectives of System Informatics: Proceedings of the Andrei
Ershov Second International Memorial Conference, Lecture Notes in
Computer Science. Springer-Verlag, jun 25-28 1996.
-
What Not to Do When Writing
an Interpreter for Specialisation
.
Neil D. Jones.
In Olivier Danvy, Robert Glück, and Peter Thiemann, editors, Partial
Evaluation, volume 1110 of Lecture Notes in Computer
Science, pages 216-237. Springer-Verlag, 1996.
-
MIX Ten Years
Later.
Neil D. Jones.
In William L. Scherlis, editor, Proceedings of PEPM '95, pages
24-38. ACM, ACM Press, 1995.
-
Towards Unifying Deforestation,
Supercompilation, Partial Evaluation, and Generalized Partial
Computation.
Morten Heine Sørensen, Robert Glück, and Neil D. Jones.
In D. Sannella, editor, European Symposium on Programming, volume
788 of Lecture Notes in Computer Science, pages 485-500.
Springer-Verlag, 1994.
-
The Essence of
Program Transformation by Partial Evaluation and Driving.
Neil D. Jones.
In Masahiko Sato Neil D. Jones, Masami Hagiya, editor, Logic, Language
and Computation, a Festschrift in honor of Satoru Takasu, pages
206-224. Springer-Verlag, April 1994.
-
Abstract Interpretation and Partial Evaluation in Functional and Logic
Programming .
Neil D. Jones.
In Maurice Bruynooghe, editor, Logic Programming. Proceedings of the 1994
International Symposium,. The MIT Press, 1994.
-
Efficient
Algebraic Operations on Programs.
Neil D. Jones.
In T. Rus, editor, Springer Workshop Series, April
1993.
-
Partial
Evaluation, Self-Application and Types.
Neil D. Jones.
In Automata, Languages and Programming, pages 639-659.
Springer-Verlag, July 1990.
-
A Self-Applicable
Partial Evaluator for the Lambda Calculus.
Neil D. Jones, Carsten K. Gomard, Anders Bondorf, Olivier Danvy, and
Torben Æ. Mogensen.
In 1990 International Conference on Computer Languages, New Orleans,
Louisiana, March 1990, pages 49-58. IEEE Computer Society, March
1990.
-
Data Flow
Analysis of Applicative Programs Using Minimal Function Graphs
.
N. D. Jones and A. Mycroft.
In Proceedings of the Symposium on Principles of Programming Languages
(POPL), volume 13, pages 296-306, St. Petersburg, Florida,
1986.
- A relational approach
to program flow analysis.
Neil D. Jones and Alan Mycroft.
In Harald Ganzinger and Neil D. Jones, editors, Programs as Data
Objects, volume 217 of Lecture Notes in Computer Science,
pages 112-135. Springer-Verlag, 1986.
- Towards a theory of
compiler generation.
Neil D. Jones and M. Tofte.
In D. Bjørner, editor, Proc. Workshop on Formal Software Development
Methods. North-Holland, 1986.
- An
experiment in partial evaluation: the generation of a compiler
generator.
Neil D. Jones, Peter Sestoft, and Harald Søndergaard.
In J.-P. Jouannoud, editor, Proceedings Conference on Rewriting
Techniques and Applications, volume 202 of Lecture Notes in
Computer Science, pages 125-140. Springer Verlag, 1985.
- Stepwise
development of operational and denotational semantics for
Prolog.
Neil D. Jones and A. Mycroft.
In Proceedings International Conference on Logic Programming. IEEE
Computer Society, 1984.
- Control flow
treatment in a simple semantics-directed compiler generator.
Neil D. Jones and H. Christiansen.
In Formal Description of Programming Concepts II, pages 73-99.
North-Holland, 1983.
- A flexible
approach to interprocedural data flow analysis.
Neil D. Jones and S. Muchnick.
In Proceedings of the Symposium on Principles of Programming Languages
(POPL), volume 9, pages 66-74, 1982.
- A
fixed-program machine for combinator evaluation.
Neil D. Jones and S. Muchnick.
In ACM Symposium on LISP and Functional Programming, pages 11-20,
1982.
- Flow
analysis of lambda expressions.
Neil D. Jones.
In Automata Languages And Programming, volume 115, pages 114-128,
Lecture Notes in Computer Science, 1981. Springer-Verlag.
- Control
flow aspects of an algebraic approach to compiler generation.
Neil D. Jones and H. Christiansen.
In Mathematical Studies of Information Processing, pages 110-137,
1981.
- Compiler generation
from denotational semantics.
Neil D. Jones and D. Schmidt.
In Neil D. Jones, editor, Semantics-Directed Compiler Generation,
volume 94 of Lecture Notes in Computer Science, pages 70-93.
Springer-Verlag, 1980.
- Flow analysis
and optimization of Lisp-like structures.
Neil D. Jones and S. Muchnick.
In Proceedings of the Symposium on Principles of Programming Languages
(POPL), volume 6, pages 244-256, 1979.
- Automatic optimization of
binding times.
Neil D. Jones and S. Muchnic.
In Proceedings of the Symposium on Principles of Programming Languages
(POPL), volume 3, pages 77-94, 1976.
Computation theory
-
Program Speedups in Theory and
Practice.
Neil D. Jones.
In B. Pehrson and I. Simon, editors, IFIP Transactions Technology and
Foundations Information Processing '94, volume Volume 1, pages
595-602. Elsevier Science B.V., August 1994.
-
Generalizing
Cook's Transformation to Imperative Stack Programs.
Nils Andersen and Neil D. Jones.
In Juhani Karhumäki, Hermann Maurer, and Grzegorz Rozenberg, editors,
Results and Trends in Theoretical Computer Science, volume 812
of Lecture Notes in Computer Science, pages 1-18.
Springer-Verlag, 1994.
-
Constant Time Factors Do Matter.
N. D. Jones.
In Steven Homer, editor, STOC '93. Symposium on Theory of
Computing, pages 602-611. ACM Press, 1993.
-
Experiments with Implementations of two Theoretical
Constructions.
Torben A. Hansen, T, Nikolajsen, J. L. Traeff, Neil D. Jones. In
Logic at Botik, volume 363 of
Lecture Notes in Computer Science, pages 119-133.
Springer-Verlag, 1989.
- Finite
automata with nonstandard scan patterns.
Neil D. Jones.
In Proceedings 5th Princeton Conference on Information Science and
Systems, pages 455-455, 1971.
- Some current
developments in formal language theory.
Neil D. Jones.
In John F. Hart, editor, Proceedings Computer Science Association,
London, Ontario, Canada, 1966.
Other topics, or both computation theory and programming languages
-
The flow of data and the complexity of algorithms.
Lars Kristiansen and Neil D. Jones.
In New Computational Paradigms: First Conference on
Computability in Europe, CiE 2005,
pp. 263-274, Lecture Notes in
Computer Science, June 2005.
- Complexity of
flow analysis, inductive assertion synthesis, and a language due to
Dijkstra.
Neil D. Jones and S. Muchnick.
In 21st Symposium on Foundations of Computer Science, pages
185-190. IEEE, 1980.
- Attribute-influenced
LR parsing.
Neil D. Jones and M. Madsen.
In Neil D. Jones, editor, Semantics-Directed Compiler Generation,
volume 94 of Lecture Notes in Computer Science, pages 393-407.
Springer-Verlag, 1980.
- Interpreting
transition matrices - a novel application of microprogramming.
Neil D. Jones and S. Oliver.
In ACM SIGMINI-SIGPLAN Interface Meeting on Programming Systems in the
Samll Processor Environment, pages 70-77, 1976.
- Priority paging
algorithms and the extension problem.
Neil D. Jones and E.G. Coffmann.
In Proceedings Symposium in Switching and Automata Theory,
volume 12, pages 171-181, 1971.
Unrefereed articles
-
Semantique:
Semantic-Based Program Manipulation Techniques.
N. D. Jones.
Bulletin European Association for Theoretical Computer Science,
39:74-83, 1989.
- Blindfold games are
harder than games with perfect information.
Neil D. Jones.
Bulletin European Association for Theoretical Computer Science,
6:4-7, 1978.
- Automata: A
teaching aid for mathematical machines.
Neil D. Jones, L.L. Rose, and B.H. Barnes.
ACM Special Interest Group on computer Science Education
Newsletter, 3(1):12-20, 1971.
- Discrete structures
in the undergraduate computer science curriculum.
Neil D. Jones and G. Engel.
ACM SIGGSE Bulletin, 5(1):56-59, 1973.
Technical reports
-
Binding time
analysis and the taming of self-application.
Anders Bondorf, Neil D. Jones, Torben Mogensen, and Peter Sestoft.
Technical report, DIKU, University of Copenhagen, Denmark, 1988.
- Diku, the institute of computer
science at the University of Copenhagen.
Neil D. Jones.
Technical report, DIKU, University of Copenhagen, 1984, 1987.
- Towards automating the
transformation of programming language specification into compilers, Part
II.
Neil D. Jones.
Technical Report 85/9, DIKU, University of Copenhagen, 1986.
- Towards automating
the transformation of programming language specification into
compilers.
Neil D. Jones.
Technical report, DIKU, University of Copenhagen, 1985.
- Datalogi 2 notes:
Functions, expressions, programming languages, computability.
Neil D. Jones.
Technical Report 84/7, DIKU, University of Copenhagen, 1984.
- Some principles
and notations for compiler generation.
Neil D. Jones and M. Tofte.
Technical report, DIKU, University of Copenhagen, 1983.
- A
universal compiler: Towards a compiler generator based on denotational
semantics.
Neil D. Jones, D. Schmidt, and S. Muchnick.
Technical Report IR-17, DAIMI, University of Aarhus, Denmark, 1980.
- Circularity testing
of attribute grammars requires exponential time: A simpler
proof.
Neil D. Jones.
Technical Report PB/107, DAIMI, University of Aarhus, Denmark, 1980.
- PL/85 users
manual.
Neil D. Jones and U. Pleban.
Technical Report TR/76-3, University of Kansas, 1976.
- Functions
computable by space-bounded turing machines.
Neil D. Jones.
Technical Report 103, The Pennsylvania State University, Department of Computer
Science, 1972.
- Experimental secondary
school course in computer science.
Neil D. Jones.
Technical report, University of Western Ontario, Computer Science Department,
1966.
- IBM 7040 ALGOL
compiler.
Neil D. Jones, P. Russel, A.G. Wilford, and W. Wilson.
Technical report, University of Western Ontario,Computer Science Department,
1966.
- A survey of
formal language theory, M.A. thesis.
Neil D. Jones.
Technical report, University of Western Ontario, Computer Science Department,
1965.
- 1620 ALGOL compiler:
Subroutine package.
Neil D. Jones.
Technical report, Southern Illinois University, Computing Center, 1962.
- Iliad Compiler
Manual.
W.F. Blose Neil D. Jones, D. Rector, and J. White.
Technical report, Southern Illinois University, Computing Center, 1961.
Neil D. Jones
February 24, 2012