Компиляторы Kotlin / JVM и Kotlin / Native совместно используют внешний интерфейс (часть, которая выполняет синтаксический анализ кода, разрешение имен, вывод типов и т. Д.), Но внутренние компоненты компилятора, которые переводят внутреннее представление программы в целевой код(байт-код JVM и бит-код LLVM соответственно) различаются.
Язык Kotlin, принятый двумя компиляторами, одинаков, но некоторые функции и проверки зависят от платформы.Кроме того, стандартные библиотеки для Kotlin / JVM и Kotlin / Native достаточно разные, см. API, доступные для каждой платформы, здесь: Стандартная библиотека Kotlin .
Еще одно большое отличие - модель памяти:Kotlin / JVM использует модель памяти Java, в то время как Kotlin / Native предлагает свою собственную модель параллелизма и памяти .