2015/12/05 by Leo White, Frédéric Bour, Jeremy Yallop · 1 voice
Computer Science · Mathematics · #Artificial intelligence #Class (philosophy) #Computer science #Discrete mathematics #Distributed systems and fault tolerance #Extension (predicate logic) #Functor #Inheritance (genetic algorithm) #Java #Logic, programming, and type systems #Mathematics #Modular design #Programming language #Scala #Security and Verification in Computing #cs.PL
paper · pdf · doi:10.4204/eptcs.198.2
published as EPTCS 198, 2015, pp. 22-63 · In Proceedings ML/OCaml 2014, arXiv:1512.01438
openalex publication_date 2015/12/05 · arxiv created 2015/12/07 · arxiv published 2015/12/07 · arxiv updated 2015/12/07 · openalex created_date 2020/07/02 · openalex updated_date 2026/08/05
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.