Use case:
- Avoid passing annoy-to-pass “context information” (allocator, loggers, etc)
- passing additional parameters to an implementation of a generic interface
Existing Designs
- Scala Contextual Parameters, aka Implicit Parameters
- OCaml’s Modular implicits
- Implementing Swift generics
- Odin’s Implicit Context System
- Rust With clauses Proposal
- Getting Allocators out of Our Way - Alisdair Meredith & Pablo Halpern - CppCon 2019 - YouTube
Articles
- Value Oriented Programming Needs Implicits?
- talk about in value-oriented programming where heavily relies on using indices, and as a result we often need to have some “context” around. But since Value-oriented programming also doesn’t support storing references, implicit parameters seems to be the answer