Secondo lo scaladoc,
"L'oggetto Predef
fornisce le definizioni che sono accessibili in tutte le unità di compilazione Scala senza qualificazione esplicita"
Quindi, non è un oggetto del pacchetto stesso, ma agisce come uno in termini di fornire funzionalità a "tutte le unità di compilazione Scala"
Per quanto riguarda il motivo per cui la situazione esiste, penso che tu abbia ragione, sembra essere un legacy issue
Per quanto riguarda il motivo per cui persiste, può continuare ad essere limitations of package objects che impediscono PREDEF di essere uniti.
Mi chiedo se ci sono esempi concreti di cose in Predef che non potevano andare nell'oggetto del pacchetto scala –
Predef può funzionare molto bene come oggetto pacchetto, ma ci deve essere un motivo per cui gli sviluppatori di nucleo Scala hanno scelto di mantenere Predef come oggetto non-pacchetto se questo è il caso. Un indizio in Predef è: "scala'package' // per forzare l'oggetto del pacchetto scala da vedere". Deve esserci un "import Predef._" fornito dal compilatore che ci fornisce funzionalità che altrimenti non sarebbero state predef di un oggetto pacchetto. Comunque, scommetto che il gruppo di utenti di scala-lang sarebbe stato in grado di far luce sul problema ... – virtualeyes