Live briefing
Everything about Mixin
Class used for injecting methods
In object-oriented programming languages, a mixin is a class that contains methods for use by other classes without having to be the parent class of those other classes. How those other classes gain access to the mixin's methods depends on the language. Mixins are sometimes described as being "included" rather than "inherited". Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: MixinA 5-minute orientation
- Skim a recent paper: Mixin Things Up!Influential work since 2022
- Pick up a classic book: The Dart Programming LanguageThe most-reprinted book on the subject
- Read the landmark paper: Mixin layersCited 172 times
- Go sideways: Trait (computer programming)A closely related topic
- Go sideways: Template (C++)A closely related topic
📖 Definitions
Noun An uninstantiable class that provides functionality to be inherited by a subclass.
🏆 Landmark papers (most cited)
Mixin layers
Mixin-based inheritance
A theory of mixin modules: basic and derived operators
Mixin’ Up the ML Module System
Mixin modules in a call-by-value setting
SISAM and MIXIN: Two algorithms for the computation of posterior moments and densities using Monte Carlo integration
Mixin modules
Safe metaclass composition using mixin-based inheritance
🆕 Influential since 2022
📚 Books worth reading
The Dart Programming LanguageGilad Bracha · 2015
Ice cream mix-insJeff Keys · 2009- 📕Ice creamery cookbookShelly Kaldunski · 2014
- 📕Ninja CREAMi Cookbook with PicturesTricia Howard · 2021
- 📕Ninja CREAMi Cookbook with PicturesEmily Williams · 2022
- 📕Mixin'Michelle Clark · 2017
MIXIN' 2Michelle L. Clark · 2018- 📕MixinsA. J. H. Simons · 1995
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Trait (computer programming) In computer programming, a trait is a language concept that represents a set of methods that can be used to extend the functionality of a class. In object-orien…
- Template (C++) Templates are a feature of the C++ programming language that allow functions and classes to operate with generic types. This allows a function or class…
- Reflection (C++) Reflection in C++ refers to the usage of reflective programming, introduced to the C++ programming language in C++26. Reflection in C++, unlike other languages…
- Virtual function In object-oriented programming such as is often used in C++ and Object Pascal, a virtual function or virtual method is an inheritable and overridable function…
- Composition over inheritance In object-oriented programming, composition over inheritance (sometimes composition with forwarding or composite reuse) is a common design pattern that…
- C++11 C++11 is a version of a joint technical standard, ISO/IEC 14882, by the International Organization for Standardization (ISO) and International Electrotechnical…
- Metaclass In object-oriented programming, a metaclass is a class whose syntactic definitions are used for the syntactic definition of the classes themselves. Unlike…
- Namespace In computing, a namespace is a set of signs (names) that are used to identify and refer to objects of various kinds. A namespace ensures that all of a…