Kind-Polymorphism and `Show`
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 28/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Ambito
- backend
Direzione di ricerca
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.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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?
- Lingua principale
- PureScript
- Stelle
- 168
- Fork
- 90
- Merge medio
- 3g 1h
- PR unite (30g)
- 1
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di purescript/purescript-prelude
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 57/100
purescript/purescript-prelude#317 · 1 reazione ·
-
Int bottom is not safeAperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 32/100
purescript/purescript-prelude#312 · 5 commenti ·
-
add liftCompare & friendsAperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
purescript/purescript-prelude#310 · 5 commenti ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 24/100
purescript/purescript-prelude#308 · 2 commenti ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
purescript/purescript-prelude#307 · 1 commento · 1 reazione ·
Tutte le issue di purescript/purescript-prelude
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
-
ManageSieve proxy: a backend's NO/BYE greeting is skipped as a capability line and reported as EOFApertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
Mend: dependency security vulnerability
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
-
Mend: dependency security vulnerability
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
ManageIQ/manageiq-pods#1476 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
prime-radiant-inc/evener#6366 ·
I maintainer di solito rispondono entro 1 giorno