fsharp / fsharp.github.io

F# Core Engineering Group
http://fsharp.github.io
45 stars 53 forks source link

Consider reviewing/updating F# library guidelines for 2019 #97

Open dsyme opened 5 years ago

dsyme commented 5 years ago

The F# library guidelines from 2014 have served us fairly well. However they almost certainly now need updating to reflect changes and maturing of the F# ecosystem.

Discuss here.

cc @cartermp

dsyme commented 5 years ago

cc #96

cartermp commented 5 years ago

Seems like this should mention FSharp.Core as follows (simplified):

Unless you only want consumers of your library to be on the latest supported toolset, you will need to specify an explicit reference to FSharpCore:

<PacakgeReference Update="FSharp.Core" Version="..."/>

The version you choose should be based on the minimum F# language version you want to support. The minimum FSharp.Core version for each language version is listed below:

Minimum F# language version Minimum FSharp.Core version
F# 4.1 4.3.4
F# 4.5 4.5.2
F# 4.6 4.6.2
F# 4.7 4.7.0

This tradeoff - features vs. reach - is an essential decision to make as a library author.

dsyme commented 4 years ago

@cartermp We should consider moving some of the material in http://fsharp.github.io/2014/09/19/fsharp-libraries.htmlacross into the Microsoft docs?

cartermp commented 4 years ago

We can, yeah. There is already a library author guidance guide here: https://docs.microsoft.com/en-us/dotnet/standard/library-guidance/

So the F# docs would not be a bad choice.