Comments (5)
I agree with pretty much all of this: I think we should prefer [A: Foo]
if the Foo[A]
instance is just being routed somewhere else, and (implicit xyz: Foo[A])
if method's on the xyz
instance are needed (since even with @inline
the Foo.apply
call has overhead).
As far as the names of the evidence parameter, I know @tixxit prefers (implicit A: Foo[A])
. How do folks feel about that? I often use ev
but on reflection I don't think there's really a good reason -- it seems a bit cranky. I guess I don't know showA
but unless there are multiple instances it seems verbose.
from cats.
(And yes, we do need a contributor guide that spells this out.)
from cats.
I always liked the idea to view the A
in (implicit A: Foo[A])
as the companion for the type parameter. But this is only applicable as long as you only have one instance per type parameter. In the case of two or more instances I guess I'd prefer (implicit fooA: Foo[A], barA: Bar[A])
.
from cats.
shall we close this ticket?
from cats.
Yes, I think we have reached broad agreement.
from cats.
Related Issues (20)
- Instances for Currency HOT 7
- EitherT[Option, ?, ?]] can't be used as a bifunctor HOT 5
- trait EuclidianRing should not be a Ring HOT 4
- OutOfMemoryError when IO.uncancelable is used in recursive function HOT 1
- ambiguous implicit resolution of `Show.ContravariantShow[immutable.SortedMap[K, V]]` HOT 1
- Should Monad extend Defer? HOT 11
- Support Scala Native 0.5 HOT 3
- Adding an alternative version of the method whenA with a different signature
- `Eval` thread safety HOT 4
- Optimize `distinct`/`distinctBy` implementations for non-empty collections
- [PROPOSAL] Aliases for methods `traverse_` and `sequence_` HOT 7
- Any reason `intercalate` isn't exposed directly on the `Semigroup` companion object? HOT 3
- (very breaking) change in Future instances? HOT 5
- Reveal internal but public identifiers and make them `private[cats]`
- Cats Order needs an `orElseBy` combinator HOT 8
- Loss of type safety in scala 3 under certain conditions
- Make Later covariant in its type parameter
- Ease awkward constructions when doing something before raising HOT 1
- A flaky test fired in `CokleisliSuite` on the Native Platform
- alleycats - `Extract[F[_]]` the only way to get the syntax is the deprecated one
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cats.