Typeclasses with several methods
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
Línea de trabajo
No se nombran archivos, pruebas ni puntos de entrada. Empieza por rastrear cómo el mecanismo actual de typeclass representa y vincula las implementaciones, y después determina cómo debería admitirse un Python Protocol con varios métodos, incluido el classmethod. Se considera terminado cuando la forma de Functor propuesta funciona y su vinculación de implementación está definida y cubierta por pruebas.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- Python
- Estrellas
- 730
- Forks
- 30
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de dry-python/classes
-
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
dry-python/classes#496 ·
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 45/100
dry-python/classes#494 ·
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 52/100
dry-python/classes#492 · 2 comentarios ·
-
bug
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
dry-python/classes#481 · 5 comentarios · 4 reacciones ·
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 35/100
dry-python/classes#386 ·
Todos los issues de dry-python/classes
Issues similares
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
canonical/paas-charm#368 · 1 comentario ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
tech debt
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
addition to tracking list Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
StevenBlack/hosts#3256 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
qualcomm/qai-appbuilder#275 ·