Optimizing negations
- Lingua principale
- Haskell
- Stelle
- 45
- Fork
- 31
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
If we have `f :: b -> Void` and `g :: a -> b`, we can get `f . g :: a -> Void`. But if we do this recursively, we'll get closures of increasing size. Would it make sense to offer something like this?
```haskell
compNeg :: NFData a => (b -> Void) -> (a -> b) -> a -> Void
compNeg _ _ a = a `deepseq` error "Weird NFData instance or something"
```
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
Non sono identificati alcun file sorgente, test o punto di ingresso. Inizia individuando le API esistenti per la composizione e la valutazione approfondita, quindi determina se un’API nello stile di compNeg debba appartenere all’interfaccia pubblica; per considerare il lavoro completato sarebbe necessario un design concordato che eviti la preoccupazione relativa alla crescita delle closure e che ne verifichi il comportamento con dei test.
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
- Da chiarire
- Idoneità per principianti
- 25/100