Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Inaccurate/misleading description of max in operators module (wrt. NaN comparison)

Ouverte
#82 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
38/100
Type d'issue
Documentation
Clarté
Plutôt claire
Activité
À l'abandon
Domaine
documentation

Piste de recherche

Examinez les entrées de documentation générées pour max et compare liées dans l’issue, puis reproduisez les exemples de NaN présentés afin de confirmer le comportement. Déterminez si l’écart est attendu ; le travail est terminé lorsque la documentation explique correctement le comportement de NaN de max ou qu’il est démontré que l’issue est un bug nécessitant une correction séparée.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Not sure if this is an error in documentation or purposeful omission, or perhaps a bug in fsharp.

Here max is described as

Maximum based on generic comparison

And here compare is described as

Generic comparison.

However, even though they kind of boil down to the same thing in implementation for most types, they do not specifically for floating point numbers. Moreover, if one defines a max function with compare, for example like this:

let max2 x y = if compare x y < 0 then y else x

Then max2 behaves differently than max with respect to NaN, e.g.:

> max2 1. nan;;
val it: float = 1.0

> max2 nan 1.;;
val it: float = 1.0

whereas

> max nan 1.;;
val it: float = nan

> max 1. nan;;
val it: float = nan

If this discrepancy in behavior is expected, then perhaps it should be documented?

Langage dominant
Aucune donnée de langage
Étoiles
37
Forks
20
Merge moyen
5 min
PR mergées (30 j)
2

Préparer son environnement

Nous n'avons pas encore vérifié les fichiers d'installation de ce projet. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de fsharp/fsharp-core-docs

Toutes les issues de fsharp/fsharp-core-docs

Issues similaires

Plus d'issues Documentation

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.