Sí, hay confusión, ya que F # se ha transformado de OCaml a .NET largo de los años. Básicamente, las convenciones de nomenclatura son un "cambio de ruptura": el código anterior no es coherente con el código nuevo.
Sin embargo, el CTP de mayo de 2009 resolvió el problema.
El Release Notes dicen ...
biblioteca estándar de Convenciones de nomenclatura
Las convenciones de nomenclatura adoptadas para la biblioteca # F son los siguientes:
Todo .NET y C# El código OO usa PascalCase de acuerdo con las directrices .NET existentes
Los operadores de programación funcional F # como List.map son para usar en el código de implementación interna F #. Este tipo de código utiliza camelCase para los nombres de operador
No se deben usar los calificadores inferiores.
Por lo tanto, su pregunta ...
Class.MyFunctionName or Module.my_function_name
La respuesta es
clase.MyFunctionName y Module.MyFunctionName
(aplicando la regla 1 anterior).
Todavía hay algo de confusión al compararlo con los operadores de programación F # (por ejemplo, List.averageBy), pero el código de producción F # debe usar CamelCase, y así parecerse al código .Net de todos los demás. En caso de duda, verifique el sample code para el CTP.
(personalmente like_the_caml_style, pero voy a tener que GetOverThat)
Actualización: en la versión más reciente, las funciones to_type se han eliminado a favor de toType – Benjol
Gracias. Para hacerlo simple, eliminé el texto que los menciona. –