Typeclasses with several methods
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 25/100
Piste de recherche
Aucun fichier, test ou point d’entrée n’est nommé. Commencez par retracer comment le mécanisme actuel de typeclass représente et lie les implémentations, puis déterminez comment un Python Protocol comportant plusieurs méthodes, notamment la classmethod, devrait être pris en charge. Le travail est terminé lorsque la forme de Functor proposée fonctionne et que la liaison de son implémentation est définie et couverte par des tests.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
There's a common use-case when we need to create a type-class with several methods. Like:
class Functor(Protocol[T]):
def map(self, function: Callable[[T], Functor[V]]) -> Functor[V]:
...
@classmethod
def from_value(cls, inner_value: V) -> Functor[V]:
...
Currently, there's no way we can do that.
I propose something like this:
@typeclass
class Functor(Protocol[T]):
def map(self, function: Callable[[T], Functor[V]]) -> Functor[V]:
...
@classmethod
def from_value(cls, inner_value: V) -> Functor[V]:
...
I am not sure how to bound it to the actual implementation.
- Langage dominant
- Python
- Étoiles
- 730
- Forks
- 30
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de dry-python/classes
-
Difficulté 3/5 1-2 jours Accessibilité débutants 35/100
dry-python/classes#496 ·
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 45/100
dry-python/classes#494 ·
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 52/100
dry-python/classes#492 · 2 commentaires ·
-
bug
Difficulté 3/5 1-2 jours Accessibilité débutants 35/100
dry-python/classes#481 · 5 commentaires · 4 réactions ·
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 35/100
dry-python/classes#386 ·
Toutes les issues de dry-python/classes
Issues similaires
-
enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
canonical/paas-charm#368 · 1 commentaire ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
-
tech debt
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
-
addition to tracking list Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 90/100
StevenBlack/hosts#3256 ·
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 90/100
qualcomm/qai-appbuilder#275 ·