Tomas Petricek — List of Publications
Personal Statement
I'm the author of 17 papers in highly selective conferences and journals, 5 of which received a best paper award, academic monograph that will be published by Cambridge University Press, as well as 24 other publications in conference and workshop proceedings, some of which are highly cited. I wrote a book for professional software developers, edited conference proceedings and special journal issue and also develop open-source software.
For historical reasons, the primary publication venues for computer science research are conference proceedings. Papers in highly-selective conferences have a standing equivalent to (or higher than) journal publications. For this reason, papers in conferences such as PLDI (A*), POPL (A*), ICFP (A), ECOOP (A) and ICALP (A) are listed in C1.
A. Scientific Monographs
-
Tomas Petricek. Cultures of Programming: The Development of Programming Concepts and Methodologies. 351 pages, Cambridge Unviersity Press (in press), 2025
The book documents important episodes from the history of programming, interprets them using a novel conceptual framework and provides programmers, computer scientists and historians of computing with a comprehensive account of the history of programming.
C. Original Scientific Works
C1. International Professional Journals
-
Peter Taylor-Gooby, Tomas Petricek, Jack Cunliffe. Covid-19, Charitable Giving and Collectivism: A Data-Harvesting Approach. Journal of Social Policy, vol. 52, issue 3, pp. 473-494, Cambridge University Press (IF: 1.9), 10.1017/S0047279421000714, 2023
-
Joel Jakubovic, Jonathan Edwards and Tomas Petricek. Technical Dimensions of Programming Systems. The Art, Science, and Engineering of Programming, vol. 7, issue 3, no. 13, 10.22152/programming-journal.org/2023/7/13, 2023
-
Tomas Petricek, Gerrit J. J. van Den Burg, Alfredo Nazábal, Taha Ceritli, Ernesto Jiménez-Ruiz and Christopher K. I. Williams. AI Assistants: A Framework for Semi-Automated Data Wrangling. IEEE Transactions on Knowledge and Data Engineering, vol. 35, issue 9, pp. 9295-9306 (IF: 8.9), 10.1109/TKDE.2022.3222538, 2023
-
Tomas Petricek. The Gamma: Programmatic Data Exploration for Non-programmers. VL/HCC '22: Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing, 10.1109/VL/HCC53370.2022.9833134, 2022
-
Roly Perera, Minh Nguyen, Tomas Petricek and Meng Wang. Linked Visualisations via Galois Dependencies. Proceedings of the ACM on Programming Languages, vol. 6 (POPL), pp. 1-29 (IF: 1.8), 10.1145/3498668, 2022
-
Joel Jakubovic and Tomas Petricek. Ascending the Ladder to Self-Sustainability: Achieving Open Evolution in an Interactive Graphical System. Onward! '22: Proceedings of the 2022 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, pp 240-258, 10.1145/3563835.3568736, 2022
-
Tomas Petricek. Composable Data Visualizations. Journal of Functional Programming, vol. 31, e. 13, Cambridge University Press (IF: 1.1), 10.1017/S0956796821000046, 2021
-
Tomas Petricek. Programming as Architecture, Design, and Urban Planning. Onward! '21: Proceedings of the 2021 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, pp 114-124, 10.1145/3486607.3486770, 2021
-
Tomas Petricek. Foundations of a live data exploration environment. The Art, Science and Engineering of Programming, vol. 4, issue 3, no. 8, 10.22152/programming-journal.org/2020/4/8, 2020
-
Tomas Petricek. What we talk about when we talk about monads. The Art, Science and Engineering of Programming, vol. 2, issue 3, no. 12, 10.22152/programming-journal.org/2018/2/12, 2018
-
Tomas Petricek. Data Exploration Through Dot-Driven Development. ECOOP '17: European Conference on Object-Oriented Programming. Associated software artifact has been evaluated and archived in DARTS, vol. 3, no. 2, pp. 12:1–12:2, 2017, 10.4230/LIPIcs.ECOOP.2017.21, 2017
-
Tomas Petricek. Miscomputation in software development: Learning to live with errors. The Art, Science and Engineering of Programming, vol. 1, issue 2, no. 14, 10.22152/programming-journal.org/2017/1/14, 2017
-
Tomas Petricek, Don Syme and Gustavo Guerra. Types from Data: Making Structured Data First-class Citizens in F#. PLDI '16: Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 477-490, 10.1145/2908080.2908115, 2016
-
Alan Mycroft, Dominic Orchard and Tomas Petricek. Effect Systems Revisited – Control-Flow Algebra and Semantics. Essays Dedicated to Hanne Riis Nielson and Flemming Nielson on the Occasion of Their 60th Birthdays on Semantics, Logics, and Calculi, vol. 9560, pp. 1-32, 10.1007/978-3-319-27810-0_1, 2015
-
Tomas Petricek. Against a Universal Definition of 'Type'. Onward! '15: Proceedings of the 2015 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, pp. 254-266, 10.1145/2814228.2814249, 2015
-
Tomas Petricek, Dominic Orchard and Alan Mycroft. Coeffects: A Calculus of Context Dependent Computation. ICFP '14: Proceedings of the 19th ACM SIGPLAN International Conference on Functional Programming, pp. 123-135, 10.1145/2628136.2628160, 2014
-
Tomas Petricek, Dominic Orchard and Alan Mycroft. Coeffects: Unified Static Analysis of Context-Dependence. ICALP'13: Proceedings of the 40th International Conference on Automata, Languages, and Programming, Part II, pp. 385-397, 10.1007/978-3-642-39212-2_35, 2013
C3. International Peer-Reviewed Proceedings
-
Jonathan Edwards and Tomas Petricek. Interaction vs. Abstraction: Managed Copy and Paste. PAINT '22: Proceedings of the 1st ACM SIGPLAN International Workshop on Programming Abstractions and Interactive Notations, Tools, and Environments, pp 11-19, 10.1145/3563836.3568723, 2022
-
Joel Jakubovic, Jonathan Edwards, Tomas Petricek. Technical Dimensions of Programming Systems. PLoP '21: Presented at 28th Conference on Pattern Languages of Programs, Fall, 2021
-
Jonathan Edwards, Stephen Kell, Tomas Petricek, Luke Church. Evaluating Programming Systems Design. PPIG '19: Proceedings of the 30th Annual Workshop of the Psychology of Programming Interest Group, https://ppig.org/papers/2019-ppig-30th-edwards, 2019
-
Tomas Petricek.. Histogram: You Have to Know the Past to Understand the Present. LIVE '19: Presented at International Workshop on Live Programming, http://tomasp.net/histogram, 2019
-
Mariana Marasoiu, Sarwar Islam, Luke Church, Megan Lucero, Brooks Paige, Tomas Petricek. Stories of storytelling about UK’s EU funding. EDCJC '18: Proceedings of the 2nd European Data and Computational Journalism Conference, hdl:10197/9416, 2018
-
Pablo León-Villagrá, Sarwar Islam, Megan Lucero, Brooks Paige, Tomas Petricek. You guessed it! Reflecting on preconceptions and exploring data without statistics. EDCJC '18: Proceedings of the 2nd European Data and Computational Journalism Conference, hdl:10197/9416, 2018
-
Tomas Petricek, James Geddes and Charles Sutton. Wrattler: Reproducible, Live and Polyglot Notebooks. TaPP '18: Proceedings of the 10th USENIX Conference on Theory and Practice of Provenance, pp. 1-6, 2018
-
Tomas Petricek. Tools for Open, Transparent and Engaging Storytelling. Programming '17: Companion Proceedings of the 1st International Conference on the Art, Science, and Engineering of Programming, no. 5, pp. 1–2, 10.1145/3079368.3079382, 2017
-
Tomas Petricek. The Gamma: Programming tools for open data-driven storytelling. EDCJC '17: Proceedings of European Data and Computational Journalism Conference, hdl:10197/8634, 2017
-
Tomas Petricek. Programming Language Theory: Thinking the Unthinkable. PPIG '16: Proceedings of the 27th Annual Workshop of the Psychology of Programming Interest Group, https://ppig.org/papers/2016-ppig-27th-petricek/, 2016
-
Tomas Petricek, Don Syme, Zachary Bray. In the Age of Web: Typed Functional-First Programming Revisited. ML/OCaml '14: Proceedings ML Family/OCaml Users and Developers Workshops, EPTCS 198, 10.4204/EPTCS.198.3, 2015
-
Tomas Petricek. The Gamma: Programming Tools for Data Journalism (Short Paper). FPW '15: Presented at the Future Programming Workshop, 2015
-
Tomas Petricek. What Can Programming Language Research Learn from the Philosophy of Science?. AISB '14: Proceedings of the 40th Annual Convention of the Society for the Study of Artificial Intelligence and the Simulation of Behaviour, https://tomasp.net/academic/papers/philosophy-pl/, 2014
-
Tomas Petricek and Don Syme. The F# Computation Expression Zoo. PADL 2014: Proceedings of the 16th International Symposium on Practical Aspects of Declarative Languages, vol. 8324, pp. 33-48, 10.1007/978-3-319-04132-2_3, 2014
-
Dominic Orchard and Tomas Petricek. Embedding Effect Systems in Haskell. Haskell '14: Proceedings of the 2014 ACM SIGPLAN Symposium on Haskell, pp. 13-24, doi.org/10.1145/2633357.2633368, 2014
-
Don Syme, Keith Battocchi, Kenji Takeda, Dona Malayeri and Tomas Petricek. Themes in Information-Rich Functional Programming for Internet-Scale Data Sources. DDFP '13: Proceedings of the 2013 Workshop on Data Driven Functional Programming, pp. 1-4, 10.1145/2429376.2429378, 2013
-
Tomas Petricek. Evaluation Strategies for Monadic Computations. MSFP '12: Proceedings of International Workshop on Mathematically Structured Functional Programming, arXiv:1202.2921, 2012
-
Jonathan Edwards, Tomas Petricek. Typed Image-Based Programming with Structure Editing. HATRA '21: Presented at 2nd Workshop on Human Aspects of Types and Reasoning Assistants, arXiv:2110.08993, 2012
-
Tomas Petricek, Joel Jakubovic. Complementary Science of Interactive Programming Systems (Extended Abstract). HaPoC '21: 6th International Conference on the History and Philosophy of Computing, https://tomasp.net/academic/drafts/complementary, 2012
-
Don Syme, Tomas Petricek and Dmitry Lomov. The F# Asynchronous Programming Model. PADL'11: Proceedings of the 13th international conference on Practical aspects of declarative languages, pp. 175-189, 10.1007/978-3-642-18378-2_15, 2011
-
Tomas Petricek and Don Syme. Joinads: A Retargetable Control-Flow Construct for Reactive, Parallel and Concurrent Programming. PADL'11: Proceedings of the 13th International Conference on Practical Aspects of Declarative Languages, pp. 205-219, 10.1007/978-3-642-18378-2_17, 2011
-
Tomas Petricek, Alan Mycroft and Don Syme. Extending Monads with Pattern Matching. Haskell '11: Proceedings of the 4th ACM symposium on Haskell, pp. 1-12, 10.1145/2034675.2034677, 2011
-
Tomas Petricek and Don Syme. Collecting Hollywood's Garbage: Avoiding Space-Leaks in Composite Events. ISMM '10: Proceedings of the 2010 International Symposium on Memory Management, pp. 53-62, 10.1145/1806651.1806662, 2010
-
Tomas Petricek. Encoding Monadic Computations in C# using Iterators. ITAT '09: Proceedings of the Conference on Theory and Practice on Information Technologies, pp. 61–69, 2009
E. Other Professional Work
Books and Tutorial Publications
-
Tomas Petricek. Accessing Data with F# Type Providers. Pluralsight, https://www.pluralsight.com/courses/accessing-data-fsharp-type-providers, 2016
A highly rated (5 out of 5 stars) two-hour video course that introduces F#, type providers and the F# Data library that I developed as a post-doctoral researcher at Microsoft Research.
-
Tomas Petricek. Analysing and Visualizing Data with F#. 56 pages, O'Reilly Media, ISBN 9781491939529, 2015
An introduction to data science, using the F# language and the FsLab package that I developed as post-doctoral researcher at Microsoft Research.
-
Tomas Petricek, Phil Trelford (eds.). F# Deep Dives. Manning, ISBN 9781617291326, 2014
A collection of case studies of functional programming in industry. I edited the book and contributed 3 chapters. Rated 4.3 out of 5 stars on Amazon.
-
Tomas Petricek with Jon Skeet. Real-World Functional Programming. Manning, ISBN 9781933988924, 2009
Highly-acclaimed (4.5 out of 5 stars on Amazon), best-selling (10,000 copies sold) introduction to functional programming using F# and C#.
Editorial Work and Reviews
-
Tomas Petricek. Language and the Rise of the Algorithm by Jeffrey M. Binder (review). Technology and Culture, Johns Hopkins University Press, vol. 65, no. 1, pp. 427-429 (IF: 0.8), 10.1353/tech.2024.a920566, 2024
-
Mark Priestley, Tomas Petricek and David Hemmendinger. Report on HOPL IV - ACM SIGPLAN History of Programming Languages Conference. IEEE Annals of the History of Computing, vol. 43, issue: 3, pp. 83-85, 10.1109/MAHC.2021.3098957, 2021
-
Tomas Petricek, Helena Durnova and Mark Priestley (eds.). Special Issue on Computing and Programming in Context. Philosophy & Technology, vol. 34, issue 1, 219 pages. SI published 7 out of 12 submitted papers, 10.1007/s13347-020-00411-w, 2020
-
Hidehiko Masuhara and Tomas Petricek (eds.). Onward! 2019: Proceedings of the 2019 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software. ACM, New York, United States, ISBN 978-1-4503-6995-4, 2019
-
Tomas Petricek. Critique of ‘An anatomy of interaction: co-occurrences and entanglements’. Programming '18: Companion Proceedings of the 2nd International Conference on the Art, Science, and Engineering of Programming, pp 197-201, 10.1145/3191697.3214329, 2018
Open-Source Software
-
Compost.js: Composable Data Visualization Library. https://compostjs.github.io, 2020
JavaScript library for creating data visualization described in Journal of Functional Programming paper (JFP 2021). The system inspired work at Institute of Computing for Climate Science, University of Cambridge.
-
Coeffects: Context-Aware Programming Languages. http://tomasp.net/coeffects, 2016
Interactive web-based essay that demonstrates the theory developed in my PhD thesis. The essay has been recognised as an influential example of explorable visualization and has over 35,000 views.
-
The Gamma: Tools for Data Journalism. http://thegamma.net, 2015
Allows journalists to create open data-driven articles and was presented at European Conference on Computational and Data Journalism, 2016 and Computation+Journalism 2015, NYC.
-
Deedle: Exploratory Data Library for .NET. https://fslab.org/Deedle, 2013
Data and time-series analysis library developed at BlueMountain Capital. The library has over 30 contributors, has been used for bioinformatics research and has a new industry maintainer. It was presented at CUFP 2014.
-
F# Data: Library for Data Access. https://fsprojects.github.io/FSharp.Data, 2012
Library for accessing structured data using F# type providers. I created the first version, coordinated the development and successfully transferred the library to a new industry maintainer. The library is the most downloaded library for F# and has over 100 contributors.
H. Dissertation Thesis
-
Tomas Petricek. Context-Aware Programming Languages. PhD Thesis, University of Cambridge, Available as UCAM-CL-TR-906, 10.48456/tr-906, 2017
Introduces a notion of coeffects, which has been presented in two highly-cited academic papers (ICALP '13, ICFP '14) and has been subject of multiple grants in the UK, France, USA and Iceland. A novel interactive web-based presentation of the work, published at https://tomasp.net/coeffects, has attracted over 35,000 visitors.