Add method to help with strict containers
- Vorherrschende Sprache
- Haskell
- Sterne
- 45
- Forks
- 31
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
I propose an `NFData` method (by some name)
```haskell
whnfIsNf :: proxy a -> Bool
whnfIsNf _ = False
```
Then we can have, for example,
```haskell
instance NFData Integer where
whnfIsNf _ = True
instance NFData a => NFData (Set a) where
whnfIsNf _ = whnfIsNf (Proxy :: Proxy a)
rnf
| whnfIsNf (Proxy :: Proxy a)
= \ !_ -> ()
| otherwise
= ....
```
This can avoid a bunch of unnecessary traversals.
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Rechercherichtung
Beginne mit der Durchsicht des NFData-Interfaces und der vorgeschlagenen Set-Instanz und untersuche anschließend, wie strikte Container derzeit durchlaufen werden. Der Issue nennt keine Dateien oder Tests; für die Fertigstellung müssten der Methodenname und die Semantik festgelegt, die relevante NFData-Unterstützung hinzugefügt und gezeigt werden, dass unnötige Durchläufe vermieden werden.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- haskell
- Bereich
- performance
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100