Tue 17 Nov 2020 06:00 - 06:20 at SPLASH-I - M-6 Chair(s): Ifaz Kabir, David Grove
In domains that deal with physical space and geometry, programmers need to track the coordinate systems that underpin a computation. We identify a class of geometry bugs that arise from confusing which coordinate system a vector belongs to. These bugs are not ruled out by current languages for vector-oriented computing, are difficult to check for at run time, and can generate subtly incorrect output that can be hard to test for.
We introduce a type system and language that prevents geometry bugs by reflecting the coordinate system for each geometric object. A value's geometry type encodes its reference frame, the kind of geometric object (such as a point or a direction), and the coordinate representation (such as Cartesian or spherical coordinates). We show how these types can rule out geometrically incorrect operations, and we show how to use them to automatically generate correct-by-construction code to transform vectors between coordinate systems. We implement a language for graphics programming, Gator, that checks geometry types and compiles to OpenGL's shading language, GLSL. Using case studies, we demonstrate that Gator can raise the level of abstraction for shader programming and prevent common errors without inducing significant annotation overhead or performance cost.
Mon 16 Nov Times are displayed in time zone: Central Time (US & Canada) change
17:00 - 18:20: M-6OOPSLA at SPLASH-I +12h Chair(s): Patrick LamUniversity of Waterloo, Konstantinos MamourasRice University | |||
17:00 - 17:20 Talk | Can Advanced Type Systems Be Usable? An Empirical Study of Ownership, Assets, and Typestate in Obsidian OOPSLA Michael CoblenzUniversity of Maryland at College Park, Jonathan AldrichCarnegie Mellon University, Brad A. MyersCarnegie Mellon University, Joshua SunshineCarnegie Mellon University Link to publication DOI Media Attached | ||
17:20 - 17:40 Talk | Scalable and Serializable Networked Multi-actor Programming OOPSLA Bo SangPurdue University / Ant Group, Patrick EugsterUSI Lugano / TU Darmstadt / Purdue University, Gustavo PetriARM Research, Srivatsan RaviUniversity of Southern California, Pierre-Louis RomanUSI Lugano Link to publication DOI Media Attached | ||
17:40 - 18:00 Talk | Designing Types for R, Empirically OOPSLA Alexi TurcotteNortheastern University, Aviral GoelNortheastern University, Filip KřikavaCzech Technical University, Jan VitekNortheastern University / Czech Technical University Link to publication DOI Media Attached | ||
18:00 - 18:20 Talk | Geometry Types for Graphics Programming OOPSLA Dietrich GeislerCornell University, Irene YoonUniversity of Pennsylvania, Aditi KabraCarnegie Mellon University, Horace HeCornell University, Yinnon SandersCornell University, Adrian SampsonCornell University Link to publication DOI Pre-print Media Attached |
Tue 17 Nov Times are displayed in time zone: Central Time (US & Canada) change
05:00 - 06:20: M-6OOPSLA at SPLASH-I Chair(s): Ifaz KabirUniversity of Alberta, David GroveIBM Research | |||
05:00 - 05:20 Talk | Can Advanced Type Systems Be Usable? An Empirical Study of Ownership, Assets, and Typestate in Obsidian OOPSLA Michael CoblenzUniversity of Maryland at College Park, Jonathan AldrichCarnegie Mellon University, Brad A. MyersCarnegie Mellon University, Joshua SunshineCarnegie Mellon University Link to publication DOI Media Attached | ||
05:20 - 05:40 Talk | Scalable and Serializable Networked Multi-actor Programming OOPSLA Bo SangPurdue University / Ant Group, Patrick EugsterUSI Lugano / TU Darmstadt / Purdue University, Gustavo PetriARM Research, Srivatsan RaviUniversity of Southern California, Pierre-Louis RomanUSI Lugano Link to publication DOI Media Attached | ||
05:40 - 06:00 Talk | Designing Types for R, Empirically OOPSLA Alexi TurcotteNortheastern University, Aviral GoelNortheastern University, Filip KřikavaCzech Technical University, Jan VitekNortheastern University / Czech Technical University Link to publication DOI Media Attached | ||
06:00 - 06:20 Talk | Geometry Types for Graphics Programming OOPSLA Dietrich GeislerCornell University, Irene YoonUniversity of Pennsylvania, Aditi KabraCarnegie Mellon University, Horace HeCornell University, Yinnon SandersCornell University, Adrian SampsonCornell University Link to publication DOI Pre-print Media Attached |