Kind-Polymorphism and `Show`
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- 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 discusses adding KindShow and a Show (Proxy a) instance in Type.Proxy; start by reading that module and the linked typelevel-peano example. Decide whether kind-level values can be shown through this API and what instance constraints would be needed. Done means the approach is settled and the issue has a concrete implementation scope.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
As of 0.14, the Proxy-Zoo should get reduced to just one: Proxy. This means that creating type-class instances for proxied values is no longer possible (as far as I know)
For example in typelevel-peano (https://github.com/csicar/purescript-typelevel-peano/pull/4/files#diff-7de00383917fea851d52cc5de4f18f87329b6b3f4e2819a8ebcbf9d8c0d85a80R47) I had a Show-Instance for typelevel Ints, that would print the value representation:
>>> instance showNat :: Show (IProxy a) where show = reflectInt
>>> show (IProxy :: IProxy N10)
10
I think it would be nice to have the same functionality for Proxy as well:
-- In Type.Proxy
class KindShow a where
kindShow :: Proxy a -> String
instance showkindShow :: (KindShow a) => Show (Proxy a) where
show a = kindShow a
---- In client
data Int
reflectInt = ...
instance show :: KindShow Int where
kindShow p = reflectInt p
Does that make sense? Is there an easier way?
- Lenguaje dominante
- PureScript
- Estrellas
- 168
- Forks
- 90
- Merge medio
- 3 d 1 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-prelude
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 57/100
purescript/purescript-prelude#317 · 1 reacción ·
-
Int bottom is not safeAbierto
Dificultad 3/5 1-2 días Aptitud para principiantes 32/100
purescript/purescript-prelude#312 · 5 comentarios ·
-
add liftCompare & friendsAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
purescript/purescript-prelude#310 · 5 comentarios ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 24/100
purescript/purescript-prelude#308 · 2 comentarios ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
purescript/purescript-prelude#307 · 1 comentario · 1 reacción ·
Todos los issues de purescript/purescript-prelude
Issues similares
-
ManageSieve proxy: a backend's NO/BYE greeting is skipped as a capability line and reported as EOFAbiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
Mend: dependency security vulnerability
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
ManageIQ/manageiq-pods#1476 ·
Los mantenedores suelen responder en 1 día
-
mcp: typed tool handlers lose wrapped JSON-RPC errorsQuizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
modelcontextprotocol/go-sdk#1529 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
FinanceFlash/unvibecode#818 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100