# Module stdlib ## Kotlin Standard Library The Kotlin Standard Library provides living essentials for everyday work with Kotlin. These include: - Higher-order functions implementing idiomatic patterns ([let][kotlin.let], [apply][kotlin.apply], [use][kotlin.io.use], [synchronized][kotlin.synchronized], etc). - Extension functions providing querying operations for collections (eager) and sequences (lazy). - Various utilities for working with strings and char sequences. - Extensions for JDK classes making it convenient to work with files, IO, and threading. # Package kotlin Core functions and types, available on all supported platforms. # Package kotlin.annotation Library support for the Kotlin annotation facility. # Package kotlin.browser Access to top-level properties (`document`, `window` etc.) in the browser environment. # Package kotlin.collections Collection types, such as [Iterable][kotlin.collections.Iterable], [Collection][kotlin.collections.Collection], [List][kotlin.collections.List], [Set][kotlin.collections.Set], [Map][kotlin.collections.Map] and related top-level and extension functions. # Package kotlin.comparisons Helper functions for creating [Comparator][java.util.Comparator] instances. # Package kotlin.concurrent Utility functions for concurrent programming. # Package kotlin.contracts Experimental DSL for declaring custom function contracts. # Package kotlin.coroutines Basic primitives for creating and suspending coroutines: [Continuation][kotlin.coroutines.Continuation], [CoroutineContext][kotlin.coroutines.CoroutineContext] interfaces, coroutine creation and suspension top-level functions. # Package kotlin.coroutines.intrinsics Low-level building blocks for libraries that provide coroutine-based APIs. # Package kotlin.coroutines.experimental Deprecated support for experimental coroutines, provided for compatibility. It's recommended to migrate to `kotlin.coroutines` API. # Package kotlin.coroutines.experimental.intrinsics Deprecated support for experimental coroutines, provided for compatibility. It's recommended to migrate to `kotlin.coroutines.intrinsics` API. # Package kotlin.dom Utility functions for working with the browser DOM. # Package kotlin.experimental Experimental APIs, subject to change in future versions of Kotlin. # Package kotlin.io IO API for working with files and streams. # Package kotlin.js Functions and other APIs specific to the JavaScript platform. # Package kotlin.jvm Functions and annotations specific to the Java platform. # Package kotlin.math Mathematical functions and constants. The functions include trigonometric, hyperbolic, exponentiation and power, logarithmic, rounding, sign and absolute value. # Package kotlin.properties Standard implementations of delegates for [delegated properties](/docs/reference/delegated-properties.html) and helper functions for implementing custom delegates. # Package kotlin.random Provides the default generator of pseudo-random values, the repeatable generator, and a base class for other RNG implementations. # Package kotlin.ranges [Ranges](/docs/reference/ranges.html), Progressions and related top-level and extension functions. # Package kotlin.reflect Runtime API for [Kotlin reflection](/docs/reference/reflection.html) # Package kotlin.reflect.full Extensions for [Kotlin reflection](/docs/reference/reflection.html) provided by `kotlin-reflect` library. # Package kotlin.reflect.jvm Runtime API for interoperability between [Kotlin reflection](/docs/reference/reflection.html) and Java reflection provided by `kotlin-reflect` library. # Package kotlin.sequences [Sequence][kotlin.sequences.Sequence] type that represents lazily evaluated collections. Top-level functions for instantiating sequences and extension functions for sequences. ## Classification of sequences The sequence operations can be classified into the following groups regarding their state requirements: - _stateless_ – operations which require no state and process each element independently like [kotlin.sequences.Sequence.map], [kotlin.sequences.Sequence.filter], or require a small constant amount of state to process an element, for example [kotlin.sequences.Sequence.take] or [kotlin.sequences.Sequence.drop]; - _stateful_ – operations which require a significant amount of state, usually proportional to the number of elements in a sequence. If the sequence operation returns another sequence, which is produced lazily, it's called _intermediate_, and otherwise the operation is _terminal_. Examples of terminal operations are [kotlin.sequences.Sequence.toList], [kotlin.sequences.Sequence.max]. Sequences can be iterated multiple times, however some sequence implementations might constrain themselves to be iterated only once. That is mentioned specifically in their documentation (e.g. [kotlin.sequences.generateSequence] overload). The latter sequences throw an exception on an attempt to iterate them the second time. # Package kotlin.streams Utility functions for working with Java 8 [streams](https://docs.oracle.com/javase/8/docs/api/java/util/stream/package-summary.html). # Package kotlin.system System-related utility functions. # Package kotlin.test Functions for writing test assertions. # Package kotlin.text Functions for working with text and regular expressions. # Package org.khronos.webgl Kotlin JavaScript wrappers for the WebGL API. # Package org.w3c.dom Kotlin JavaScript wrappers for the DOM API. # Package org.w3c.dom.css Kotlin JavaScript wrappers for the DOM CSS API. # Package org.w3c.dom.events Kotlin JavaScript wrappers for the DOM events API. # Package org.w3c.dom.parsing Kotlin JavaScript wrappers for the DOM parsing API. # Package org.w3c.dom.svg Kotlin JavaScript wrappers for the DOM SVG API. # Package org.w3c.dom.url Kotlin JavaScript wrappers for the DOM URL API. # Package org.w3c.fetch Kotlin JavaScript wrappers for the [W3C fetch API](https://fetch.spec.whatwg.org). # Package org.w3c.files Kotlin JavaScript wrappers for the [W3C file API](https://www.w3.org/TR/FileAPI/). # Package org.w3c.notifications Kotlin JavaScript wrappers for the [Web Notifications API](https://www.w3.org/TR/notifications/). # Package org.w3c.performance Kotlin JavaScript wrappers for the [Navigation Timing API](https://www.w3.org/TR/navigation-timing/). # Package org.w3c.workers Kotlin JavaScript wrappers for the [Web Workers API](https://www.w3.org/TR/workers/). # Package org.w3c.xhr Kotlin JavaScript wrappers for the [XMLHttpRequest API](https://www.w3.org/TR/XMLHttpRequest/).