The book 'The Art of the Metaobject Protocol' has two chapters in the public domain and available online!
Chapter 5: Concepts
Chapter 6: Generic Functions and Methods
miniblog.
Related Posts
Contrasting Rust traits with C++20 concepts: https://mcla.ug/blog/cpp20-concepts-are-not-like-rust-traits.html (Rust traits are stricter, which can enable better errors)
I'm comfortable with git, and recently learned mercurial, and I've concluded: commits are the wrong abstraction.
Work-in-progress and finished work are different concepts. Rebases and even branches are for WIP. Signing is for finished work. Timestamps and authors change for WIP.
I've been writing programming language documentation for objects. It's surprisingly nuanced!
How do you introduce objects to the reader? What elements should the first example contain? What order do you introduce concepts like methods, inheritance and properties?