# Kotlin 1.3

**URL:** <https://discuss.kotlinlang.org/t/kotlin-1-3/7090>\
**Category:** Language Design\
**Created:** [March 18, 2018, 7:28am UTC](https://discuss.kotlinlang.org/t/kotlin-1-3/7090 "2018-03-18T07:28:50Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![user1](https://avatars.discourse-cdn.com/v4/letter/u/5daacb/32.png) [@user1](https://discuss.kotlinlang.org/u/user1)\
**Post date:** [March 18, 2018, 7:28am UTC](https://discuss.kotlinlang.org/t/kotlin-1-3/7090/1 "2018-03-18T07:28:50Z")

</div>

Is there any public roadmap for Kotlin 1.3?

I’m particularly interested in collection literals.

---

<div class="post-metadata">

**Author:** ![medium](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.kotlinlang.org/medium/32/10404_2.png) [@medium](https://discuss.kotlinlang.org/u/medium)\
**Post date:** [March 19, 2018, 8:10pm UTC](https://discuss.kotlinlang.org/t/kotlin-1-3/7090/2 "2018-03-19T20:10:49Z")

</div>

Since I had the same interested in the past (and today), I suggest to put a “roadmap” link on the homepage. The roadmap itself could link KEEP issues.

---

<div class="post-metadata">

**Author:** ![user1](https://avatars.discourse-cdn.com/v4/letter/u/5daacb/32.png) [@user1](https://discuss.kotlinlang.org/u/user1)\
**Post date:** [March 20, 2018, 7:46am UTC](https://discuss.kotlinlang.org/t/kotlin-1-3/7090/3 "2018-03-20T07:46:36Z")

</div>

Nothing in [GitHub - Kotlin/KEEP: Kotlin Evolution and Enhancement Process](https://github.com/Kotlin/KEEP) for collection literals. Does that mean they’re not expected any time soon?

---

<div class="post-metadata">

**Author:** ![jpliska](https://avatars.discourse-cdn.com/v4/letter/j/e274bd/32.png) [@jpliska](https://discuss.kotlinlang.org/u/jpliska)\
**Post date:** [March 23, 2018, 2:21am UTC](https://discuss.kotlinlang.org/t/kotlin-1-3/7090/4 "2018-03-23T02:21:21Z")

</div>

Collection literals are not such a great idea. For an explanation:

> **[Oracle Drops Collection Literals in JDK 8](http://techalpine.com/oracle-drops-collection-literals-in-jdk-8/)**
>
> Oracle Drops Collection Literals in JDK 8

---

<div class="post-metadata">

**Author:** ![user1](https://avatars.discourse-cdn.com/v4/letter/u/5daacb/32.png) [@user1](https://discuss.kotlinlang.org/u/user1)\
**Post date:** [March 25, 2018, 10:35am UTC](https://discuss.kotlinlang.org/t/kotlin-1-3/7090/5 "2018-03-25T10:35:46Z")

</div>

That just means they couldn’t come up with a good solution. Ideally there would be a combination of compiler and library support, as was done for coroutines.

There have been a few suggestions of how to do this already, including some from JetBrains engineers. The general idea is that `{ ... }`, with an inferred or declared type, will trigger the compiler to find a method with a specific name and signature which can create that type.

---

<div class="post-metadata">

**Author:** ![kasim-rangwala](https://avatars.discourse-cdn.com/v4/letter/k/9e8a1a/32.png) [@kasim-rangwala](https://discuss.kotlinlang.org/u/kasim-rangwala)\
**Post date:** [March 26, 2018, 5:02pm UTC](https://discuss.kotlinlang.org/t/kotlin-1-3/7090/6 "2018-03-26T17:02:36Z")

</div>

Why do you need Collection Literals? There’s a standerd functions like `mapOf()`, `listOf()` & `setOf()` and much more to get things done.

---

<div class="post-metadata">

**Author:** ![user1](https://avatars.discourse-cdn.com/v4/letter/u/5daacb/32.png) [@user1](https://discuss.kotlinlang.org/u/user1)\
**Post date:** [March 26, 2018, 5:35pm UTC](https://discuss.kotlinlang.org/t/kotlin-1-3/7090/7 "2018-03-26T17:35:16Z")

</div>

`{1:a, 2:b, 3:c, 4:d, 5:e, 6:f, 7:g}`  
vs  
`mapOf(1 to a, 2 to b, 3 to c, 4 to d, 5 to e, 6 to f, 7 to g)`

is much cleaner, particularly in DSLs. Groovy Gradle scripts containing maps are a good example, they become very ugly when translated into Kotlin script.

---

<div class="post-metadata">

**Author:** ![medium](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.kotlinlang.org/medium/32/10404_2.png) [@medium](https://discuss.kotlinlang.org/u/medium)\
**Post date:** [March 28, 2018, 7:23am UTC](https://discuss.kotlinlang.org/t/kotlin-1-3/7090/8 "2018-03-28T07:23:08Z")

</div>

From my point of view an “association” operator (like `:` in your example) would be sufficient. I consider the library approach to be more clean from a platform perspective.

```
mapOf(1:a, 2:b, 3:c, 4:d, 5:e, 6:f, 7:g)

```

---

<div class="post-metadata">

**Author:** ![fatjoe79](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.kotlinlang.org/fatjoe79/32/4221_2.png) [@fatjoe79](https://discuss.kotlinlang.org/u/fatjoe79)\
**Post date:** [April 8, 2018, 4:09am UTC](https://discuss.kotlinlang.org/t/kotlin-1-3/7090/9 "2018-04-08T04:09:08Z")

</div>

I think the biggest pain point are DSLs. Having collection literals would open up very nice possibilities in DSLs. Gradle scripts are a good benchmark.

---

<div class="post-metadata">

**Author:** ![BenLeggiero](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.kotlinlang.org/benleggiero/32/2306_2.png) [@BenLeggiero](https://discuss.kotlinlang.org/u/BenLeggiero)\
**Post date:** [May 22, 2018, 12:56am UTC](https://discuss.kotlinlang.org/t/kotlin-1-3/7090/10 "2018-05-22T00:56:58Z")

</div>

KEEP for Collection Literals: [Collection Literals · Issue #113 · Kotlin/KEEP · GitHub](https://github.com/Kotlin/KEEP/issues/113)

---

<div class="post-metadata">

**Author:** ![sam.zhou](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.kotlinlang.org/sam.zhou/32/4922_2.png) [@sam.zhou](https://discuss.kotlinlang.org/u/sam.zhou)\
**Post date:** [June 25, 2018, 4:12pm UTC](https://discuss.kotlinlang.org/t/kotlin-1-3/7090/11 "2018-06-25T16:12:07Z")

</div>

What’s the current status of 1.3? I see a new branch 1.3-M1 on Kotlin’s repository. Looks like they are planning to introduce [unsigned types](https://github.com/JetBrains/kotlin/commit/7421780609ca681d28fcf551e6ec7fff38dbd6ba). Is there any tentative roadmap?

---

<div class="post-metadata">

**Author:** ![reitzig](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.kotlinlang.org/reitzig/32/6970_2.png) [@reitzig](https://discuss.kotlinlang.org/u/reitzig)\
**Post date:** [June 26, 2018, 8:03am UTC](https://discuss.kotlinlang.org/t/kotlin-1-3/7090/12 "2018-06-26T08:03:26Z")

</div>

Funny. Working with collections in Java is traditionally a huge PITA.

---

<div class="post-metadata">

**Author:** ![HughG](https://avatars.discourse-cdn.com/v4/letter/h/35a633/32.png) [@HughG](https://discuss.kotlinlang.org/u/HughG)\
**Post date:** [December 8, 2020, 2:03pm UTC](https://discuss.kotlinlang.org/t/kotlin-1-3/7090/13 "2020-12-08T14:03:45Z")

</div>

A proposal for collection literals which is an alternative to the one from @BenLeggiero, at [Simple collection literals by HughG · Pull Request #229 · Kotlin/KEEP · GitHub](https://github.com/Kotlin/KEEP/pull/229), with discussion at [Simple Collection Literals · Issue #230 · Kotlin/KEEP · GitHub](https://github.com/Kotlin/KEEP/issues/230). I hatched this idea ages ago, before I read your proposal, Ben, but I got some useful inspiration from it, so thanks for that. I’m approaching it in a somewhat different way.
