Kind-Polymorphism and `Show`
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 28/100
- Tipo de issue
- Funcionalidade
- Clareza
- Razoavelmente clara
- Status de atividade
- Estagnada
- Domínio
- backend
Direção de pesquisa
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.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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?
- Linguagem predominante
- PureScript
- Estrelas
- 168
- Forks
- 90
- Merge médio
- 3d 1h
- PRs com merge (30d)
- 1
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Sem guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de purescript/purescript-prelude
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 57/100
purescript/purescript-prelude#317 · 1 reação ·
-
Int bottom is not safeAberta
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 32/100
purescript/purescript-prelude#312 · 5 comentários ·
-
add liftCompare & friendsAberta
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
purescript/purescript-prelude#310 · 5 comentários ·
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 24/100
purescript/purescript-prelude#308 · 2 comentários ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 35/100
purescript/purescript-prelude#307 · 1 comentário · 1 reação ·
Todas as issues de purescript/purescript-prelude
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
ROCm/rocm-libraries#15866 ·
Mantenedores costumam responder em até 2 dias
-
お問い合わせのメール送信に失敗しても成功と表示されるAbertaarea: web
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
inabagumi/shinju-date#6823 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
-
ManageSieve proxy: a backend's NO/BYE greeting is skipped as a capability line and reported as EOFAbertabug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 82/100
dmtrKovalenko/odiff#191 ·