I occasionally see people debate whether important functions should occur first, or helper functions first.
I've not seen it enforced though. It's hard to programmatically enforce.
OCaml takes a side: you have to put helper functions first!
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.