Generic mapN and zipN
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 30/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Área
- backend-api-design
Línea de trabajo
Read the issue’s proposed map2–map10 and zip2–zip10 signatures, then inspect the existing zip implementation and the project’s typeclass conventions. Decide which abstraction can support the proposed generic operations and how Tuple and Tuple2 should differ; done means the API design and its supported types are agreed before implementation.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Proposing we add these mapN functions, and make them available to more than just List.
map2 :: forall a b c f. Functor f => (a -> b -> c) -> f a -> f b -> f c
map3 :: forall a b c d f. Functor f => (a -> b -> c -> d) -> f a -> f b -> f c -> f d
...
map10 ...
We can then use the mapN functions to create zipN functions:
-- This already exists, but it would be nice to offer a more generic version:
zip :: forall a b f. Functor f => f a -> f b -> Tuple a b
zip = map2 Tuple
-- Likely needed to fill the gap between the seemingly-identical
-- (but actually different) `Tuple` and nested `Tuple2`.
zip2 :: forall a b f. Functor f => f a -> f b -> f (Tuple2 a b)
zip2 = map2 Tuple2
zip3 :: forall a b c f. Functor f => f a -> f b -> f c -> f (Tuple3 a b c)
zip3 = map3 Tuple3
...
zip10 :: ...
zip10 = map10 Tuple10
We probably need a different typeclass than Functor though. What about Zippable?
A motivation for adding these functions is to get closer to Elm's usability in this area:
https://package.elm-lang.org/packages/elm/core/latest/List#map2
- Lenguaje dominante
- PureScript
- Estrellas
- 61
- Forks
- 50
- Merge medio
- 2 d 6 h
- PR fusionados (30 d)
- 1
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Sin 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 purescript/purescript-lists
-
ZipList is BindAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
purescript/purescript-lists#219 · 1 comentario · 1 reacción ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 48/100
purescript/purescript-lists#218 ·
-
Data.List.NonEmpty.intersect and Data.List.NonEmpty.intersectBy throw when intersection emptyPosiblemente ocupada @evaogbe la tomó hace 1066 días. Abiertogood first issue type: bug
Dificultad 4/5 3-5 días Aptitud para principiantes 1/100
purescript/purescript-lists#216 · 2 comentarios ·
-
type: enhancement
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
purescript/purescript-lists#197 · 1 comentario ·
-
type: enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 24/100
purescript/purescript-lists#194 · 5 comentarios ·
Todos los issues de purescript/purescript-lists
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
remove the use of `forget`Abiertogood first issue help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 80/100
Los mantenedores suelen responder en 1 día
-
bug good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
milind-soni/OpenMausBot#5829 ·
Los mantenedores suelen responder en 1 día