There seems to be a trend towards value-oriented programming languages. Even established statement-oriented languages are moving: Hack added ==> for values with anonymous functions, JS has fat arrows and now do syntax too.
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.