Author Archives: Andrey Breslav

About Andrey Breslav

Andrey is the lead language designer of Kotlin at JetBrains.

Improving Java Interop: Top-Level Functions and Properties

Kotlin has had top-level functions and properties from day one. They are very convenient in many cases: from basic utilities to extensions for standard APIs. But Kotlin code is not the only client, and today I’m going to explain how … Continue reading

Posted in Language design | 18 Comments

Better Annotation Processing: Supporting Stubs in kapt

We announced kapt, an Annotation Processing Tool for Kotlin, some time ago, and discussed its limitations. Now most of the limitations are going away with the updated version of kapt that is available as a 0.1-SNAPSHOT preview.

Posted in Android, Libraries, Tools | 18 Comments

Fibers and Actors in Kotlin with Quasar

In the previous post we mentioned that the Quasar library now supports Kotlin, providing awesome support for fibers (lightweight threads), Go-like channels, Erlang-like actors, and other asynchronous tools. Our friends from Parallel Universe have published a blog post that dives … Continue reading

Posted in Libraries | 2 Comments

Kotlin M12 is out!

We are happy to present Kotlin M12, bringing some rather important changes and new features: New syntax for annotations and enums More convenient semantics of function types Better smart casts kapt for Java Annotation Processing support Multiple IDE features and … Continue reading

Posted in Releases | 47 Comments

kapt: Annotation Processing for Kotlin

This post is largely outdated. Please check out Better Annotation Processing: Supporting Stubs in kapt As there have been many requests to support Java Annotation Processing, we are working on it, and first results are ready for preview. This is … Continue reading

Posted in Android, Tools | 21 Comments

Advanced Features of Anko

Last week we published a new version of Anko. While the main purpose of this library is creating layouts though a DSL, even the users of XML layouts can benefit from it. Today we are going to talk about such … Continue reading

Posted in Android | 3 Comments

Anko 0.6 is Released

Today we are glad to present the new version of Anko — a library which facilitates Android application development. We are happy to have received lots of feedback, and some of the changes in 0.6 were actually proposed by the … Continue reading

Posted in Android | 15 Comments

Try Kotlin in Your Browser: New Look and More Features

We released Kotlin Web Demo quite a while ago, it did a good job helping people try Kotlin right in the browser and share runnable code with each other. Now, a shiny new version is ready, it’s time to retire … Continue reading

Posted in Tools | 16 Comments

Upcoming Change: More Null-safety for Java

Our battle for combining null-safety and Java interop has been a long one already: we started off treating all Java reference types as nullable, and it was too inconvenient; then we employed external annotations to specify nullability, created KAnnotator, but … Continue reading

Posted in Language design | Comments Off

Upcoming Change: Function Types Reform

Kotlin M12 will likely bring another change that is crucial for implementing a useful reflection library for Kotlin. In short, we are going to unify FunctionX and ExtensionFunctionX to be represented in the same way at runtime, but it will … Continue reading

Posted in Language design | 11 Comments