Currying error on the wrong side
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 20/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Stack tecnológico
- fsharp
- Área
- developer-experience
Línea de trabajo
Revisa la función either existente y la API de bifoldables; después, lee la discusión enlazada del lenguaje F# sobre Async.Catch y las convenciones de Result. Se considera terminado cuando se haya alcanzado una decisión para todo el proyecto sobre el orden de los argumentos de error/valor y se haya determinado si las funciones afectadas deben intercambiarse antes de v1.1.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
This story tracks back to the first release of F# where the function Async.Catch was added, using the type on the left for the "right" value.
This in a type system with HKT support is the wrong decision, as we're interested in currying types, then we want to have the good value on the rightmost position.
Now, in F# land we don't have real HKTs so that's not a technical restriction, just theorotical at the moment.
So, people started adopting it, then the new Result type landed in F# and guess what? They did it again. Left type for the right type.
Now, people is asking for some Result functions added to F# core. This is when the problem becomes a real problem, because here we're not talking about types, we're talking about actual values.
For values, it's fair to think that's also convenient to curry on the good one. See this comment from @kspeakman https://github.com/fsharp/fslang-suggestions/issues/526#issuecomment-393539604
Now the problem is we still don't know what would be the standard for F# it's probably a bit early. Here in F#+ we did the either function with the error on the right, we can change it in V2 but now we're about to ship bifoldables, so the question is do we want to swap the functions? If the answer is yes, we can still do it for v1.1 but not later.
- Lenguaje dominante
- F#
- Estrellas
- 942
- Forks
- 105
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
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 fsprojects/FSharpPlus
-
F# Compiler Bug
Dificultad 5/5 Más de una semana Aptitud para principiantes 12/100
fsprojects/FSharpPlus#685 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
fsprojects/FSharpPlus#684 ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
fsprojects/FSharpPlus#683 · 1 comentario · 2 reacciones ·
-
bug
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
fsprojects/FSharpPlus#678 ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
fsprojects/FSharpPlus#644 ·
Todos los issues de fsprojects/FSharpPlus
Issues similares
-
docs: the dev-setup table and AGENTS.md name the reviewed_by guard that CI's Changelog job runsAbiertoarea: tools documentation good first issue ready for a contributor
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
eyalgolan/statecraft-israel#873 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
git-workflow task-4
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 87/100
777genius/agent-notifications#490 ·
Los mantenedores suelen responder en 1 día
-
web / desktop client: model tooltip shows "No reasoning" for models that expose reasoning variantsAbiertopending close triaging
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
anomalyco/opencode#56317 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
enhancement needs triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
elastic/docs-builder#4495 ·
Los mantenedores suelen responder en 1 día