Oleg Grenrus
Oleg Grenrus
It would be nice to move to `Identity`, `Const` and `Compose` in `base`. That will mean dropping support for older GHCs; but that might be ok if `1.0` is not...
`Dict` in `constraints` is a bit different (`:: Constraint -> *`). where `generics-sop`'s is `:: (k -> Constraint) -> k -> *`
@edsko are you looking for https://hackage.haskell.org/package/sop-core-0.5.0.0/docs/Data-SOP-Classes.html#t:HSequence ? ```haskell class HAp h => HSequence (h :: (k -> Type) -> l -> Type) where hctraverse' :: (AllN h c xs, Applicative...
append and split make sense for `NS` and `SOP` too: ```haskell append_NS :: Either (NS f xs) (NS f ys) -> NS f (Append xs ys) ``` And indeed, I...
Few, but only `Append` and `Concat` are non-controversial; for others one could argue whether they should defunctionalized etc. but I needed some of them to implement other ones: `liftA2 (:)`...
Side-note: I'd prefer using `type family Append` over `type family (++)`. I consider `TypeOperators` a misdesign, and we should treated `:` as an "upper-case" operator symbol. (Then using `:+:` would...
@kosmikus My logical argument is that `++` looks like a variable; my brain refuses to accept that you can not have operator-named variables in types. I understand where this syntax...
@echatav we do something like that for `hcliftA2`, though we convert `NP -> NP` and `NS -> NP` there with `HProd`. I argue that `happend` for `NP` doesn't need to...
The implication should indeed by there, but what you mean by the double fold? For example: ```haskell garbitrary :: forall a. (Generic a, All2 Arbitrary (Code a)) => Gen a...
In other words, what's the code you want to write, but you cannot? (so it can be added as a test).