one PQueue datatype with type parameter for priority order
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Haskell
- Sterne
- 17
- Forks
- 12
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
Currently you define MaxPQueue as wrapper around MinPQueue. I would prefer a general PQueue data type with a type parameter that chooses between the Min and Max variant.
That would save the wrapper code in Data.PQueue.Max and code duplication in custom utility functions.
I think it can still be Haskell 98 with definitions like these:
class Dir dir where dirCompare :: (Ord a) => dir -> a -> a -> Ordering
data Min = Min; instance Dir Min where dirCompare Min = compare
data Max = Max; instance Dir Max where dirCompare Max = flip compare
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit der Überprüfung des vorhandenen MaxPQueue-Wrappers in Data.PQueue.Max und der im Issue erwähnten benutzerdefinierten Utility-Funktionen. Vergleiche ihr Verhalten mit dem vorgeschlagenen parametrisierten PQueue-Design; als abgeschlossen gilt dies, wenn das Verhalten von Min und Max erhalten bleibt, der Wrapper und die duplizierten Utilities jedoch nicht mehr benötigt werden.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- haskell
- Bereich
- data
- Issue-Typ
- Refactoring
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 25/100