superruzafa / visual-scala-reference

Visual Scala Reference
https://superruzafa.github.io/visual-scala-reference
269 stars 28 forks source link

Add a notice for simplification about Collection.someMethod #5

Open exoego opened 5 years ago

exoego commented 5 years ago

There are some entries for methods defined in object like Collection.concat and Collection.empty.

I think it might be confusing for new-comers since there is no Collection object actually. In reality, such methods are defined not inCollection but in the specific collection objects, e.g. List.concat or Set.empty.

I first imagined that each signatures have a note like

object COLLECTION {
  def empty[A]: COLLECTION[A]
}
// COLLECTION could be actual collection type, like List or Set.

but this is not ideal since the signatures requires translations. So I would suggest to add

For methods in trait, such simplification is fine, I think !!

superruzafa commented 5 years ago

I found using Collection object as the best way to express" the companion object of the trait Collection, where Collection means any class that behaves like that. It's complicated to keep the balance between being realistic and keeping things easy.

Anyway I agree with you that some kind of explanation need to be added.