Author Archives: Andrey Breslav

About Andrey Breslav

Andrey is the lead language designer working on Project Kotlin at JetBrains. He also works on making the Java language better, serving as a Java Community Process expert in a group for JSR-335 ("Project Lambda"), and occasionally speak at software conferences such as Devoxx or JavaOne.

Kotlin gets support for S-expressions

Kotlin is always happy to learn from other programming languages, and this is why we decided to support S-expressions, the empowering concept of LISP. The main motivation behind this is the compatibility with Clojure, the LISP for the JVM. Clojure … Continue reading

Posted in Uncategorized | 9 Comments

Mixed-Site Variance in Kotlin

Type systems… We all know they are cool. In a static language, like Kotlin, the type system is the one responsible for early detection of errors. Many tools (e.g. an IDE with its refactoring abilities) also rely on the type … Continue reading

Posted in General, Language design | Tagged | 16 Comments

“Static constants” in Kotlin

Kotlin is designed so that there’s no such thing as a “static member” in a class. If you have a function in a class, it can only be called on instances of this class. If you need something that is not … Continue reading

Posted in General, Language design | Tagged | 7 Comments

Type-Safe Web with Kotlin

We told you about Kara Web Framework a while ago. It is written in Kotlin and relies on type-safe builders. It doesn’t have to be the only web framework for Kotlin, but the general principles seem good, so I wrote … Continue reading

Posted in General | 1 Comment

Talk @ GeekOUT Tallinn: Language Design Trade-Offs (Kotlin and Beyond)

This week I’m speaking at GeekOUT Tallin, and my colleagues Mikhail Vink and Sergey Karashevich are holding a 15-minute DEMO on Thursday, telling you about cool stuff in JetBrains’ IDEs. The topic of my talk is “Language Design Trade-Offs (Kotlin … Continue reading

Posted in General | 1 Comment

Kotlin M5.3: IntelliJ IDEA 13, Delegated Properties and more

Kotlin M5.3 brings support for IntelliJ IDEA 13 and some new features for you to check out. We are moving towards powerful runtime support, including reflection and other framework-enabling features. This milestone marks our first steps in that direction.

Posted in General | Tagged | 28 Comments

Kotlin M5.2: IntelliJ IDEA 12.1 and Gradle

Another update of Kotlin comes out today. Welcome Kotlin M5.2. 

Posted in General | Tagged | 7 Comments

The Dot Operator

Point-free style is a big trend in modern functional programming: it allows to manipulate functions without mentioning their arguments which makes the code concise and compositional. Here is an example from Wikipedia:

This function, written in Haskell, composes a … Continue reading

Posted in General | Tagged | 18 Comments

KAnnotator 0.1 is out

We announced KAnnotator back in December: it helps you against NPEs in Java and makes your Kotlin code nicer. Today we are pleased to announce a KAnnotator Plugin for IntelliJ, version 0.1. It is available from the plugin repository.

Posted in General | Tagged | 13 Comments

Kotlin M5.1

There have been enough little improvements since Kotlin M5 so that we are rolling them out as M5.1 today. Some of them are not so little in fact, like enabling the use of Scala libraries, such as Akka. This post … Continue reading

Posted in General | Tagged | 2 Comments