Split Semiring into Semiring and Dioid

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

Personne n'a encore pris cette issue.

Évaluation

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

Piste de recherche

The proposal concerns the Semiring type class in purescript-prelude; start by reading its current definition and the five comments on this issue. The discussion asks whether to move zero and one into Dioid, but does not settle the design or name affected files. Done would require a decided design and agreement on how the breaking change and biproduct generalization should work.

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

Description

From @mikesol in Discord:

Would it make sense to revamp Semiring so that it had only the operators add and mul and then use Dioid for zero and one? There is some precedent for that: https://en.m.wikipedia.org/wiki/Semiring. It would create a nice symmetry between semigroup/monoid/group and semiring/dioid/ring. It'd be a breaking change for folks using zero and one, but otherwise I think it wouldn't be too disruptive. Also, it would allow for the generalization of semiring to an analogous biproduct class, which now isn't possible because zero and one necessarily leave out all but one of the types in the biproduct or biCCC class. Thoughts?

Langage dominant
PureScript
Étoiles
168
Forks
90
Merge moyen
3 j 1 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-prelude

Toutes les issues de purescript/purescript-prelude

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.