In recent years there has been increased interest in scripting languages, the migration from scripts to large programs, and the interplay between typed and untyped code. New languages such as TypeScript, Hack, Dart, Typed Racket, and GradualTalk, to name a few, have begun to explore the integration of dynamic and static typing within the same language. |
Scripting languages are lightweight, dynamic programming languages designed to maximize productivity by offering high-level abstractions and reducing the syntactic overhead found in most system’s languages. The rising popularity of scripting languages has many underlying causes: they allow partial execution of programs, permitting easy unit testing, interactive experimentation, and even demoing of software at all times; their support for powerful and flexible high-level datatypes and dynamic typing admits quick interim solutions that can later be revised; etc. In short, scripting languages optimize developement time rather than machine time, a good approach early in the software development life cycle.
However, once the understanding of the system has reached a critical point and requirements have stabilized, scripting languages become less appealing. The compromises made to optimize development time make it harder to reason about program correctness, harder to do semantic-preserving refactorings, and harder to optimize execution speed. The lack of type information makes the code harder to navigate.
The concept of gradual typing has been proposed, in which the programmer controls which portions of the program are dynamically typed and which portions are statically typed. Over the last decade there has been significant progress on the theory and practice of gradual typing, but there are still many open questions and unexplored points in the design space.
Discussion: Types for an Untyped World
Matthias Felleisen and Gilad Bracha will face each other in a discussion moderated by Jan Vitek. They will start by explaining their views of the origins and respective inspiration for gradual and optional types, after the that they will look at the state of gradual typing and related approaches in the software industry today, and the prospects for the technology in the long run.
A video of the talk is here.
Invited Talks
This year, STOP will feature four invited talks.
- Experiments with Strengthening JavaScript by Andreas Rossberg (Google)
- Flow: a static type checker for JavaScript by Avik Chaudhuri (Facebook)
- MyPy, an Optionally-Typed Python by Jukka Lehtosalo (Dropbox)
- JavaScript in the Small by Satish Chandra (Samsung)
These talks will be open to the public.
Mon 6 JulDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
10:05 - 10:50 | |||
10:05 45mTalk | MyPy, an Optionally-Typed Python STOP Jukka Lehtosalo Dropbox |
10:50 - 11:35 | |||
10:50 45mTalk | Experiments with Strengthening JavaScript STOP Andreas Rossberg Google |
11:35 - 12:20 | |||
11:35 45mTalk | Flow: a static type checker for JavaScript STOP Link to publication |
13:50 - 14:35 | |||
13:50 45mTalk | JavaScript in the Small STOP |
14:40 - 15:40 | |||
14:40 20mTalk | A Light-Weight Effect System for JavaScript STOP File Attached | ||
15:00 20mTalk | Adding Practical Dependent Types to Typed Racket STOP File Attached | ||
15:20 20mTalk | Contracts for Async Patterns in JavaScript STOP File Attached |
16:10 - 17:10 | |||
16:10 20mTalk | Position Paper: Performance Evaluation for Gradual Typing STOP A: Asumu Takikawa Northeastern University, A: Daniel Feltey Northeastern University, A: Ben Greenman Northeastern University, A: Max S. New , A: Jan Vitek Northeastern University, A: Matthias Felleisen Northeastern University Media Attached | ||
16:30 20mTalk | Towards Absolutely Efficient Gradually Typed Languages STOP A: Andre Kuhlenschmidt Indiana University, A: Deyaaeldeen Almahallawi Indiana University, A: Jeremy G. Siek Indiana University File Attached | ||
16:50 20mTalk | Towards a Static Type Checker for Python STOP A: Francisco Ortin University of Oviedo, A: Baltasar García Perez-Schofield , A: José Manuel Redondo López University of Oviedo File Attached |
17:10 - 19:00 | |||
17:10 1h50mTalk | Types for an Untyped World STOP S: Matthias Felleisen Northeastern University, S: Gilad Bracha Google, M: Jan Vitek Northeastern University |
Talks
Call For Papers
Scope
The STOP workshop is interested in the evolution of scripts, in the sense of untyped pieces of code, into safer programs, with more rigid structure and constrained behavior through the use of gradual typing, contract checking, extensible languages, refactoring tools, and the like. The goal is to further the understanding of such systems in practice, and connect practice and theory. This workshop aims to bring researchers together from academia and industry for passionate discussion about these topics, and to promote not only the theory, but practical evalution of these ideas, and experience reports.
Proceedings
The accepted papers will be distributed at the workshop in an informal proceedings. All accepted submissions shall remain available from the workshop web page.
Submission Guidelines
Abstracts, position papers, and status reports are welcome. Papers should be 1-2 pages in standard ACM SIGPLAN format. All submissions will be reviewed by the program committee. Submit your papers on EasyChair at the following URL: