Luigi Plinge
Luigi Plinge

Reputation: 51109

Scala package object vs Predef

What's the difference between something being defined in the scala package object and in Predef?

Is Predef just a relic from pre-2.8 when package objects didn't exist, or is there some other reason why we need both?

Upvotes: 6

Views: 448

Answers (1)

virtualeyes
virtualeyes

Reputation: 11237

According to the ScalaDoc,

"The Predef object provides definitions that are accessible in all Scala compilation units without explicit qualification"

So, it is not a package object itself, but acts as one in terms of providing functionality to "all Scala compilation units"

As for why the situation exists, I think you are right, looks to be a legacy issue

As for why it persists, there may continue to be limitations of package objects that prevent PreDef from being merged.

Upvotes: 4

Related Questions