The workshop on Type-Driven Development aims to show how static type information may be used effectively in the development of computer programs. Co-located with ICFP, this workshop brings together leading researchers and practitioners who are using or exploring types as a means of program development.
We welcome all contributions, both theoretical and practical, on a range of topics including:
Facebook’s main website, ads platform, and much of its internal tooling is implemented in PHP, a language not known for elegance or best practice in programming language design. Five years ago Facebook embarked on an ambitious project to migrate its code base to Hack, which takes the syntax of PHP, removes the worst features, and adds static typing and modern constructs for asynchronous programming. Its type system is an interesting mixture of ideas from Java, C#, Scala, and Caml, with flow-sensitive typing thrown in to capture typical PHP idioms. Type-driven development is now more than accepted: developers demand ever richer types, and evolution of the codebase goes hand-in-hand with evolution of the type system and programming language. Development-driven typing, anyone?
Victor Cacciari Miraldo, Pierre-Evariste Dagand, and Wouter Swierstra
Type-directed diffing of structured data
Daan Leijen
Structured asynchrony with algebraic effects
Marcell van Geest and Wouter Swierstra
Generic packet descriptions: verified parsing and pretty printing of low-level data
Edwin Brady, Kevin Hammond, and Christopher Schwaab
Type-directed reasoning for probabilistic, non-compositional resources
Nick Brown, Ludovic Capelli, and James Mark Bull
Type oriented programming for task based parallelism
Zilin Chen
Cogent⇑: giving systems engineers a stepping stone
Kiko Fernandez-Reyes and Dave Clarke
Affine killing
Ting-Yan Lai, Tyng-Ruey Chuang, and Shin-Cheng Mu
Type safe Redis queries – a case study of type-level programming in Haskell
James McKinna
On ringads and foldables
09.00 | Welcome |
09.05 | Andrew Kennedy Invited talk: Driving types into PHP |
10.00 | Coffee break |
10.30 | Generic packet descriptions: verified parsing and pretty printing of low-level data (discussant: James Chapman) |
11.00 | Structured asynchrony with algebraic effects (discussant: Daniel Hillerström) |
11.30 | Coffee break |
12.00 | Cogent⇑: giving systems engineers a stepping stone |
12.25 | Lunch break |
14.00 | Type safe Redis queries – a case study of type-level programming in Haskell (discussant: Garrett Morris) |
14.30 | Type-directed diffing of structured data (discussant: Jennifer Paykin) |
15.00 | Coffee break |
15.30 | Affine killing |
15.55 | On ringads and foldables |
16.20 | Coffee break |
16.50 | Type oriented programming for task based parallelism |
17.15 | Type-directed reasoning for probabilistic, non-compositional resources |
We plan to have formal proceedings, published by the ACM. Accepted papers will be included in the ACM Digital Library. Authors must grant ACM publication rights upon acceptance, but may retain copyright if they wish. Authors are encouraged to publish auxiliary material with their paper (source code, test data, and so forth). The proceedings will be freely available for download from the ACM Digital Library from one week before the start of the conference until two weeks after the conference.
Submissions should fall into one of two categories:
The bibliography will not be counted against the page limits for either category.
Regular research papers are expected to present novel and interesting research results, and will be included in the formal proceedings. Extended abstracts should report work in progress that the authors would like to present at the workshop. Extended abstracts will be distributed to workshop attendees but will not be published in the formal proceedings.
We welcome submissions from PC members (with the exception of the two co-chairs), but these submissions will be held to a higher standard.
Submission is handled through HotCRP.
All submissions should be in portable document format (PDF) and formatted using the ACM SIGPLAN style guidelines.
Note that the ACM SIGPLAN style guidelines have changed from previous years! In particular, submissions should use the new ‘acmart’ format and the two-column ‘sigplan’ subformat (not to be confused with the one-column ‘acmlarge’ subformat!).
Extended abstracts must be submitted with the label ‘Extended abstract’ clearly in the title.
Student attendees with accepted papers can apply for a SIGPLAN PAC grant to help cover travel expenses. PAC also offers other support, such as for child-care expenses during the meeting or for travel costs for companions of SIGPLAN members with physical disabilities, as well as for travel from locations outside of North America and Europe. For details on the PAC program, see its web page.