Use Ord by default for all set-like operations

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

Personne n'a encore pris cette issue.

  • #203 par @JordanMartinez — fermée sans fusion

Évaluation

Difficulté
5/5
Temps estimé
Plus d'une semaine
Accessibilité débutants
25/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
À l'abandon
Domaine
backend

Piste de recherche

The issue names union, intersect, and difference, and points to #91 and #56 for prior decisions and behavior. Read those discussions and the existing implementations and tests for these functions to understand their current semantics and the proposed Ord default. Done means the intended complexity and duplicate behavior are agreed on and covered by tests; the long discussion and prior pull request show this work may need maintainer direction.

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

Description

purs-0.15 status: blocked type: breaking change

We already made nub use Ord by default in #91, but there are a few other unnecessarily quadratic functions in this library still which probably deserve the same treatment. I think these are union, intersect, and difference.

As well as being quadratic, union and difference have a strange-seeming behaviour where duplicates are only preserved in the first argument:

union [0, 0] [1, 1] == [0, 0, 1]

See #56 for more info. We ought to be careful about changing this behaviour but I think we should consider it, since I think it’s very likely to trip people up and we will be making breaking changes to these functions anyway if we do this.

Langage dominant
PureScript
Étoiles
58
Forks
70
Merge moyen
2 j 22 h
PR mergées (30 j)
1

Préparer son environnement

  • Aucun Dockerfile ni fichier Docker Compose
  • Propose un modèle de pull request
  • Aucun guide de contribution

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 purescript/purescript-arrays

Toutes les issues de purescript/purescript-arrays

Issues similaires

Plus d'issues Backend & API Design

Recevez les nouvelles issues par e-mail

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