- My Tweets
-
-
Recent Posts
-
Archives
- December 2016
- November 2016
- October 2016
- September 2016
- August 2016
- July 2016
- June 2016
- May 2016
- April 2016
- March 2016
- February 2016
- January 2016
- December 2015
- November 2015
- October 2015
- September 2015
- August 2015
- June 2015
- May 2015
- April 2015
- March 2015
- January 2015
- December 2014
- October 2014
- August 2014
- July 2014
- April 2014
- March 2014
- February 2014
- December 2013
- November 2013
- October 2013
- August 2013
- June 2013
- April 2013
- March 2013
- February 2013
- January 2013
- December 2012
- November 2012
- October 2012
- September 2012
- June 2012
- April 2012
- March 2012
- February 2012
- January 2012
- November 2011
- October 2011
- September 2011
- August 2011
- July 2011
Categories
Meta
Category Archives: Language design
Call for Feedback: Java Statics, Result Expressions and More
Thank you all for the feedback we got on the previous call! Here comes another round of changes and adjustments. Your opinions and use cases are welcome.
Posted in Language design
58 Comments
Call for Feedback: Upcoming Changes in Kotlin
As mentioned before, we are wrapping up with the language design, and this post is a head-up for the upcoming changes + request for your feedback.
Posted in Language design
91 Comments
Feedback Request: Limitations on Data Classes
While M13 is approaching, we are planning a little ahead. This is a request for feedback on some future changes in Kotlin. We want to deliver Kotlin 1.0 rather sooner than later, and this makes us postpone some design choices … Continue reading
Posted in Language design
47 Comments
Modifiers vs Annotations
This is another heads-up and a call for feedback. We have been discussing options regarding Kotlin’s annotation syntax for quite some time already, rolling out experiments, gathering feedback. As we are finalizing the language now, many pain points that we … Continue reading
Posted in Language design
44 Comments
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
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 on Upcoming Change: More Null-safety for Java
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:
|
1 2 3 4 5 6 |
enum class Message(val str: String) { ERROR : Message("This is an error") WARNING : Message("This is a friendly warning") DEBUG : Message("Ignore this") } |
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:
|
1 2 3 |
[Inject] fun setFoo(foo: Foo) { ... } |
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