Tomas Petricek
Professional Highlights
- International Experience. I obtained PhD from University of Cambridge, worked as post-doctoral researcher at Microsoft Research and in The Alan Turing Institute in London. I then spent 4 years as a lecturer (permanent academic position) at University of Kent. I collaborate with multiple research groups and my recent co-authors and research collaborators are based in the UK, USA, Netherlands, Denmark, Germany and France.
- Academic Publications. I am the author of 17 papers in top-tier venues (including PLDI, POPL, ECOOP, ICFP and ICALP), five of which received a best paper award and 24 other papers. I wrote a monograph on history of programming (to be published by Cambridge University Press) and a tutorial book for professional developers (selling over 10,000 copies). I have an h-index of 14 (6 in WoS) and my work has 880+ citations (160 in WoS).
- Research Impact. My PhD research, presented in a paper with 130+ citations (35 in WoS), introduced the notion of coeffects which has since been subject of several grants in the UK, France, USA and Iceland. It influenced the design of Scala and has been adopted by Meta in the Hack language. My research on functional programming also directly contributed to the design of the F# language.
- Peer Recognition. My paper on integration of external semi-structured data into a static type system, was awarded Distinguished Paper Award at PLDI and selected as ACM SIGPLAN Research Highlight, recognizing it as one of three best programming language papers of the year. I have been an invited keynote speaker at 5 academic and industry conferences and joined the invitation-based IFIP WG 2.16 Language Design group.
- Technology Transfer. My work is not limited to papers. The open-source F# Data package I created is the most downloaded F# library and has over 110 industry contributors. My work on asynchronous programming has become a core component of the infrastructure at Jet.com, a start-up acquired by Walmart for $3bn. The interactive web-based essays presenting my work, published at tomasp.net, have attracted over 50,000 visitors.
- Research Funding. I was awarded the 4-year PRIMUS grant at Charles University (worth €610,000) to establish a resarch group focused on Types for data-centric programming. Previously, I secured research funding (worth £420,000) from the UK Ministry of Defence (Dstl) and GCHQ for applied research on trustworthy and accessible tooling for data science and €50,000 from Google Digital News Initiative.
- Teaching Experience. I developed 2 new courses on Programming Language Design and Implementation at Charles University, redesigned the Software Engineering module at University of Kent and taught it to 40+ MSc and 200+ undergraduate students. I taught or supervised labs for 9 other courses ranging from algorithms and formal semantics to human-computer interaction at Charles University, Kent and University of Cambridge.
- Student and Research Supervision. I supervise 1 PhD student and 2 post-docs at Charles University. Previously, I supervised 1 PhD student at Unviersity of Kent (graduated in 2023), 1 post-doc (now at University of Cambridge) and 4 graduate and undergraduate internships. At Charles University, I supervised 10 Bachelor's theses (7 defended, 3 ongoing) and 2 Master's theses (2 defended). At University of Kent, I supervised 40+ students for their final-year BSc and MSc projects and I supervised 3 final Part II projects at Cambridge.
- Academic Service. I serve as the General Chair of the International Conference on the Art, Science, and Engineering of Programming 2025 in Prague and have served as an organizer or co-chair of 5 other workshops and conference tracks. I have served as a Program Committee member of 42 conferences and workshops including OOPSLA, ECOOP, HOPL, Programming and Onward! I reviewed papers for 21 other journals and conferences, served as the examiner of 4 PhD theses and reviewed 5 international grant applications.
Research Projects
Project Funding
-
PRIMUS Research Programme, Charles University (Principal Investigator), 2024 – 2028
Awarded €610,000 for research on Types for data-centric programming to cover 60% FTE of my time, two post-docs for 24 months each and 2 PhD students for the duration of the project.
Project Outputs
- 1 PhD student and 1 post-doc joined the research group in April 2024 and May 2024.
- Workshop paper submitted to HATRA '24 workshop at the SPLASH 2024 conference
-
Fellowship, ACM History Committee, 2018
Awarded $4000 to study the history of programming errors, looking at technical, formal and social means for mitigating them, resulting in a work-in-progress book Cultures of Programming.
Project Outputs
- Draft paper, serving as the basis for Cambridge University Press monograph Cultures of Programming
-
Dstl & GCHQ grants, The Alan Turing Institute (Principal Investigator), 2017 – 2020
Awarded £420,000 for research on tooling for data science to cover a post-doc for 6 months, Research Software Engineer for 3 years, 3 summer interns, my salary/buyout for 1 day/week.
Project Outputs
- 3 top-tier papers in POPL, JFP, VL/HCC and workshop papers in TaPP
- Three open-source software packages (wrattler.org, compostjs.github.io and turing.thegamma.net)
-
Innovation Fund, Google Digital News Initiative (Principal Investigator), 2016
Awarded €50,000 for research on Programming tools for data journalism. My proposal was selected as one of 128 out of 1,200 and allowed me to develop an independent research project at The Alan Turing Institute.
Project Outputs
- Paper in ECOOP, extended abstracts in digital journalism venues, openn-source software (thegamma.net)
- Workshop hosted at The Alan Turing Institute bringing together journalists, academics and policy makers
Project Participation
-
Language, Picture, Gesture: Forms of Discursivity (Junior Researcher), UNCE, MFF UK (2024 – present)
Studying programming and interactive systems from a broader inter-disciplinary perspective.
Project Outputs
- Talk Interactive Programming as a Shift from Language to Gesture at a project conference in autumn 2024.
-
ExtremeXP (Member), Horizon Europe, MFF UK (2023 – present)
Contributing to the design of novel data visualization tools and gamification systems.
Project Outputs
- Novel visualization design, presented at an internal project meeting.
-
PROGRAMme: What is a computer program? (Member), ANR France (2017 – present)
Interdisciplinary collaborative project, serving as co-editor for the resulting work-in-progress book.
Project Outputs
- Collaborative manuscript What is a computer program? submitted to a potential publisher.
- Participation in the project inspired invited talk at ASL/APA Meeting in San Francisco.
-
AIDA: AI in Data Science (Co-Investigator), The Alan Turing Institute (2016 – 2018)
Joined and reshaped the project to allow integration of work by 3 post-docs and 1 PhD student.
Project Outputs
- Collaboration resulted in a joint paper in IEEE Transactions on Knowledge and Data Engineering.
International Experience
-
Lecturer, University of Kent, 2018 – 2022
As a member of the Programming Languages and Systems group, I worked on making programming with data easy, trustworthy and accessible. I applied for grants from EPSRC (UK) and ERC (EU), Dstl & GCHQ (UK), taught graduate and undergraduate modules, supervised a PhD student and initiated interdisciplinary collaboration with a colleagues from Department of Philosophy.
-
Collaborating Fellow and Visiting Researcher, The Alan Turing Institute, 2016 – 2020
I led a project Programming Tools for Open Data Journalism funded through Google Digital News Initiative, joined the flagship ATI project Artificial Intelligence for Data Analytics as a co-investigator and obtained funding from Dstl and GCHQ for a follow-up project on semi-automated data wrangling.
-
Post-doctoral Researcher and Contractor, Microsoft Research Cambridge, 2014 – 2016
I led the development of an open-source projects focused on doing data science with F#. Resulting research was awarded a Distinguished Paper award and selected as an SIGPLAN Research Highlight.
-
Intern, BlueMountain Capital Management, New York, August 2013 – November 2013
Developed Deedle, an open-source data and time-series analytics library for .NET and integrated it into existing codebase, replacing earlier technologies; the library has been adopted at BlueMountain and externally.
-
PhD, Computer Laboratory, University of Cambridge, 2011 – 2016
Thesis Context-aware Programming Languages develops coeffects, a theory for tracking information about environment in which programs are executed. I also devised a novel way of presenting the results in the form of widely read interactive essay (tomasp.net/coeffects). Supervised by Prof. Alan Mycroft.
-
Research Intern, Microsoft Research, Cambridge, April 2007 – July 2007 and October 2008 – April 2009
Contributed to the development of F# tooling for Visual Studio, designed an F# language extension for parallel, asynchronous and concurrent programming and prototyped novel approach to multi-tier web development.
Scientific Supervision
-
Jan Liam Verter (PhD Student), Charles University, 2024 – present
Research topic Semantics Engineering with Concrete Syntax and Theorem Proving.
-
Aleks Boruch-Gruszecki (Post-doctoral Researcher), Charles University, 2024 – present
Co-supervised with Prof Jan Vitek.
-
Joel Jakubovic (Post-doctoral Researcher), Charles University, 2024 – present
Research topic Graphical Constraint Programming for Notational Freedom.
-
Joel Jakubovic (PhD Student), University of Kent, 2019 – 2023
Thesis Achieving Self-Sustainability in Interactive Graphical Programming Systems. Graduated in 2023.
-
Roly Perera (Post-doctoral Researcher), The Alan Turing Institute, 2019
Program change tracking with applications in AI research. Now at University of Cambridge.