Tomas Petricek — Publications
Publications
Papers in Highly Selective Conferences and Journals
-
Jonathan Edwards, Tomas Petricek, Tijs van der Storm and Geoffrey Litt. Schema Evolution in Interactive Programming Systems. The Art, Science, and Engineering of Programming, vol. 9, issue 1, no. 2, 10.22152/programming-journal.org/2025/9/2, 2025
-
Tomas Petricek, Jonathan Edwards. Denicek: Computational Substrate for Document-Oriented End-User Programming. Proceedings of the 38th Annual ACM Symposium on User Interface Software and Technology (UIST '25), no. 32, pp. 1-19, {10.1145/3746059.3747646}, 2025
-
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
Academic Monographs
-
Tomas Petricek. Cultures of Programming: The Development of Programming Concepts and Methodologies. 420 pages, Cambridge Unviersity Press, ISBN 9781009492379, 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.
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#.
Further Conferences and Workshop Proceedings
-
Jan Liam Verter, Tomas Petricek. Don't Call Us, We'll Call You: Towards Mixed-Initiative Interactive Proof Assistants for Programming Language Theory. HATRA '24: Presented at 5th Workshop on Human Aspects of Types and Reasoning Assistants, arXiv:2409.13872, 2024
-
Jonathan Edwards, Tomas Petricek, Tijs van der Storm. Live & Local Schema Change: Challenge Problems. LIVE '23: Presented at International Workshop on Live Programming, arXiv:2309.11406, 2023
-
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
-
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, 2021
-
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
-
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
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