M10 is out

Right before the festivities start, we’ve managed to release the next milestone of Kotlin, adding dynamic types and more. Let’s see what M10 brings us. Continue reading

Posted in General | Tagged | 15 Comments

M9 is here!

M9 has arrived and it’s bringing many new features and important changes. We’ve already highlighted these and covered others in detail. Let’s dig deeper into some of the other improvements.
Continue reading

Posted in General | Tagged | 12 Comments

Making Platform Interop even smoother

Being 100% interoperable with the JVM, and subsequently with JavaScript, has always been among Kotlin’s top priorities. With the amount of existing code, and a rich JVM ecosystem, having the ability of interoperating and leveraging these is crucial. Continue reading

Posted in Uncategorized | 21 Comments

M9 is coming

We’ve been working hard on the next upcoming release for Kotlin, M9, and it contains quite a good number of new features and some important changes. Continue reading

Posted in General | 15 Comments

Full-Day Kotlin Workshop October 6th in Malmö, Sweden

Edument_1Edument, a JetBrains Training and Consulting Partner, will be providing a full day of Kotlin hacking on Monday, October 6, 2014, in the lovely city of Malmö.

The hands-on workshop will begin by walking through the basic syntax, and work its way towards unit testing and language features such as object orientation and functional programming. In the afternoon we will consider use-cases such as writing a domain-specific language and seeing how the syntax and semantics of Kotlin help with some common problems that you may encounter in languages such as Java and C#.

Snacks and drinks will be provided during the day.

Space for this Kotlin Workshop is limited; learn more and register now

Posted in General, Uncategorized | Tagged , , , | Leave a comment

A New Open Source Web Site

We have a new web site and a new domain!

Main Page

It’s Open Source

It would make no sense to be developing a language that is Open Source and not having an Open Source web site and documentation. We worked by gradually porting all the old site from the previous platform to Jekyll. The new site is all written in Markdown (actually Kramdown, a flavour of Markdown) and hosted on GitHub. In fact, we’ve made it really easy to contribute. On nearly every page there is an Edit Page icon: Continue reading

Posted in General | Tagged | 9 Comments

M8 is out!

It’s been a really busy couple of months since the last release and we’ve been working hard on making substantial improvements, particularly in terms of speed. We have a lot of goodies for this release. Let’s get started Continue reading

Posted in General | Tagged | 24 Comments

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 is well-known for its solid libraries, particularly the ones used for concurrency and read-only data structures.

To facilitate interoperability with LISP (and Clojure libraries in particular), Kotlin now allows expressions like this one:

This is only to give you the taste. Now, let’s explain the constructs one-by-one. Continue reading

Posted in Uncategorized | 21 Comments

M7 Release Available

Kotlin M7 is here and with it some long awaited features.

Compiler and Language Changes

Inline support

One of the biggest features of M7 is support for inline functions. Kotlin encourages the use of higher-order functions (some people call this “functional style”) which entails extensive use of lambda expressions. Starting with M7, you can declare a higher-order function as “inline” which means that its body will be inlined at the call site along with any lambdas passed to it. This means that the performance penalty of using such functions is next to nothing. For instance, having a for loop as opposed to using forEach and passing a lambda will have very little difference in terms of speed.

Continue reading

Posted in General | Tagged | 21 Comments

Spek – A Specification Framework

For a while now, a few of us have been working on a project called Spek, a framework that allows you to write executable specifications. It allows you to write specifications (i.e. tests) in a more human-readable, and what’s more important, descriptive manner, without having to resort to long test names, underscores or regular expressions.

Continue reading

Posted in General | 14 Comments