`second`/`right` derived from `first`/`left`
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 28/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Área
- backend
Línea de trabajo
The issue asks whether Strong and Choice can derive second and right from first and left, and whether PureScript’s lack of default type class implementations explains the current design. Start by reading the Strong and Choice definitions and their implementations; the issue names no files or tests. Done means establishing the design reason and whether changing the class definitions is viable.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Is there any reason why Strong/Choice require second/right and not instead derive them from first/left?
secondBasedOnFirst :: forall p a b c. Strong p => p a b -> p (Tuple c a) (Tuple c b)
-- equivalent to `second`?
secondBasedOnFirst = dimap swap swap <<< first
where
swap :: forall x y. Tuple x y -> Tuple y x
swap (Tuple a b) = Tuple b a
rightBasedOnLeft :: forall p a b c. Choice p => p a b -> p (Either c a) (Either c b)
-- equivalent to `right`?
rightBasedOnLeft = dimap flip flip <<< left
where
flip :: forall x y. Either x y -> Either y x
flip (Left a) = Right a
flip (Right b) = Left b
Is this only because of lack of default type class member implementations feature in PureScript or is there any other reason?
- Lenguaje dominante
- PureScript
- Estrellas
- 34
- Forks
- 13
- Merge medio
- 3 d 10 min
- 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-profunctor
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
-
Add `Mux` and `Demux`Abiertostatus: needs more info
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
purescript/purescript-profunctor#32 · 1 comentario ·
-
Add Choice CostarAbiertotype: enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
Todos los issues de purescript/purescript-profunctor
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