Size: a a a

Kotlin Community

2020 December 11

AN

Alexander Nozik in Kotlin Community
Валерий Маевский
Тогда получается, что этот managed runtime не может нормально пользоваться структурами из сишных библиотек
А можно все-таки пример? Берете реф, зачищаете его, когда он вам не нужен. Вы же хотите не просто обращаться к нативным библиотекам, но и как-то автоматически менеджить время жизни ссылок. Вы понимаете, что там себе можно отстрелить все, что только можно?
источник

AN

Alexander Nozik in Kotlin Community
Мне вот интересно, у вас есть конкретный пример, где это нужно?
источник

SB

Sergey Bezrukov in Kotlin Community
Валерий Маевский
Тогда получается, что этот managed runtime не может нормально пользоваться структурами из сишных библиотек
А зачем ими вообще пользоваться
источник

ВМ

Валерий Маевский... in Kotlin Community
Например, использование нативной длинной арифметики
источник

ВМ

Валерий Маевский... in Kotlin Community
В JVM есть BigInteger
В JS числа и так длинные
Непонятно, зачем тащить свою реализацию во все платформы/только нативную, если нативно уже всё написано
источник

AN

Alexander Nozik in Kotlin Community
Валерий Маевский
Например, использование нативной длинной арифметики
Хорошо, пример засчитывается. Правда я бы сказал, что просто любое выражение заворачивается в memScoped. И все. Это плата за безопасность. Я кстати не знаю, что будет с CPointer после того, как он зачистится GC
источник

AN

Alexander Nozik in Kotlin Community
Валерий Маевский
В JVM есть BigInteger
В JS числа и так длинные
Непонятно, зачем тащить свою реализацию во все платформы/только нативную, если нативно уже всё написано
Ну конкретно для этого уже есть реализации, которые не уступают платформным. Но в принципе я вижу поинт.
источник

ВМ

Валерий Маевский... in Kotlin Community
Собственно вопрос был про "позволить объектам, реализующим некоторый специфичный для KN интерфейс вызвать метод перед очисткой"
С refcount это вроде ± безопасно, но с полноценным GC беды те же, что и на jvm
источник

AN

Alexander Nozik in Kotlin Community
Возможно есть уже что-то авто-очищающееся. Можно спросить в @kotlin_native. Я не настолько глубоко влезал в cinterop/
источник

ВМ

Валерий Маевский... in Kotlin Community
О, спасибо, не увидел чат в списке из описания
источник

AN

Alexander Nozik in Kotlin Community
Валерий Маевский
О, спасибо, не увидел чат в списке из описания
Но лучше сразу в англоязычный слак, там существенно больше людей
источник

IP

Iaroslav Postovalov in Kotlin Community
Валерий Маевский
Собственно вопрос был про "позволить объектам, реализующим некоторый специфичный для KN интерфейс вызвать метод перед очисткой"
С refcount это вроде ± безопасно, но с полноценным GC беды те же, что и на jvm
ну есть два нормальных варианта
источник

IP

Iaroslav Postovalov in Kotlin Community
1. принимаешь DeferScope, добавляешь туда свою очистку, затем используешь объект в контексте memScoped
2. fun close(): Unit
источник

IP

Iaroslav Postovalov in Kotlin Community
и use(...) {}
источник

ВМ

Валерий Маевский... in Kotlin Community
2. Закрывать числа не очень удобно с use,  да и на других платформах это будет бессмысленным noop
1. Defer удалит всё только при выходе с memScoped (при этом ссылка на объект может как пережить скоуп, так и наоборот, умереть задолго до, что приведёт к бессмысленной трате памяти)
источник
2020 December 12

AN

Alexander Nozik in Kotlin Community
Была бы интересная опция для ктора - генерировать StyleSheet в коде, сервить его и использовать стили в kotlinx-html при respondHtml. Надо будет при  случае какому-нибудь студенту поручить
источник

VN

Viktor Noskin in Kotlin Community
Alexander Nozik
Была бы интересная опция для ктора - генерировать StyleSheet в коде, сервить его и использовать стили в kotlinx-html при respondHtml. Надо будет при  случае какому-нибудь студенту поручить
Если сделаете такое - маякните) А то я сделал костыль - отдельный маппинг /styles.css  который просто написанный css на котлине строкой отдает, а в kotlnx-html подключаю его и у всех элементов классы прописываю которые описаны в стилях.
источник

AN

Alexander Nozik in Kotlin Community
Viktor Noskin
Если сделаете такое - маякните) А то я сделал костыль - отдельный маппинг /styles.css  который просто написанный css на котлине строкой отдает, а в kotlnx-html подключаю его и у всех элементов классы прописываю которые описаны в стилях.
Так примерно так и надо. Генерится стайлшит как в styled. Дальше он сервится в static. А для html тэгов делатеся экстеншен, который из стайлшита выцепляет имя стиля. Вроде работы на пару часов. Просто сейчас какой-то дикий аврал по трем проектам сразу.
источник

Э

Эд in Kotlin Community
Не совсем понятно, почему kotlin/js нужен и какие бенефиты он даёт
источник

I

Ilmir in Kotlin Community
Эд
Не совсем понятно, почему kotlin/js нужен и какие бенефиты он даёт
Для шаринга кода, как пример. Бекенд на котлине, а фронтенд - на K/JS. Общие части - на common котлине.
источник