David Feuer

Results 296 issues of David Feuer

The usual assumption for pure data structures in Haskell is that the documented time bounds may be amortized, but that amortization must hold up under persistent use. That is not...

Two of the new methods are incompatible with newtype deriving.

* The `cotraverse` and `distribute1` methods were incompatible with `GeneralizedNewtypeDeriving`. Remove them, leaving `collect1` and `cotraverseMap1`. Use GND to derive the `Representable` instance for `Co`, which bakes in a test...

We now have ```haskell collect1 :: Functor1 w => (forall x. g x -> f x) -> w g -> f (w Identity) ``` We can generalize this immediately: ```haskell...

Whenever https://github.com/ekmett/distributive/pull/52 lands, we can and presumably should add ```haskell instance (Representable m, Monad m) => Representable (WrappedMonad m) where type Rep (WrappedMonad m) = Rep m index (WrapMonad m)...

In general, ```haskell ixSureDef :: (Representable f, Eq (Rep f)) => Rep f -> Lens' (f a) a ixSureDef i f fa = (\x' -> Rep.tabulate (\k -> if k...

```haskell defaultimap :: Representable f => (Rep f -> a -> b) -> f a -> f b defaultimap f fa = tabulate (f index fa) ``` proves that we...

```haskell instance (Biapplicative p, Monoid a) => Applicative (WrappedBifunctor p a) where pure a = WrapBifunctor (bipure mempty a) {-# inline pure #-} liftA2 f (WrapBifunctor xs) (WrapBifunctor ys) =...

`ListT` from `transformers` isn't really a monad transformer, so it seems most unlikely to be a valid `Bound` instance with the default definition.

The title pretty much says it all.