home Anil Madhavapeddy, Professor of Planetary Computing  

Programming for the Planet / May 2024

I was invited by Mary Sheeran to deliver a keynoted at Lambda Days, and I decided to go along to talk about my work on Programming for the Planet. The conference was a really vibrant crowd and I would definitely go along in future years. It's best summarised via an interview video they took of all the speakers.

# 27th May 2024   icontalks iconvideos biodiversity cloud distributed fp interview ocaml satellite satellites sensing sweden

Parallel traversal effect handlers for OCaml / Jan 2024

This is an idea proposed as a Cambridge Computer Science Part II project, and is currently being worked on by Sky Batchelor. It is supervised by Patrick Ferris and Anil Madhavapeddy.

Most existing uses of effect handlers perform synchronous execution of handled effects. Xie et al proposed a traverse handler for parallelisation of independent effectful computations whose effect handlers are outside the parallel part of the program. The paper [^1] gives a sample implementation as a Haskell library with an associated λp calculus that formalises the parallel handlers.   […162 words]

# 1st Jan 2024   iconideas effects fp idea-medium idea-ongoing multicore ocaml scheduling

Implementing a higher-order choreographic language / Jan 2024

This is an idea proposed as a Cambridge Computer Science Part II project, and has been completed by Rokas Urbonas. It was supervised by Dmirtij Szamozvancev and Anil Madhavapeddy.

This project aims to implement a functional choreographic language inspired by the Pirouette calculus. This language was meant to make the notoriously difficult process of implementing distributed algorithms easier, while offering a practical execution model for multi-participant programs. Additionally, it aimed to match the expressiveness and performance of similar existing solutions.

The project completed very successfully, and resulted in ChorCaml, an embedded DSL for choreographic programming in OCaml. The language facilitates the implementation of distributed algorithms, while offering a clear syntax and safety via the type system. ChorCaml also improves upon existing alternatives in certain common use cases, both in terms of program conciseness and performance. The practicality of the DSL was verified by successfully implementing well-known distributed algortihms such as Diffie-Hellman key exchange and concurrent Karatsuba fast integer multiplication.   […163 words]

# 1st Jan 2024   iconideas consensus distributed fp idea-done idea-medium ocaml

Functional Programming for the Planet / Sep 2023

Keynoted at ICFP 2023 on Functional Programming for the Planet

# 5th Sep 2023   icontalks iconvideos biodiversity forests fp icfp keynote satellite seattle sensing

The 2nd ed of Real World OCaml is available in shops / Oct 2022

I'm delighted to report that the second edition of Real World OCaml is now available from Cambridge University Press! It's also freely available online, and CUP also kindly agreed that the PDF version could be freely available online thanks to sponsorship from Tarides. […105 words]

# 1st Oct 2022   iconpapers book cambridge fp ocaml

Homogeneous Builds with OBuilder and OCaml / Sep 2022

Paper on our incremental computation DSL ocurrent presented in OCaml Workshop 2022

# 1st Sep 2022   iconpapers conference devtools fp ocaml

Retrofitting effect handlers onto OCaml / Jun 2021

Paper on retrofitting effects in OCaml presented in PLDI 2024

# 1st Jun 2021   iconpapers conference effects fp multicore ocaml systems

Banyan: Coordination-Free Distributed Transactions over Mergeable Types / Nov 2020

Paper on Banyan for coordination-free distributed transactions in ASPLAS 2020

# 1st Nov 2020   iconpapers conference distributed fp irmin mirageos ocaml storage

Retrofitting parallelism onto OCaml / Aug 2020

Won best paper award at ICFP 2020 for our paper on retrofitting parallelism onto OCaml!

# 1st Aug 2020   iconpapers award effects fp journal multicore ocaml systems

Parallelising your OCaml Code with Multicore OCaml / Aug 2020

Paper on how to parallelise OCaml code at the OCaml Workshop

# 1st Aug 2020   iconpapers conference effects fp multicore ocaml

Bounding data races in space and time / Jun 2018

Paper on the OCaml memory model and underlying theory at PLDI 2018

# 1st Jun 2018   iconpapers conference fp memory multicore ocaml systems

Concurrent System Programming with Effect Handlers / Apr 2018

Paper on concurrent systems programming with effect handlers at TFP 2017

# 1st Apr 2018   iconpapers conference effects fp multicore ocaml

Probabilistic Programming in OCaml / Jan 2018

This is an idea proposed as a Cambridge Computer Science Part II project, and has been completed by Hari Chandrasekaran. It was supervised by Tom Kelly, Liang Wang and Anil Madhavapeddy.

With increasing use of machine learning, it is useful to develop frameworks that support rapid development and functional specification of probabilistic models for inference and reasoning. Probabilistic Programming Languages aim to support concise syntax for specifying models and consequently making inference easier. This can pave way to improvements of the model created, more data gathering and further model refinement in an iterative sense.

PPL enables easier development of statistical models and allows decoupling inference from modelling. There is a lot of recent work on PPLs, and this project seeks to incorporate them into functional languages. This project aims to develop a small PPL with a graph based model for Bayesian inference (similar to the Edward PPL) into the Owl numerical library written in OCaml.   […277 words]

# 1st Jan 2018   iconideas ai fp idea-done idea-medium ocaml probablistic

Effectively tackling the awkward squad / Sep 2017

Paper on how to tackle awkward IO patterns with effect handlers

# 1st Sep 2017   iconpapers conference effects fp multicore ocaml

DaLi: Database as a Library / May 2017

Position paper on building databases-as-a-library at SNAPL 2017

DaLi: Database as a Library

Gowtham Kaki, KC Sivaramakrishnan, Thomas Gazagnaire, Anil Madhavapeddy and Suresh Jagannathan.

Paper in the 2nd Summit on Advances in Programming Languages (SNAPL).

BIB   PDFpdf

# 1st May 2017   iconpapers conference databases fp irmin ocaml storage unikernels

Displaying the 15 most recent news items out of 36 in total (see all the items).