Typeclasses with several methods
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
Direzione di ricerca
Non vengono nominati file, test o punti di ingresso. Inizia tracciando il modo in cui l’attuale meccanismo di typeclass rappresenta e associa le implementazioni, quindi determina come dovrebbe essere supportato un Python Protocol con diversi metodi, incluso il classmethod. Il lavoro è completato quando la forma di Functor proposta funziona e l’associazione della relativa implementazione è definita e coperta dai test.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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.
- Lingua principale
- Python
- Stelle
- 730
- Fork
- 30
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di dry-python/classes
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
dry-python/classes#496 ·
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 45/100
dry-python/classes#494 ·
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 52/100
dry-python/classes#492 · 2 commenti ·
-
bug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
dry-python/classes#481 · 5 commenti · 4 reazioni ·
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 35/100
dry-python/classes#386 ·
Tutte le issue di dry-python/classes
Issue simili
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
canonical/paas-charm#368 · 1 commento ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
tech debt
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
addition to tracking list Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
StevenBlack/hosts#3256 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
qualcomm/qai-appbuilder#275 ·