Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>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.</p> <p>However, the May 2009 CTP has settled the issue.</p> <p>The <a href="http://blogs.msdn.com/dsyme/archive/2009/05/20/detailed-release-notes-for-the-f-may-2009-ctp-update-and-visual-studio-2010-beta1-releases.aspx" rel="noreferrer">Release Notes</a> say...</p> <p><strong>Standard Library Naming Conventions</strong></p> <blockquote> <p>The naming conventions adopted for the F# library are as follows:</p> <ul> <li><p>All .NET and F# OO code uses PascalCase according to existing .NET guidelines</p></li> <li><p>The F# functional programming operators such as List.map are for use in F# internal implementation code. This kind of code uses camelCase for operator names</p></li> <li><p>Underscores should not be used. </p></li> </ul> </blockquote> <p><strong>So, your question...</strong></p> <pre><code>Class.MyFunctionName or Module.my_function_name </code></pre> <p>The answer is </p> <blockquote> <p>Class.MyFunctionName and Module.MyFunctionName </p> </blockquote> <p>(applying rule 1 above). </p> <p>There is still some confusion by comparision with the F# programming operators (eg. List.averageBy), but production F# code should use CamelCase, and thus look like everyone else's .Net code. If in doubt, check the <a href="http://code.msdn.microsoft.com/fsharpsamples/Release/ProjectReleases.aspx?ReleaseId=2705" rel="noreferrer">sample code</a> for the CTP.</p> <p>(I personally like_the_caml_style, but I'll have to GetOverThat)</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload