Rank Polymorphism Viewed as a Constraint Problem
Rank polymorphism serves as a type of control flow used in array-oriented languages, where functions are automatically lifted to operate on high-dimensional arguments. The iteration space is derived directly from the shape of the data, presenting a challenge to compilation. A type system can characterize data shape, though the level of detail is beyond what can be reasonably expected from entirely human-generated annotations. The task of checking or inferring shapes can be phrased as solving constraints in the theory of the free monoid over the natural numbers, but the constraints involve both universal and existential quantification. Here is a plan of attack for leveraging past work on decision procedures, which has generally focused on the purely existential fragment of the theory.
Tue 19 JunDisplayed time zone: Eastern Time (US & Canada) change
14:00 - 15:45 | |||
14:00 35mTalk | Parallel Programming with Arrays in Kappa ARRAY Beatrice Åkerblom Stockholm University, Elias Castegren Uppsala University, Tobias Wrigstad Uppsala University | ||
14:35 35mTalk | Rank Polymorphism Viewed as a Constraint Problem ARRAY Justin Slepak Northeastern University, Panagiotis Manolios Northeastern University, Olin Shivers Northeastern University, USA | ||
15:10 35mTalk | Proving a Core Code for FDM Correct by 2 + dw Tests ARRAY Magne Haveraaen University of Bergen, Norway |