Author Archives: Andrey Breslav

About Andrey Breslav

Andrey is the lead language designer of Kotlin at JetBrains.

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

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 the call for early feedback.

Posted in Android, Tools | 20 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 | Leave a comment

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

More changes: Enum Syntax, Another Deprecation and More

Enum Syntax Currently the syntax for enums with non-trivial constructors is kind of monstrous:

Posted in Language design | 59 Comments

More Deprecations Coming

There are two more items on the language cleanup list: backing-field syntax and static type assertion operator.

Posted in Language design | 19 Comments

Upcoming Change: Syntax For Annotations

Kotlin’s syntax for annotations was inspired by C#, which surrounds them with square brackets:

But brackets are precious for a language designer, and we would really like to use them later for something else, so we are considering changing … Continue reading

Posted in Language design | 29 Comments