fslaborg / fslaborg/FSharp.Stats
[Feature Request] Update all comments according to XML documentation styling
- Dominant language
- F#
- Stars
- 227
- Forks
- 58
- Avg merge
- 55m
- Merged PRs (30d)
- 1
Description
### Description
Documenting your code with XML documentation has the huge benefit of a structured preview and concise description in the automated API reference:
### Current triple slash documentation
```fsharp
/// This function takes a collection of x values performs a log transform
let myFunction (xData: seq) = xData |> Seq.map log
```
### Improved XML documentation
```fsharp
/// This function takes a collection of x values performs a log transform
/// Note, that the log of 0 is -infinity
/// collection of values to be transformed
/// A collection of log transformed values
///
///
/// // e.g. abundance data for ABC
/// let xData = vector [|1.;2.;3.;4.;5.;6.|]
///
/// // Apply the log transform to the xData
/// myFunction xData
///
///
let myFunction (xData: seq) = xData |> Seq.map log
```
### References
- See [this](https://fslab.org/FSharp.Stats/reference/fsharp-stats-interpolationmodule-cubicspline.html) examples
- do not use < or > within the comments, use HTML code instead (`>` for > and `<` for <)
- For further xml tags see: https://learn.microsoft.com/en-us/dotnet/fsharp/language-reference/xml-documentation
- suggested workflow
- search for a module that isn't worked on yet
- go from top to bottom and extend the documentation at any point you can see (modules, types, members, functions)
- try identify and write meaningful code examples within the xml comments
- build the repository yourself and check if the comments work as intended when hovering over the functions/modules...
Hints (click to expand if you need additional pointers)
- To be able to contribute to this library you'll need
- an GitHub account
- an IDE like Visual Studio Community or Visual Studio Code
- [dotnet 6 sdk](https://dotnet.microsoft.com/en-us/download)
- to build the binaries yourself follow the [instructions](https://fslab.org/FSharp.Stats/#Installation)
- while working on the [FSharp.Stats documentation](https://fslab.org/FSharp.Stats/) (any file within https://github.com/fslaborg/FSharp.Stats/tree/developer/docs) you can navigate to the project folder with a prompt of your choice and use the command `./build watchdocs`
- unit tests can be executed via `./build runtests`
## Progress
- [ ] Random
- [ ] Intervals
- [ ] Permutation
- [ ] RunningStats
- [ ] Seq
- [ ] **Array**
- [ ] **List**
- [ ] Map
- [ ] **JaggedArray**
- [ ] Vector
- [ ] Rowvector
- [ ] Matrix
- [ ] **Rank**
- [ ] Correlation
- [ ] **DistanceMetrics**
- [ ] **Quantile**
- [ ] Precision
- [ ] Geometry
- [ ] SpecialFunctions
- [ ] ...
- [ ] Algebra
- [ ] ...
- [ ] RootFinding
- [ ] ...
- [ ] Integration
- [ ] ...
- [ ] Optimization
- [ ] ...
- [x] Interpolation
- [x] Polynomial
- [x] LinearSpline
- [x] Akima
- [x] CubicSpline
- [x] Interpolation
- [x] Approximation
- [ ] Signal
- [x] Normalization
- [] QQPlot
- [ ] **Padding** [guide](https://fslab.org/FSharp.Stats/Signal.html#Padding)
- [x] Binning
- [ ] FFT
- [ ] Wavelet
- [ ] ContinuousWavelet
- [ ] **Outliers**
- [ ] Baseline
- [ ] **Filtering** <- domain knowledge required
- [ ] Convolution
- [ ] PeakDetection
- [ ] Distributions
- [ ] **every member of each distribution**
- [ ] **Bandwidth**
- [ ] **Frequency**
- [ ] Testing
- [ ] **TTest**
- [ ] Fitting
- [x] LinearRegression
- [x] OLS
- [x] Linear
- [x] Univariable
- [x] Multivariable
- [ ] RidgeRegression
- [x] Polynomial
- [x] RobustRegression
- [ ] CrossValidation
- [ ] NonLinearRegression
- [ ] GoodnessOfFit
- [ ] LogisticRegression
- [ ] Spline
- [ ] ML
- [ ] ...
- [ ] **ConfidenceInterval**
Contributor guide
Assessment
This issue has not been assessed yet.