I believe Kotlin lacks ternary conditional operator because it was impossible to get it into the grammar at the point the language was designed. For example, colon :
was used to do static type assertion:
val c = someList: Collection // now c is Collection<T>
That syntax was removed before 1.0, but I’m not sure is there any syntactical obstacles left for ternary conditional operator.