Getting rid of `Data.Monoid.DecidablyEmpty`
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
Direzione di ricerca
Start by reading Data.Monoid.DecidablyEmpty and comparing its API with Data.Monoid.Null from monoid-subclasses. Check the dependent-map instance and then follow the listed migration steps: update the alias and deprecations, remove the old module, and release the affected packages.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
There's a comment at the top of Data.Monoid.DecidablyEmpty which reads: -- TODO upstream somwhere else?
That "somewhere else" already exists: Data.Monoid.Null from monoid-subclasses.
I had a look at the instances it provides, and it is missing the following ones:
instance MonoidNull a => MonoidNull (Identity a)
instance MonoidNull a => MonoidNull (WrappedMonoid a)
instance (Ord a, Bounded a) => MonoidNull (Max a)
instance (Ord a, Bounded a) => MonoidNull (Min a)
instance MonoidNull (Proxy a)
instance MonoidNull a => MonoidNull (Const a b)
instance MonoidNull a => MonoidNull (Down a)
instance MonoidNull p => MonoidNull (Par 1 p)
instance MonoidNull (U1 p)
instance MonoidNull (f p) => MonoidNull (Rec1 f p)
instance MonoidNull (f p) => MonoidNull (M1 i c f p)
instance MonoidNull c => MonoidNull (K1 i c p)
instance (MonoidNull (f p), MonoidNull (g p)) => MonoidNull ((f :*: g) p)
instance (MonoidNull (f p), MonoidNull (g p)) => MonoidNull ((f :.: g) p)
instance (...) => MonoidNull (a, b, c, d, e)
-- Should go to dependent-map
instance GCompare k => MonoidNull (DMap k v)
This would solve #42 but is too much work to hold up GHC 9.2 support. Tasks, as I see them:
- Add the missing instances to
monoid-subclassesand release - Add the missing instance to
dependent-mapand release - Replace
Data.Monoid.DecidablyEmpty.DecidablyEmptywith type alias, setisEmpty = Data.Monoid.Null.null, deprecate both, and release - Remove deprecated
Data.Monoid.DecidablyEmpty.
None of this seems particularly controversial. We might want monoid-subclasses anyway because of #37. It's quite a light package, so depending on it from dependent-map shouldn't be a problem either.
- Lingua principale
- Haskell
- Stelle
- 17
- Fork
- 16
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Apri la 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 reflex-frp/patch
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
reflex-frp/patch#65 ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
reflex-frp/patch#52 ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 18/100
reflex-frp/patch#37 · 9 commenti ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
reflex-frp/patch#11 · 1 reazione ·
-
Use Group from elsewhere Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 15/100
reflex-frp/patch#4 · 15 commenti ·
Tutte le issue di reflex-frp/patch
Issue simili
-
docs
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
-
needs triage type: bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
doclayout-0.6 Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
commercialhaskell/stackage#8126 ·