Impossible to create an instance of the Costrong class

Aperta
#46 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
25/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Ambito
backend

Direzione di ricerca

Start by reading the Costrong class and its unfirst method; the issue gives no file or test paths, so locate them in the repository. Compare the strict definition with the proposed Lazy constraint and consider the naming or library scope raised in the issue. Done means establishing whether the proposed approach is viable and agreeing on the API direction.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

The reason that Function and other types cannot be an instance of Costrong is that PureScript is a strict evaluation.

unfirst :: forall a b c. p (Tuple a c) (Tuple b c) -> p a b

That is, when we want to loop over c, it is impossible to set the initial value of c

How to modify it may be debatable, but I found the following solution

unfirstLazy :: forall a b c. Lazy c => p (Tuple a c) (Tuple b c) -> p a b
unfirstLazy f a = fst $ f $ Tuple a $ go
  where
  go = snd $ f $ Tuple a $ defer \_ -> go

Also, since this is not "Co" Strong, it might be better to name the class differently, for example CostrongLazy, or create a new library.

Thanks to natefaubion for sharing this issue on PureScript discord server.

Lingua principale
PureScript
Stelle
34
Fork
13
Merge medio
3g 10m
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

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di purescript/purescript-profunctor

Tutte le issue di purescript/purescript-profunctor

Issue simili

Altre issue su Backend & API Design

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.