Papers

2017
Extending OCaml's open
Runhang Li , Jeremy Yallop
in The OCaml Users and Developers Workshop (OCaml17)
A Memory Model for Multicore OCaml
in The OCaml Users and Developers Workshop (OCaml17)
Mergeable Types
Gowtham Kaki , KC Sivaramakrishnan , Samodya Abeysiriwardane , Suresh Jagannathan
in the ACM SIGPLAN Workshop on ML (ML17)
Effectively Tackling the Awkward Squad
in the ACM SIGPLAN Workshop on ML (ML17)
Continuation Passing Style for Effect Handlers
Daniel Hillerström , Sam Lindley , Robert Atkey , KC Sivaramakrishnan
in the International Conference on Formal Structures for Computation and Deduction (FSCD17)
DaLi: Database as a Library
Gowtham Kaki , KC Sivaramakrishnan , Thomas Gazagnaire , Anil Madhavapeddy , Suresh Jagannathan
in the Summit on Advances in Programming Languages (SNAPL17)
Eff directly in OCaml
Oleg Kiselyov , KC Sivaramakrishnan
Polymorphism, Subtyping and Type Inference in MLsub
in the proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages (POPL17)
2016
Malfunctional Programming
in the ACM SIGPLAN Workshop on ML (ML16)
The State of the OCaml Platform
in The OCaml Users and Developers Workshop (OCaml16)
Who's got your mail? Mr. Mime!
in The OCaml Users and Developers Workshop (OCaml16)
Lock-free programming for the masses
KC Sivaramakrishnan , Théo Laurent
in The OCaml Users and Developers Workshop (OCaml16)
OCaml Inside: a drop-in replacement for libtls
in The OCaml Users and Developers Workshop (OCaml16)
Conex: Establishing trust into data repositories
in The OCaml Users and Developers Workshop (OCaml16)
Effective Concurrency with Algebraic Effects
in The OCaml Users and Developers Workshop (OCaml16)
Migrating MultiMLton to the Cloud
KC Sivaramakrishnan , Lukasz Ziarek , Suresh Jagannathan
in the ACM SIGPLAN Workshop on ML (ML16)
Compiling Links Effect Handlers to the OCaml Backend
in the ACM SIGPLAN Workshop on ML (ML16)
Eff Directly in OCaml
Oleg Kiselyov , KC Sivaramakrishnan
in the ACM SIGPLAN Workshop on ML (ML16)
Algebraic Subtyping
Flexible Paxos: Quorum Intersection Revisited
Heidi Howard , Dahlia Malkhi , Alexander Spiegelman
in Distributed, Parallel, and Cluster Computing (arXiv)
A modular foreign function interface - PREPRINT
in the Science of Computer Programming Journal (SCP16)
Composable Scheduler Activations for Haskell
KC Sivaramakrishnan , Tim Harris , Simon Marlow , Simon Peyton Jones
in the Volume 26 of the Journal of Functional Programming (JFP16)
Declarative foreign function binding through generic programming
in the 13th International Symposium on Functional and Logic Programming (FLOPS16)
Not-quite-so-broken TLS 1.3 mechanised conformance checking
in TLS 1.3 Ready or Not Workshop Programme (TRON16)
Staging Generic Programming
in the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (PEPM16)
Representation without Taxation: A Uniform, Low-Overhead and High-Level Interface to Eventually Consistent Key-Value Stores
KC Sivaramakrishnan , Gowtham Kaki , Suresh Jagannathan
in the IEEE Data Engineering Bulletin 39(1) (IEEE16)
2015
SibylFS: Formal Specification and Oracle-Based Testing for POSIX and Real-World File Systems
Tom Ridge , David Sheets , Thomas Tuerk , Andrea Giugliano , Anil Madhavapeddy , Peter Sewell
in the 25th Symposium on Operating Systems Principles (SOSP15)
Modular Macros
in The OCaml Users and Developers Workshop (OCaml15)
Effective Concurrency through Algebraic Effects
in The OCaml Users and Developers Workshop (OCaml15)
Not-quite-so-broken TLS: lessons in re-engineering a security protocol specification and implementation
in 24th USENIX Security Symposium (UseSec15)
Kadupul: Livin’ on the Edge with Virtual Currencies and Time-Locked Puzzles
in the 13th International Conference on Mobile Systems, Applications and Services: Workshop on Do-It-Yourself Networking: An Interdisciplinary Approach (MobiSys15)
Jitsu: Just-In-Time Summoning of Unikernels
in the Proceedings of the 12th USENIX Symposium on Networked Systems Design and Implementation (NSDI15)
Declarative Programming over Eventually Consistent Data Stores
KC Sivaramakrishnan , Gowtham Kaki , Suresh Jagannathan
in the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI15)
Mergeable Persistent Data Structures
Benjamin Farinier , Thomas Gazagnaire , Anil Madhavapeddy
in the 26th Journées Francophones of Logic Languages (JFLA15)
Personal Data: Thinking Inside the Box
in Aarhus: Critical Alternatives 2015 (Aarhus15)
Raft Refloated - Do We Have Consensus?
Heidi Howard , Malte Schwarzkopf , Anil Madhavapeddy , Jon Crowcroft
2014
Regional Clouds: Technical Considerations
Jatinder Singh , Jean Bacon , Jon Crowcroft
in the University of Cambridge Computer Laboratory Technical Report, Number 857 (CLTR14)
CUFP 2013 Scribe's Report
Marius Eriksen , Michael Sperber , Anil Madhavapeddy
in the Commercial Users of Functional Programming 2013 Workshop Report (CUFP14)
Transport Layer Security purely in OCaml
in the OCaml Users and Developers Workshop (OCaml14)
The OCaml Platform V1.0
in the OCaml Users and Developers Workshop (OCaml14)
Multicore OCaml
in the OCaml Users and Developers Workshop (OCaml14)
Irminsule; a branch-consistent distributed library database
in the OCaml Users and Developers Workshop (OCaml14)
Introduction to 0install
in the OCaml Users and Developers Workshop (OCaml14)
Type-Level Module Aliases: Independent and Equal
Jacques Garrigue , Leo White
in the ML Family Workshop (ML14)
Modular Implicits
in the ML Family Workshop (ML14)
Metaprogramming with ML Modules in the MirageOS
in the ML Family Workshop (ML14)
Moana: A Case for Redefining the Internet Service Abstraction
Yan Shvartzshnaider , Maximilian Ott
in the 15th International Middleware Conference (IMC14)
Coeffects: A Calculus of Context-Dependent Computation
Tomas Petricek , Dominic Orchard , Alan Mycroft
in the 19th ACM SIGPLAN International Conference on Functional Programming (ICFP14)
ARC: Analysis of Raft Consensus
in the University of Cambridge Computer Laboratory Technical Report, Number 857 (CLTR14)
Lightweight Higher-Kinded Polymorphism
in the 12th International Symposium for the Journal of Functional and Logic Programming, Vol 8475 of the series Lecture Notes in Computer Science (FLOPS14)
Unikernels: The Rise of the Virtual Library Operating System
in the Commuications of the ACM, Vol. 57, No. 1 (CACM14)
2013
CUFP 2012 Scribe's Report
Michael Sperber , Anil Madhavapeddy
in the Commercial Users of Functional Programming 2012 Workshop Report (CUFP12)
Trevi: Watering Down Storage Hotspots with Cool Fountain Codes
George Parisis , Toby Moncaster , Anil Madhavapeddy , Jon Crowcroft
in the 12th ACM Workshop on Hot Topics in Networks (HotNets13)
The OCaml Platform V0.1
in The OCaml Users and Developers Workshop (OCaml13)
OCamlot: OCaml Online Testing
in The OCaml Users and Developers Workshop (OCaml13)
Merlin: An Assistant for Editing OCaml Code
Frédéric Bour , Thomas Refis , Simon Castellan
in The OCaml Users and Developers Workshop (OCaml13)
Ctypes: Foreign Calls in your Native Language
in The OCaml Users and Developers Workshop (OCaml13)
Lost In the Edge: Finding Your Way With Signposts
in the 3rd USENIX Workshop on Free and Open Communications on the Internet (FOCI13)
Concise Analysis using Implication Algebras for Task-Local Memory Optimisation
in the 20th Static Analysis Symposium (SAS13)
Unikernels: Library Operating Systems for the Cloud
Anil Madhavapeddy , Richard Mortier , Charalampos Rotsos , David Scott , Balraj Singh , Thomas Gazagnaire , Steven Smith , Steven Hand , Jon Crowcroft
in the 18th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS13)