Peter Sestoft's Publications
Some of the papers mentioned here are too old to be available online.
1985
- N.D. Jones, P. Sestoft, and H. Søndergaard. An experiment
in partial evaluation: The generation of a compiler generator. In
J.-P. Jouannaud, editor, Rewriting Techniques and Applications, Dijon,
France. (Lecture Notes in Computer Science, Vol. 202), pages
124-140. Berlin: Springer-Verlag, 1985.
(Reviewed in Computing Reviews 27(7): 353, 1986, entry 8607-0607).
- P. Sestoft. The structure of a self-applicable partial evaluator.
DIKU Report 85-11, 15 November 1985.
Scanned PDF
(thanks to R Glück).
1986
- P. Sestoft. The structure of a self-applicable partial evaluator. In
H. Ganzinger and N.D. Jones, editors, Programs as Data Objects,
Copenhagen, Denmark, 1985. (Lecture Notes in Computer Science, Vol.
217), pages 236-256. Berlin: Springer-Verlag, 1986.
1988
- P. Sestoft. Automatic call unfolding in a partial evaluator. In
D. Bjørner, A.P. Ershov, and N.D. Jones, editors, Partial
Evaluation and Mixed Computation, pages 485-506. Amsterdam:
North-Holland, 1988. Available as scanned PDF.
- P. Sestoft and H. Søndergaard. A bibliography on partial
evaluation. Sigplan Notices, 23(2):19-27, February 1988.
- P. Sestoft and A.V. Zamulin. Annotated bibliography on partial
evaluation and mixed computation. In D. Bjørner, A.P. Ershov,
and N.D. Jones, editors, Partial Evaluation and Mixed Computation,
pages 589-622. North-Holland, 1988.
- P. Sestoft. Replacing function parameters by global variables.
Master's thesis, DIKU, University of Copenhagen, Denmark, October
1988. Master's thesis no. 254. Available as scanned PDF
(for printing) or gif images (for on-line viewing).
1989
- P. Sestoft. Replacing function parameters by global variables.
In Fourth International Conference on Functional Programming Languages
and Computer Architecture, Imperial College, London, pages 39-53.
IFIP and ACM, ACM Press, September 1989.
- N.D. Jones, P. Sestoft, and H. Søndergaard. Mix: A
self-applicable partial evaluator for experiments in compiler
generation. Lisp and Symbolic Computation, 2(1):9-50, 1989.
Scanned PDF.
1990
- H. Søndergaard and P. Sestoft. Referential transparency,
definiteness and unfoldability. Acta Informatica, 27:505-517, 1990.
(Reviewed in Computing Reviews 32(3):144-145, 1991, entry 9103-0154).
Scanned PDF.
1991
- C.K. Gomard and P. Sestoft. Globalization and live variables. In
Partial Evaluation and Semantics-Based Program Manipulation, New
Haven, Connecticut (Sigplan Notices, vol. 26, no. 9, September 1991),
pages 166-177. ACM, 1991.
- P. Sestoft. Analysis and Efficient Implementation of Functional
Programs. PhD thesis, DIKU, University of Copenhagen, Denmark, 1991.
DIKU Research Report 92/6. Postscript (1.1 MB).
1992
- C.K. Gomard and P. Sestoft. Evaluation order analysis for lazy data
structures. In R. Heldal, C. Kehler Holst, and P. Wadler, editors,
Functional Programming, Glasgow 1991, pages 112-127. Berlin:
Springer-Verlag, 1992.
- C.K. Gomard and P. Sestoft. Path analysis for lazy data
structures. In M. Bruynooghe and M. Wirsing, editors, Programming
Language Implementation and Logic Programming, 4th International
Symposium, PLILP '92, Leuven, Belgium. (Lecture Notes in Computer
Science, vol. 631), pages 54-68. Berlin: Springer-Verlag, 1992.
- H. Søndergaard and P. Sestoft. Non-determinism in functional
languages. Computer Journal, 35(5):514-523, October 1992.
1993
- Z. Chaochen, M.R. Hansen, and P. Sestoft. Decidability and
undecidability results for duration calculus. In P. Enjalbert,
A. Finkel, and K.W. Wagner, editors, STACS 93. 10th Symposium on
Theoretical Aspects of Computer Science, Würzburg, Germany,
February 1993. (Lecture Notes in Computer Science, vol. 665), pages
58-68. Berlin: Springer-Verlag, 1993.
- L.P. Fischer, S. Hansen, and P. Sestoft. Daisy: Thoughts about
new developments. In U. Dindorp, editor, Møderapport fra
Workshop om Programmeludvikling i Jordbrugsforskningen (Dina notat
17), pages 15-29. DINA KVL, Royal Veterinary and Agricultural
University, Copenhagen, 1993.
- N.D. Jones, C.K. Gomard, and P. Sestoft. Partial Evaluation and
Automatic Program Generation. Englewood Cliffs, NJ: Prentice Hall,
1993. xii + 415 pages. (Reviewed in Computing Reviews 35(7):
346-347, 1994, entry 9407-0420). The full book text in Postscript (2.3 MB) and in PDF (1.7 MB). The book homepage.
- P. Sestoft. Towards a type system for timed Z. Procos Report
ID/DTH PS 1/1, ProCoS II, ESPRIT BRA 7071, 1993. Department of
Computer Science, Technical University of Denmark.
- J.U. Skakkebæk and P. Sestoft. Checking validity of duration
calculus formulas. ESPRIT project PROCOS II, Department of Computer
Science, Technical University of Denmark, 1993.
1994
- P. Sestoft. Deriving a lazy abstract machine. Technical Report
ID-TR 1994-146, Department of Computer Science, Technical University
of Denmark, 1994. 27 pages.
- P. Sestoft. Grammars and parsing with ML. Lecture notes for 4312,
Department of Computer Science, Technical University of Denmark, 1994.
35 pages.
- P. Sestoft and H. Søndergaard, editors of PEPM'94 workshop
proceedings and special issue of Lisp and Symbolic Computation.
1995
- P. Sestoft. Søgning og sortering. Noter til
Programmering, oktober 1995, Kongelige Veterinær- og
Landbohøjskole, 34 sider. (In Danish).
1996
- P. Sestoft. ML pattern match compilation and partial evaluation.
In Danvy, Glück, and Thiemann (editors): Partial Evaluation. Dagstuhl
Castle, Germany, February 1996. Lecture Notes in Computer Science,
vol. 1110, pages 446-464. Springer-Verlag 1996. Postscript
- P. Sestoft. Standard ML on the Web server: Visualizing Lambda
Calculus Reduction. Working paper, November 1996. Postscript
1997
- P. Sestoft. Deriving a lazy abstract machine. In Journal of
Functional Programming, vol 7, number 3, May 1997, pages 231-264. PDF,
experimental implementation as tgz file and zip file in Standard ML.
- T. Mogensen and P. Sestoft. Partial Evaluation. In A. Kent and
J.G. Williams (editors): Encyclopedia of Computer Science and
Technology, vol. 37, pages 247-279. New York: Marcel Dekker, 1997. Postscript
- U. Dindorp and P. Sestoft. The SFD dataset browser. In H. Kure,
I.Thysen, A.R. Kristensen: First European Conference for Information
Technology in Agriculture, Copenhagen, June 1997, pages 69-74.
- M.Tofte et al. Programming with Regions in the ML Kit. Technical
Report DIKU-TR-97/12, DIKU, University of Copenhagen, 1997. Postscript.
1998
- S. Romanenko and P. Sestoft. Moscow ML owner's manual, version
1.43, April 1998.
- S. Romanenko and P. Sestoft. Moscow ML language overview,
version 1.43, April 1998.
- S. Diehl and P. Sestoft (editors): Workshop on Principles of
Abstract Machines. Pisa, Italy, September 1998. Technical report A
05/98, Fachbereich Informatik, Universität des Saarlandes,
Saarbrücken, Germany.
1999
-
Simon Mørk, Ken Larsen, Henrik Reif Andersen, Peter Sestoft: PMC: A
programming language for embedded systems. Fourth International
Workshop on Formal Methods for Industrial Critical Systems, Trento,
Italy, July 1999.
2000
- S. Diehl, P. Hartel and P. Sestoft: Abstract machines for
programming language implementation, Future Generation
Computer Systems, 16,7 (May 2000) 739-751.
- S. Romanenko, C. Russo and P. Sestoft: Moscow ML Language
Overview, version 2.00, June 2000, 24 pages.
PDF
- S. Romanenko, C. Russo and P. Sestoft: Moscow ML Owner's
Manual, version 2.00, June 2000, 35 pages. PDF
- S. Romanenko, C. Russo and P. Sestoft: Moscow ML Library
Documentation, version 2.00, June 2000, 170 pages. PDF.
- P. Theil, H. Jørgensen, K. Jakobsen, P. Sestoft,
A.-H. Tauson and A. Chwalbog: Relation between oxygen consumption
and heart rate in four breeds of pigs measured in short- and
long-term changes of environmental temperature, Poster at 15th
Energy Symposium, Snekkersten, Denmark, September 2000.
- P. Sestoft: Udformning af rapporter.
IT-Universitetet, 2000-05-01, 3 sider. Also, English translation by Noah Torp-Smith.
2001
2002
- P. Sestoft: Java Precisely. The MIT
Press, June 2002.
- A. Wasowski and P. Sestoft: On the Formal Semantics of
VisualSTATE Statecharts. Technical report TR-2002-19, IT University
of Copenhagen, Denmark, September 2002. In PDF
- A. Wasowski and P. Sestoft: Compile-time Scope Resolution
for Statechart Transitions. Workshop on Critical Systems Development
with UML, September 2002, Dresden, Germany.
- P. Sestoft: Runtime Code Generation with JVM and CLR. Paper in PDF, and list of example programs.
- P. Sestoft: Demonstrating Lambda Calculus Reduction. In
T. Mogensen, D. Schmidt, I. H. Sudburough (editors): The Essence of
Computation: Complexity, Analysis, Transformation. Essays Dedicated
to Neil D. Jones. Lecture Notes in Computer Science 2566, pages
420-435. Springer-Verlag 2002. Paper in PDF. Implementation source
code and Web interface.
- Eva Danielsen, Lars Elkjær Jørgensen, Peter Sestoft:
Monte Carlo Simulations of PAC-spectra as a general approach to
dynamic interactions. Hyperfine Interactions 142 (3-4): 607-626.
2003
- T. Thorn, A. Baumann, M. Fennestad and P. Sestoft: A
peer-to-peer, value-oriented XML Store. IT University of Copenhagen,
Technical Report ITU-TR-2003-27. May 2003.
PDF
- P. Sestoft. Searching and sorting with
Java (PDF). Lecture notes, 44 pages. English version 1.04, 2003.
- Java Performance. Reducing time and space consumption. KVL and
ITU. Version 2.0 (updated 2005-04-13), 11 pages. PDF
2004
-
Peter Sestoft and Henrik Hansen: C#
Precisely. The MIT Press, October 2004, x+204 pages. (Reviewed
in Computing Reviews, review CR131622, entry 0606-0570).
-
Anne Louise Gimsing, Ole K. Borggaard, Peter Sestoft: Modeling the
kinetics of the competitive adsorption and desorption of glyphosate
and phosphate on goethite and gibbsite and in soils. Environmental
Science and Technology. 2004 Mar 15;38(6):1718-22. American Chemical
Society.
2005
2006
- P. Sestoft (editor):
Programming Languages and Systems. 15th European Symposium on
Programming, ESOP 2006, Vienna, Austria. Lecture Notes in Computer
Science, vol. 3924, 343 pages, Springer-Verlag 2006. ISBN 354033095X.
The book's page at
Springer-Verlag and at Amazon.com.
- N. Kokholm and P. Sestoft: The C5 Generic Collection Library
for C# and CLI. Technical Report ITU-TR-2006-76. IT University of
Copenhagen, January 2006, ii+252 pages. ISBN 87-7949-114-6. Get it
from the C5 library website.
- M. Larsen og P. Sestoft: Noter om R og
Noter om Regneark, version 2. Undervisningsmateriale til Matematik og
Databehandling. iv+130 sider. Institut for Grundvidenskab, KVL,
august 2006. Updated multiple times, here are the R notes, as updated
by Morten Larsen: most
recent version and a local
copy.
- Peter Sestoft: A Spreadsheet Core Implementation in C#. IT
University of Copenhagen Technical Report ITU-TR-2006-91. IT
University of Copenhagen, September 2006, ii+135 pages. ISBN
87-7949-135-9. Get it from the CoreCalc
website.
- Anders Ringgaard Kristensen and Peter Sestoft: The Dina Research
School, 1997-2006. Dina notat 112, October 2006. In PDF.
- Peter Sestoft: Center for Bioinformatik, KVL: Beretning
2004-2006, KVL 2. november 2006, 11 sider, PDF.
2007
- Niels Kokholm and Peter Sestoft: The C5 Generic Collection
Library. A .NET 2.0 collection library that supports advanced
functionality. Dr. Dobb's Journal (July 2007) 50-56. The article and
the C5 library website.
- Jon Jagger, Nigel Perry and Peter Sestoft: C# Annotated Standard.
Morgan Kaufmann 2007.
The book's page at
Morgan Kaufmann and at Amazon.com.
-
Ebbe S. Andersen, Allan Lind-Thomsen, Bjarne Knudsen, Susie
E. Kristensen, Jakob H. Havgaard, Elfar Torarinsson,
Niels Larsen, Christian Zwieb, Peter Sestoft, Jørgen
Kjems and Jan Gorodkin: Semiautomated improvement of RNA alignments.
RNA Journal, vol. 13, pages 1-10, September 2007.
-
Rasmus Johansen, Stephan Spangenberg and Peter Sestoft: Yiihaw .NET
aspect weaver usage guide. 14 pages, 2007-09-30. PDF. The Yiihaw Weaver is
available from http://yiihaw.tigris.org/.
2008
- Peter Sestoft: Implementing function spreadsheets. Fourth Workshop on
End-User Software Engineering (WEUSE IV), Leipzig, Germany,
12 May 2008, pages 91-94. PDF.
- N. Kokholm and P. Sestoft: The C5 Generic Collection Library
for C# and CLI. Technical Report ITU-TR-2006-76, version 1.1.0 of
2008-02-10, ii+268 pages. Get it from the C5 library website.
-
Peter Sestoft: Systematic software testing. Version 2 of 2008-02-25.
Lecture notes, 17 pages. PDF.
-
Anders Hessellund, Peter Sestoft: Flow Analysis of Code
Customizations. In J. Vitek (editor): ECOOP 2008. Lecture Notes in
Computer Science vol. 5142, pages 285-308, Springer-Verlag 2008.
-
Peter Sestoft: Programming language concepts for software developers.
White paper for SIGPLAN workshop on programming language curriculum,
Harvard University, May 29-30 2008. ACM SIGPLAN Notices vol. 43, 11
(November 2008) pages 119-123. ACM Press 2008.
-
Rasmus Johansen, Peter Sestoft and Stephan Spangenberg: Zero-overhead
composable aspects for .NET. In E. Börger and A. Cisternino
(editors): Advances in Software Engineering. Lecture Notes in
Computer Science vol. 5316, pages 185-215. Springer-Verlag 2008.
PDF from SpringerLink.
-
Peter Sestoft and Sebastien Vaucouleur: Technologies for evolvable
software products. In E. Börger and A. Cisternino
(editors): Advances in Software Engineering. Lecture Notes in
Computer Science vol. 5316, pages 216-253. Springer-Verlag 2008.
PDF from SpringerLink.
2009
- Peter Sestoft: Numeric performance in C, C# and Java. Working
note, 13 February 2009, 14 pages. PDF.
2010
- Jonas Braband Jensen, Lars Birkedal, Peter Sestoft: Modular
Verification of Linked Lists with Views via Separation Logic.
12th Workshop on Formal Techniques for Java-like Programs, June 2010.
- Peter
Sestoft:
Programming Language Concepts for Software Developers, version
0.50. Lecture notes, IT University of Copenhagen, 2010-08-29.
354 pages.
2011
- Jonas Braband Jensen, Lars Birkedal, Peter Sestoft: Modular
Verification of Linked Lists with Views via Separation Logic.
Journal of Object Technology vol. 10 (January 2011) 2:1-20.
PDF
- Peter Sestoft: Organizing research data. Acta Veterinaria
Scandinavica 2011, vol 53 (suppl 1): S2 (20 June 2011).
PDF.
2012
- H. Mehnert, F. Sieczkowski, L. Birkedal, P. Sestoft: Formalized
verification of snapshotable trees: separation and sharing. In
R. Joshi, P. Müller and A. Podelski: VSTTE 2012, LNCS 7152, pages
179-195.
- Peter Sestoft and Henrik
Hansen: C#
Precisely, second edition. The MIT Press 2012, xii + 246 pages.
February 2012. ISBN 978-0-262-51686.
- Peter Sestoft: Spreadsheet technology. Version 0.12 of
2012-01-31.
IT
University Technical Report ITU-TR-2011-142. IT University of
Copenhagen, December 2011, 302 pages.
- Peter
Sestoft: Programming
Language Concepts. Undergraduate Texts in Computer Science.
Springer 2012, xiv + 278 pages. ISBN 978-1-4471-4155-6. July 2012.
2013
- Peter Sestoft and Jens Zeilund Sorensen: Sheet-defined functions:
implementation and initial evaluation. International Symposium on
End-User Development, Copenhagen, Denmark, June 2013. Lecture Notes
in Computer Science 7897 (2013) 88-103.
Draft PDF
- Peter Sestoft: Online partial evaluation of sheet-defined
functions. In Banerjee, Danvy, Doh and Hatcliff (editors):
Semantics, Abstract Interpretation, and Reasoning about Programs:
Essays Dedicated to David A. Schmidt on the Occasion of his Sixtieth
Birthday.
Electronic Proceedings in Theoretical Computer Science, vol. 129,
pages 136-160. September
2013. Full
text.
- Peter Sestoft: Computer arithmetics: integers, binary
floating-point, and decimal
floating-point. Powerpoint
presentation, IT University of Copenhagen, 10 March 2013.
Supporting code examples in Java.
2014
- Peter Sestoft: Spreadsheet Implementation Technology. Basics and
Extensions. ISBN 978-0-262-52664-7, xv+310 pages, MIT Press
2014. The
book's page at MIT Press and
at Amazon.com.
Reviewed in Computing Reviews CR143153 (by G R Guthrie, February 2015) and CR143229
(1506-0453) (by George Hacken, March 2015),
in c't
issue 12 (2015) page 180, in the Journal of Functional
Programming 26, e17, January 2016 (by Simon Thompson), and by
the BCS,
November 2014 (by Mike Rees).
- David R Christiansen, Klaus Grue, Henning Niss, Peter Sestoft,
Kristjan S Sigtryggsson: An Actuarial Programming Language for Life
Insurance and Pensions. International Congress for Actuaries
2014, Washington DC. PDF
- Christian Harrington, Nicolai Dahl, Peter Sestoft, David
Christiansen: High-Performance Reserve Calculations for Insurance
Portfolios. International Congress for Actuaries
2014, Washington
DC. PDF
- Peter Sestoft: A history of compilers. Public lecture, Dansk
Datahistorisk Forening, Copenhagen, 23 January
2014. Slides in
PDF.
- Peter Sestoft, Jonas Druedahl Rask, Simon Eikeland Timmermann:
End-user development via sheet-defined
functions. First workshop on
software engineering methods in spreadsheets (SEMS), Delft, 2 July 2014.
PDF
- Christian Harrington, Nicolai Dahl, Peter Sestoft, David
Christiansen: Pension Reserve Computations on GPUs. Third ACM SIGPLAN
workshop on Functional High-Performance Computing, Gothenburg, Sweden,
September 2014.
- Peter Sestoft: Microbenchmarks in Java and C#. Lecture notes,
version 0.7, August 2014. PDF
- Peter Sestoft: Functional programming 1: Where are we today.
Talk, Engineering Association of Denmark (IDA-IT), September
2014. Slides in PDF.
2015
- Peter Sestoft: Early Nordic compilers and autocodes. In C. Gram,
P. Rasmussen and S. D. Østergaard: History of Nordic Computing.
IFIP AICT 447. Springer 2015, pages 350-366.
Preprint PDF.
2016
- P. Sestoft: Java Precisely. Third
edition. The MIT Press, 2016, xii + 199 pages. ISBN
9780262529075.
- Translation: Corrado Böhm: Digital computers. On encoding
logical-mathematical formulas using the machine itself during
program conception. PDF
and website. Translated 2016 from Corrado
Böhm: Calculatrices digitales. Du déchiffrage de formules
logico-mathématiques par la machine même dans la conception
du programme. PhD dissertation ETH Zürich 1951. French original
published in Bologna 1954.
2017
- P. Sestoft: A multicore
performance mystery solved. Note, IT University of Copenhagen,
19 March 2017, 15 pages.
- P. Sestoft: Autonomous pension funds on the blockchain.
In Beck,
Becker, Lindman, Rossi (editors): Opportunities and Risks of
Blockchain Technologies (Dagstuhl Seminar 17132),
2017. Paper PDF.
- Florian Biermann, Peter Sestoft: Quad Ropes: Immutable,
Declarative Arrays with Parallelizable Operations. ACM SIGPLAN
International Workshop on Libraries, Languages and Compilers for
Array Programming, Barcelona, Spain, June 2017.
- Peter
Sestoft: Programming
Language Concepts. Second edition. With a chapter by Niels
Hallenberg. Undergraduate Texts in Computer Science.
Springer, September 2017. ISBN 978-3-319-60788-7.
- Florian Biermann, Wensheng Dou and Peter Sestoft: Rewriting
High-Level Spreadsheet Structures into Higher-Order Functional
Programs. PADL 2018 (to appear).
2018
- Holger Stadel Borum, Malthe Ettrup Kirkbro, Peter Sestoft:
Spreadsheet Patents. Version 1.0 of
2018-05-04. IT University
Technical Report ITU-TR-2018-200, May 2018.
- Peter Sestoft: Programming language specification and
implementation. ISOLA 2018 track Towards a Unified View of Modeling
and Programming. In Leveraging Applications of Formal Methods,
Verification and Validation. Modeling, LNCS 11244, pages 162-183.
Springer Nature
2018. PDF of final
draft 2018-09-17.
- Alexander Bock, Thomas Bøgholm, Peter Sestoft, Bent
Thomsen, Lone Leth Thomsen: Concrete and Abstract Cost Semantics for
Spreadsheets. IT University
Technical Report ITU-TR-2018-203, 2018.
2020
- Alexander Bock, Thomas Bøgholm, Peter Sestoft, Bent
Thomsen, Lone Leth Thomsen: On the semantics for
spreadsheets with sheet-defined functions. Journal of Computer Languages,
Volume 57, April 2020, 100960.
https://doi.org/10.1016/j.cola.2020.100960
2021
- Holger Stadel Borum, Christoph Seidl, Peter Sestoft: Co-designing DSL quality assurance measures
for and with non-programming experts. DSM 2021: 18th ACM SIGPLAN International Workshop on Domain
Specific Modeling, pages 31-40.
- Holger Stadel Borum, Henning Niss, Peter Sestoft: On designing applied DSLs for non-programming
experts in evolving domains. In 24th International Conference on Model-Driven Engineering,
Languages and Systems, MODELS 2021, pages 227-238.
2022
- Alexander Bock, Thomas Bøgholm, Peter Sestoft, Bent Thomsen, Lone
Leth Thomsen: On the Cost Semantics for Spreadsheets with
Sheet-Defined Functions. Journal of Computer Languages, Volume 69, April 2022, 101103. Open access:
https://doi.org/10.1016/j.cola.2022.101103.
2023
- Sebastian Mateos Nicolajsen, Peter Sestoft: Java Data Storage, version 1.0, 26 Jan 2023, 38 pages.
2024
Peter Sestoft (sestoft@itu.dk) 2024-01-06