fslaborg/FSharp.Stats

[Feature Request] Module Restructuring Part 1

DoganCK opened this issue · 2 comments

As discussed with @bvenn, I'd like to make the following quality of life improvements:

  • Removal of duplicate modules (such as ContinuousDistribution module under Continuous.fs) (this is a breaking change)
  • Removal of files that are not referenced in the fsproj files (e.g. FSharp.Stats/SpecialFunctions.fs)
  • Addition of Distribution Parameters to the Distribution interfaces

Part 2 will be a discussion of alternatives to Interfaces: Abstract classes, composition, etc.

bvenn commented

@DoganCK, could you please also update the references in the documentation (e.g. here).

You can render the documentation by yourself using dotnet fsdocs watch --eval.

All the affected docs should be fixed now.

Adding parameters proved to be more complicated than anticipated. For instance, MultiVariateNormal distribution has differently typed parameters (i.e. vector and matrix) and Hypergeometric has integer and float parameters which bars us from using a Map as envisioned. This requires more thinking. This is also something we can discuss when we discuss the abstraction of distributions. So I struck that out for now.