Electronic Proceedings in Theoretical Computer Science (Dec 2015)

Modular implicits

  • Leo White,
  • Frédéric Bour,
  • Jeremy Yallop

DOI
https://doi.org/10.4204/EPTCS.198.2
Journal volume & issue
Vol. 198, no. Proc. ML/OCaml 2014
pp. 22 – 63

Abstract

Read online

We present modular implicits, an extension to the OCaml language for ad-hoc polymorphism inspired by Scala implicits and modular type classes. Modular implicits are based on type-directed implicit module parameters, and elaborate straightforwardly into OCaml's first-class functors. Basing the design on OCaml's modules leads to a system that naturally supports many features from other languages with systematic ad-hoc overloading, including inheritance, instance constraints, constructor classes and associated types.