Concepts: Linguistic support for generic programming in C++

D Gregor, J Järvi, J Siek, B Stroustrup… - Proceedings of the 21st …, 2006 - dl.acm.org
Generic programming has emerged as an important technique for the development of highly
reusable and efficient software libraries. In C++, generic programming is enabled by the …

Type classes as objects and implicits

BCS Oliveira, A Moors, M Odersky - ACM Sigplan Notices, 2010 - dl.acm.org
Type classes were originally developed in Haskell as a disciplined alternative to ad-hoc
polymorphism. Type classes have been shown to provide a type-safe solution to important …

Polymorphic embedding of DSLs

C Hofer, K Ostermann, T Rendel, A Moors - Proceedings of the 7th …, 2008 - dl.acm.org
The influential pure embedding methodology of embedding domain-specific languages
(DSLs) as libraries into a general-purpose host language forces the DSL designer to commit …

Thriving in a crowded and changing world: C++ 2006–2020

B Stroustrup - Proceedings of the ACM on Programming Languages, 2020 - dl.acm.org
By 2006, C++ had been in widespread industrial use for 20 years. It contained parts that had
survived unchanged since introduced into C in the early 1970s as well as features that were …

Comparing libraries for generic programming in Haskell

A Rodriguez, J Jeuring, P Jansson, A Gerdes… - ACM Sigplan …, 2008 - dl.acm.org
Datatype-generic programming is defining functions that depend on the structure, or"
shape", of datatypes. It has been around for more than 10 years, and a lot of progress has …

Fun with type functions

O Kiselyov, SP Jones, C Shan - Reflections on the Work of CAR Hoare, 2010 - Springer
Tony Hoare has always been a leader in writing down and proving properties of programs.
To prove properties of programs automatically, the most widely used technology today is the …

Design of concept libraries for C++

A Sutton, B Stroustrup - … : 4th International Conference, SLE 2011, Braga …, 2012 - Springer
We present a set of concepts (requirements on template arguments) for a large subset of the
ISO C++ standard library. The goal of our work is twofold: to identify a minimal and useful set …

A language for generic programming in the large

JG Siek, A Lumsdaine - Science of Computer Programming, 2011 - Elsevier
Generic programming is an effective methodology for developing reusable software
libraries. Many programming languages provide generics and have features for describing …

COCHIS: Stable and coherent implicits

T Schrijvers, BCDS Oliveira, P Wadler… - Journal of Functional …, 2019 - cambridge.org
Implicit programming (IP) mechanisms infer values by type-directed resolution, making
programs more compact and easier to read. Examples of IP mechanisms include Haskell's …

JavaGI: The interaction of type classes with interfaces and inheritance

S Wehr, P Thiemann - ACM Transactions on Programming Languages …, 2011 - dl.acm.org
The language JavaGI extends Java 1.5 conservatively by a generalized interface
mechanism. The generalization subsumes retroactive and type-conditional interface …