Typing is an eternal subject of discord amongst programming language de- signers and practitioners. On the one hand, dynamic typing is flexible and forgiving, allowing one to focus on the business logic. For rapid prototyping, dynamic typing just doesn’t get in the way. On the other hand, as soon as a piece of software exceeds a particular (not so big) size, the permissive nature of dynamic typing becomes dangerous. In a production code base consisting of many moving parts interacting together, and where failure can have important negative consequences, static typing bring structure, clarity, and eliminate a whole class of bug early.
Until recently, static typing was most popular for compiled general-purpose languages and system programming. Dynamic typing was still dominant for scripting languages and in particular for web-oriented languages. But the functional programming paradigm shift of recent years have now brought static typing to the web. What about the emerging world of configuration languages? In this talk, I’ll try to explain why the question of typing for configuration languages is quite different than for general-purpose languages. We introduce the type and contract system of Nickel, a configuration language we are currently developing at Tweag, that mixes both static typing and dynamic typing. We then have a tour of other configuration languages with similar use cases, to explore the different trade-offs and design choices they made.
I graduated with a Ph.D from IRIF (Université Paris Diderot and CNRS, France) on the translation of effectful computation into Linear Logic. I now work at Tweag I/O on the design and implementation of Nickel, a configuration programming language.
Mon 18 OctDisplayed time zone: Central Time (US & Canada) change
09:00 - 10:20
|A Language for Configuring Security Policies|
Gilad Bracha email@example.comMedia Attached
|Provenance of Configuration Programming Language muPuppet|
Weili Fu University of Freiburg, Germany, Paul Anderson University of Edinburgh, James Cheney University of Edinburgh; Alan Turing InstituteMedia Attached
|The Pitfalls of Ansible’s Variable and Template Expression Semantics|
|Typing in Nickel and elsewhere|
Yann Hamdaoui TweagMedia Attached
|Languages: Q&A and discussion|