Is there an “official” naming / casing convention for F#?
I’m always in doubt of using C# style or not:
Class.MyFunctionName or Module.my_function_name
In F# you’re meant to mix BCL classes and F# library ones: they have different casing and the code looks very ugly.
Yes, there is confusion, because F# has morphed from OCaml to .Net over the years. Basically, the naming conventions are a "breaking change" – old code is inconsistent with new code.
However, the May 2009 CTP has settled the issue.
The Release Notes say…
Standard Library Naming Conventions
So, your question…
The answer is
(applying rule 1 above).
— Edit. Nov 2, 2019 —
The current guidelines recommend camelCase for functions at module level, so it’s
Which then makes production code consistent with the F# libraries (eg. List.averageBy)