Type aliases in version 1.1 enable developers to define an alternative name for a type. This is useful for generic types, such as collections, and for function types. Bound callable references in the beta, meanwhile, allow use of the
: : operator to access a member reference that points to a method or property of a specific object instance. This previously was reserved for lambdas.
Compiler plugins are featured to make classes open by default, generation of no-arg constructors, also by default, and extending SAM (single abstract method) conversions. Also, some restrictions on sealed and data classes were removed; developers now can define subclasses of a sealed subclass in the same file and not only as nested classes of the sealed class. Data classes can extend other classes and be used to define a hierarchy of expressions “nicely and cleanly,” JetBrains said. Verson 1.1 deprecates the name
mod that was used for the % operator and replaces it with the name
ram, which is semantically correct and agrees with libraries like java.math.BigInteger.
Kotlin joined the fray on the JVM early in the decade. Recently, it has taken hold on the Tiobe language popularity index, reaching the top 100 on that list. It was ranked 87th this month. Kotlin 1.1 is expected to reach a general-release stage this quarter.