This is the documentation for the Scala standard library. == Package structure == The [[scala]] package contains core types. [[scala.collection `scala.collection`]] and its subpackages contain a collections framework with higher-order functions for manipulation. Both [[scala.collection.immutable `scala.collection.immutable`]] and [[scala.collection.mutable `scala.collection.mutable`]] data structures are available, with immutable as the default. The [[scala.collection.parallel `scala.collection.parallel`]] collections provide automatic parallel operation. Other important packages include: - [[scala.actors `scala.actors`]] - Concurrency framework inspired by Erlang. - [[scala.io `scala.io`]] - Input and output. - [[scala.math `scala.math`]] - Basic math functions and additional numeric types. - [[scala.sys `scala.sys`]] - Interaction with other processes and the operating system. - [[scala.util.matching `scala.util.matching`]] - Pattern matching in text using regular expressions. - [[scala.util.parsing.combinator `scala.util.parsing.combinator`]] - Composable combinators for parsing. - [[scala.xml `scala.xml`]] - XML parsing, manipulation, and serialization. Many other packages exist. See the complete list on the left. == Automatic imports == Identifiers in the scala package and the [[scala.Predef `scala.Predef`]] object are always in scope by default. Some of these identifiers are type aliases provided as shortcuts to commonly used classes. For example, `List` is an alias for [[scala.collection.immutable.List `scala.collection.immutable.List`]]. Other aliases refer to classes provided by the underlying platform. For example, on the JVM, `String` is an alias for `java.lang.String`.