Ross A. Baker

Results 574 comments of Ross A. Baker

I spoke with @dj707chen about this. I think the basic tradeoff here is: - This is reinventing things that epimetheus core already does, specifically having properly sized custom labels. -...

This was a [20th Century W3C recommendation](https://www.w3.org/TR/1999/REC-html401-19991224/appendix/notes.html#h-B.2.2) that quietly disappeared sometime around 2014. The http4s default behavior is arguably obsolete, but would be dangerous to change. I don't see why...

I haven't tried it, but I'm studying the fire escapes. The part of the manual process that looks most troublesome to me is: > Retrieve the token ($PLCTOKEN) from email,...

`Functor` won't cut it, because the ["ask adds no effects" law](https://github.com/typelevel/cats-mtl/blob/bf3e63754c627acd8c260dfefa508c0e005bf5a6/laws/src/main/scala/cats/mtl/laws/AskLaws.scala#L34) needs `Apply`. Not many types have `Apply` and not `Applicative`. `Map[K, *]` is one. This _might_ work (uncompiled, untested):...

> ```scala > def ask = Map.empty.withDefault(identity) > ``` A simpler definition that compiles is based on an empty map: ```scala implicit def askForMap[K, E]: Ask[Map[K, *], E] = new...

This abstraction has certainly proven itself useful in otel4s, and again in this new case. Because cats-mtl is on the classpath _everywhere_ now, it's important we get this right. I'm...

This is allowed in our current lawlessness: ```scala def silly[F[_], G[_]](f: F ~> G): KindTransformer[F, G] = new KindTransformer[F, G] { val liftK: F ~> G = f def limitedMapK[A](ga:...

> I have no objection to it being in cats "proper". Some historical points why `FunctorK` didn't make the cut. I don't know how many of those apply here. >...

I suppose that depends on the definition of "good". - It abstracts over enough to be useful to derive instances of multiple type classes. - `Applicative[F]` is enough for all...