Spotlight on Jeremy Gibbons
When: Friday, October 27th - 20:30
Closing Keynote: APLicative Programming with Naperian Functors
Much of the expressive power of array-oriented languages such as Iverson’s APL and J comes from their implicit lifting of scalar operations to act on higher-ranked data, for example to add a value to each element of a vector, or to add two compatible matrices pointwise. It is considered a shape error to attempt to combine arguments of incompatible shape, such as a 3-vector with a 4-vector. APL and J are dynamically typed, so such shape errors are caught only at run-time. Recent work by Slepak et al develops a custom type system for an array-oriented language, statically ruling out such errors. Jeremy will show that such a custom language design is unnecessary: the requisite compatibility checks can already be captured in modern expressive type systems, as found for example in Haskell; moreover, generative type-driven programming can exploit that static type information constructively to automatically induce the appropriate liftings. He will also show that the structure of multi-dimensional data is inherently a matter of traversable Naperian applicative functors (and he will explain what this means).
Jeremy Gibbons is a Computer Scientist and Professor of Computing at the University of Oxford. He serves as Deputy Director of the Software Engineering Programme in the Department of Computer Science, Governing Body Fellow at Kellogg College and Pro-Proctor of the University of Oxford.
He’s also written a gagillion papers and books, including Fun Cornerstones Computing.
Cool fact, when he’s not coding, Jeremy plays the bass!
For more on Jeremy, visit:
About Lambda World:
Lambda World takes place October 26th - 27th, in Cadiz, Spain and is hosted by 47 Degrees in conjunction with the Scala and Java communities of Spain. The event is located at the Palacio de Congresos, an old tobacco factory near the beach. You can find more details at Lambda.world