Hey Bilge,
I'm not usually a resident of these discussions, but it seems like this RFC is heading into a wrong direction. Let me explain: as it currently stands, static properties and methods live separately from instance properties and methods. That means a couple of limitations, namely: a static class member can never implement an interface's contract, and hence a static class could never be used as an instance; static class members have a separate reflection API; static class members cannot have expression initializers; there's no static constructor; and so on. Adding
static classes
would not solve any of the above issues, and they would still be barely useful.
To counter these issues, Kotlin has a concept of
data objects
: <
https://kotlinlang.org/docs/object-declarations.html#data-objects>.
Hi Alex,
If you wish to implement data objects, what part of the current proposal precludes you from doing so?
Cheers,
Bilge