Polymorphic Types with Polynomial Sizes
This article presents a compile-time analysis for tracking the size of
data-structures in a statically typed and strict functional language. This
information is valuable for static checking and code generation. Rather than
relying on dependent types, we propose a type-system close to that of ML:
polymorphism is used to define functions that are generic in types and
sizes; both can be inferred. This approach is convenient, in particular for
a language used to program critical embedded systems, where sizes are indeed
known at compile-time. By using sizes that are multivariate polynomials, we
obtain a good compromise between the expressiveness of the size language and
its properties (verification, inference).
The article defines a minimal functional language that is sufficient to
capture size constraints in types. It presents its dynamic semantics, the
type system and inference algorithm. Last, we sketch some practical
extensions that matter for a more realistic language.
Sun 18 JunDisplayed time zone: Eastern Time (US & Canada) change
14:00 - 15:30 | |||
14:00 30mTalk | HERO-ML: A Very High-Level Array Language for Executable Modelling of Data Parallel Algorithms ARRAY DOI | ||
14:30 30mTalk | OptiTrust: an Interactive Optimization Framework ARRAY Thomas Koehler INRIA, Arthur Charguéraud Inria; Université de Strasbourg; CNRS; ICube, Begatim Bytyqi Inria, Damien Rouhling Inria, Yann Barsamian Ecole Européenne de Bruxelles Pre-print File Attached | ||
15:00 30mTalk | Polymorphic Types with Polynomial Sizes ARRAY DOI |