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
Go has an elegant approach to defining example functions, which are shown in docs as `main()` with the output:
I still find it weird that constructors aren't first class functions in OCaml.
`id Just` is legal in Haskell, but `id Some` is an error in OCaml.
Are there any advantages of the OCaml approach?
Watching https://youtu.be/KWB-gDVuy_I and I'm struck by how weird constructors are as an API.
* They promote total functions, making it hard to do validation.
* They're hard to split up, because they have special access to unfinished data.
* They're like a framework: you get called.