Verifying Efficient Function Calls in CakeML episode artwork

EPISODE · Dec 18, 2017 · 19 MIN

Verifying Efficient Function Calls in CakeML

from International Conference on Functional Programming 2017

Scott Owens University of Kent, UK, gives the third talk in the first panel, Low-level and Systems Programming, on the 2nd day of the ICFP conference. Co-written Michael Norrish, Ramana Kumar (Data61 at CSIRO, Australia and UNSW, Australia), Magnus O. Myreen (Chalmers University of Technology, Sweden), Yong Kiam Tan (Carnegie Mellon University, USA). We have designed an intermediate language (IL) for the CakeML compiler that supports the verified, efficient compilation of functions and calls. Verified compilation steps include batching of multiple curried arguments, detecting calls to statically known functions, and specialising calls to known functions with no free variables. Finally, we verify the translation to a lower-level IL that only supports closed, first-order functions. These compilation steps resemble those found in other compilers (especially OCaml). Our contribution here is the design of the semantics of the IL, and the demonstration that our verification techniques over this semantics work well in practice at this scale. The entire development was carried out in the HOL4 theorem prover.

Episode metadata supplied by the publisher feed · Published Dec 18, 2017

Embed this episode

NOW PLAYING

Verifying Efficient Function Calls in CakeML

0:00 19:53

No transcript for this episode yet

We transcribe on demand. Request one and we'll notify you when it's ready — usually under 10 minutes.

No similar episodes found.

No similar podcasts found.

Frequently Asked Questions

How long is this episode of International Conference on Functional Programming 2017?

This episode is 19 minutes long.

When was this International Conference on Functional Programming 2017 episode published?

This episode was published on December 18, 2017.

Can I download this International Conference on Functional Programming 2017 episode?

Yes. Use the download control on the episode player to save the publisher-provided media file.
URL copied to clipboard!