David Feuer
David Feuer
`MonadTransDistributive`, `MonadTest`, and `MonadGen`, at least, have no documented laws. What properties are instances supposed to satisfy?
* Use type families and an auxiliary class to make instance resolution for `SuperComposition` more robust and predictable. Fixes #265. * Make the first argument of `...` a function unconditionally,...
In GHCi: ``` ghci> :t ("b"++) ("b"++) :: [Char] -> [Char] ghci> :t ('b':) ('b':) :: [Char] -> [Char] ghci> :t (++"a") ... ("b"++) (++"a") ... ("b"++) :: [Char] ->...
`HasHeader` and `Quoting`, at least, are missing basics like `Typeable`, `Generic`, `Data`, `Show`, `Read`, `Eq`, `Ord`, and perhaps `Enum`. When adding `Ord` and `Enum` instances, I think it probably makes...
You have ```haskell newtype instance Param n (a :: Type) = StarParam { getStarParam :: a} ``` If you're willing to drop `getStarParam` (and make the constructor name a tad...
`Data.Generics.Product.Fields` forces `s field b -> t, t field a -> s` in a rather complicated way. But this fundep isn't even always desirable. For example, the `getConst` lens is...
`custom-setup`/`setup-depends` needs a lower bound for `Cabal`. `Cabal >= 1.24.1 && < 1.25` seems to work. It also needs a lower bound on `directory`. `directory >= 1.2.3.0` seems to work....
One of the trickiest things to implement well using plain GHC generics is a generic `traverse`. One of a few rather involved bags of tricks are needed to avoid extra...
`All` comes with a method to use its constraints recursively; `AllZip` does not. Presumably one of those designs is better and should be used for both.
Suppose I have ```haskell fg :: (A -> Maybe A) -> Rep B -> Rep B ``` Let's say `fg` sometimes replaces the `hello` field in a record. I can...