Programming languages and systems
Tomas Petricek, University of Kent
http://tomasp.net |
tomas@tomasp.net |
@tomaspetricek
1. About me
2. Past research
3. Research vision
Context-aware programming and F# contributions
Faculty of Mathematics and Physics, 2004-2010
Microsoft Research, 2007, 2008-2009
University of Cambridge, 2011-2016
Independent theoretical research project
Functional programming book and trainings
Teach topics I would myself find useful!
Creating tools for data exploration
Microsoft Research, 2014-2016
The Alan Turing Institute, 2016-2018
Funding from Google Digital News Initiative
Open-source and technology transfer
Collaborating with AI researchers & journalists
Leading data science tooling research
University of Kent, 2018-now
The Alan Turing Institute, 2018-2020
Obtained funding from GCHQ & Dstl
Research supervision & collaboration
Teaching undergraduate & graduate students
1. About me
2. Past research
3. Research vision
How to track context requirements in programs?
Provenance, liveness, resource usage, linear types
Context in distributed, adaptive & component systems
80 citations & interactive essay with 30k+ views
Inspired grants in USA, UK, France & Iceland
Adopted by Facebook Hack and inspired Scala
Type providers for structured and unstructured data
Encoding asynchronous and concurrent computations
Programming abstractions for cloud computing?
100+/30+ citations, ACM SIGPLAN Research Highlight
Close links with large industry user-base
Async/await primitives in C#, JavaScript, Python
Tools for simple data-driven storytelling
Composable & explainable data visualization
Performance awareness in data processing?
Reshaping flagship AI for Data Analytics project
Led work by post-doc, two RSEs and four interns
Interest from BBC, UK public service, The Guardian
1. About me
2. Past research
3. Research vision
Programming languagesEstablished theory Program is expression Plethora of tools Ignores interaction |
Programming systemsDisconnected field Stateful environment Old & new methods Data, low-code, etc. |
How to capture for actual data wrangling?
Script as a sequence of interactions!
Leverage systems verification & performance?
Check correctness of exploration scripts
Provenance tracking for accountability ICFP 2014
CUNI PRIMUS (Round 7) and follow-up ERC
How to make software open and customizable?
Interacting rather than coding vs. using!
Learn from adaptive architectures & tracing?
Reifying and exposing evaluation traces POPL 2022
Interdisciplinary research on black-boxing
GAČR JUNIOR STAR, ERC Synergy Grant
Working Group on Language Design (IFIP 2.16)
Victoria (NZ), CWI (NL), INRIA (FR), Industry (USA)
Microsoft Research & The Alan Turing Institute
Cambridge (UK), Research Software Engineering (UK)
F# and functional programming communities
Erlang Solutions (UK), NDC (NO), Industry (UK, USA)
Interdisciplinary ANR PROGRAMme project
CNRS (FR), Bologna (IT), Milan (IT), RPI (US)
D3S has a great reputation and students!
New direction that fits well with D3S
International research & teaching track-record
Research vision with two grants in the works