The workshop on Type-Driven Development aims to show how static type information may be used effectively in the development of computer programs. The 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:
- dependently typed programming;
- generic programming;
- design and implementation of programming languages, exploiting types in novel ways;
- exploiting typed data, data dependent data, or type providers;
- static and dynamic analyses of typed programs;
- tools, IDEs, or testing tools exploiting type information;
- pearls, being elegant, instructive examples of types used in the derivation, calculation, or construction of programs.
The official TyDe workshop 2017 home page is here.
Andrew Kennedy (Facebook, UK)
Driving types into PHP
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?
Call for Papers
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:
- Regular research papers (12 pages)
- Extended abstracts (2 pages)
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:
Sun 3 SepDisplayed time zone: Belfast change
09:00 - 09:05
09:05 - 10:00
|Driving types into PHP|
Andrew Kennedy Facebook London
10:30 - 11:30
|Generic packet descriptions: verified parsing and pretty printing of low-level data|
|Structured asynchrony with algebraic effects|
Daan Leijen Microsoft Research
12:00 - 12:25
|Cogent⇑: giving systems engineers a stepping stone|
Zilin Chen UNSW, Australia
14:00 - 15:00
|Type safe Redis queries -- a case study of type-level programming in Haskell|
|Type-directed diffing of structured data|
15:30 - 16:20
|On ringads and foldables|
James McKinna University of Edinburgh
16:50 - 17:40
|Type oriented programming for task based parallelism|
|Type-directed reasoning for probabilistic, non-compositional resources|