"It is better to have 100 functions operate on one data structure than 10 functions on 10 data structures." — Alan Perlis
I'm still not sure I agree with this: explicit data types are often nice. Following this maxim leads to pervasive lists or hash maps.
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.