SAPLING 2013

09:30-17:30, December 16, 2013

Building E6A, Room 102

Macquarie University

Keynote Speaker

Professor Philip Wadler, University of Edinburgh

A practical theory of language-integrated query

James Cheney, Sam Lindley, Philip Wadler (University of Edinburgh)

How best to blend a domain-specific language into a host language? For the domain of databases, the old question of how to achieve language integrated query is receiving renewed attention, in part because of its support through Microsoft's LINQ framework. We present a practical theory of language-integrated query based on quotation and normalisation of quoted terms. Higher-order features prove useful even for constructing first-order queries. We prove a theorem characterising when a host query is guaranteed to generate a single SQL query, and we present experimental results confirming our technique works, even in situations where Microsoft's LINQ framework either fails to produce an SQL query or, in one case, produces an avalanche of SQL queries. Our ideas are implemented in F#, and the talk briefly considers how they might apply to other languages such as Scala and Haskell.

Program

09:30 Welcome

09:30-10:50 (Session Chair: Ben Lippmeier)

Timothy Jones, Victoria University of Wellington, Grace: An Introductory Object-Oriented Language abstract slides

Bernhard Scholz, Nicholas Allen and Padmanabhan Krishnan, Oracle Labs, Finding Security Bugs in Java Programs Using Datalog abstract slides

Abdallah Saffidine, University of New South Wales, General Game Playing and the Game Description Language abstract slides

Richard Garner, Macquarie University, Homotopy type theory abstract slides

10:50-11:05 Break

11:05-12:00 Keynote

Philip Wadler, University of Edinburgh, A practical theory of language-integrated query slides

12:00-13:00 Lunch

13:00-14:20 (Session Chair: Manuel Chakravarty)

David J. Pearce and Lindsay Groves, Victoria University of Wellington, Whiley: a Platform for Research in Software Verification abstract slides

Gabi Keller and Liam O'Connor, University of New South Wales, File System Verification abstract slides

Tiejun Gao, Australian National University, Using Managed Runtime Systems to Tolerate Holes in Wearable Memories abstract slides

Kunshan Wang, Yi Lin, and Steve Blackburn, Australian National University, Sharpen Your Axe – A Micro Virtual Machine Which You Can Depend On abstract slides

14:20-14:35 Break

14:35-15:55 (Session Chair: Steve Blackburn)

Matthew Roberts, Macquarie University, Type Inference for the Spine View of Data abstract slides

Barry Jay and Jose Vergara, University of Technology, Sydney, Typed Boa Calculus abstract slides

Jose Vergara and Barry Jay, University of Technology, Sydney, Implementing Intensional Computation abstract slides

Fritz Henglein and Ralf Hinze, University of Copenhagen, Sorting and Searching by Distribution: From Generic Discrimination to Generic Tries abstract slides

15:55-16:10 Break

16:10-17:30 (Session Chair: Barry Jay)

Ben Lippmeier, University of New South Wales, Capabilities, Coeffects and Lax Truth abstract slides

Rob Everest, University of New South Wales, Embedding foreign code abstract slides

Amos Robinson, University of New South Wales, Rate inference for flow fusion abstract slides

Kieran Gorman, Timothy Jones and Lindsay Groves, Victoria University of Wellington, Melchior: Web Programming in Haskell abstract slides

17:30 Wrap up