Optimizing negations
Open
- Dominant language
- Haskell
- Stars
- 45
- Forks
- 31
- PR merge metrics
- No merged PRs in 30d
Description
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"
```
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.