Wed 7 Nov 2018 11:15 - 11:37 at Studio 1 - Types and Effects Chair(s): Colin Gordon

Programming languages that support multiple dispatch rely on an expressive notion of subtyping to specify method applicability. In these languages, type annotations on method declarations are used to select, out of a potentially large set of methods, the one that is most appropriate for a particular tuple of arguments. Julia is a language for scientific computing built around multiple dispatch and an expressive subtyping relation. This paper provides the first formal definition of Julia’s subtype relation and motivates its design. We validate our specification empirically with an implementation of our definition that we compare against the existing Julia implementation on a collection of real-world programs. Our subtype implementation differs on 122 subtype tests out of 6’014476. The first 120 differences are due to a bug in Julia that was fixed once reported; the remaining 2 are under discussion.

Wed 7 Nov

splash-2018-OOPSLA
10:30 - 12:00: OOPSLA - Types and Effects at Studio 1
Chair(s): Colin GordonDrexel University
splash-2018-OOPSLA10:30 - 10:52
Talk
Jonathan Immanuel BrachthäuserUniversity of Tübingen, Germany, Philipp SchusterUniversity of Tübingen, Germany, Klaus OstermannUniversity of Tübingen, Germany
splash-2018-OOPSLA10:52 - 11:15
Talk
Fabian MuehlboeckCornell University, Ross TateCornell University
Link to publication DOI Pre-print
splash-2018-OOPSLA11:15 - 11:37
Talk
Francesco Zappa NardelliInria, Julia BelyakovaNortheastern University, USA, Artem PelenitsynNortheastern University, Benjamin ChungNortheastern University, Jeff BezansonJulia Computing, Jan VitekNortheastern University
DOI Media Attached
splash-2018-OOPSLA11:37 - 12:00
Talk
Hendrik van AntwerpenTU Delft, Casper Bach PoulsenDelft University of Technology, Arjen RouvoetDelft University of Technology, Eelco VisserDelft University of Technology
Link to publication DOI File Attached