Files
kotlin-fork/libraries/stdlib/src/Module.md
T

194 lines
6.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.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 kotlin.time
Experimental API for representing [Duration][kotlin.time.Duration] values and measuring time intervals.
# 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/).