haskell / haskell/deepseq

Optimizing negations

Aperta
#89 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
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

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.