Add method to help with strict containers
- Lingua principale
- Haskell
- Stelle
- 45
- Fork
- 31
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
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.
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
Inizia esaminando l’interfaccia NFData e l’istanza Set proposta, quindi analizza come vengono attualmente attraversati i contenitori strict. L’issue non indica file né test; per considerarla completata sarebbe necessario definire il nome e la semantica del metodo, aggiungere il supporto NFData pertinente e dimostrare che vengono evitati gli attraversamenti non necessari.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- haskell
- Ambito
- performance
- Tipo di issue
- Funzionalità
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100