Size: a a a

Scala User Group

2021 September 02

AT

Aleksei Teryokhin in Scala User Group
Вжух и сразу пятница!
источник

K-

Konstantin - in Scala User Group
Нене выбрасывать целые сутки я не осилю😱
источник

ΛВ

Λнтон Войцишевский... in Scala User Group
да
источник

S

Saitama in Scala User Group
тут был кто-то знаток котлина и корутин.
вопрос про котлин-скала интероп:
есть функция suspend fun foo(kek): Bar в котлине.
вызываю в скале её Service.foo(kek)

получаю ошибку компиляции
Unspecified value parameter kotlin.coroutines.Continuation

как кушать такое?
источник

SA

Sergey Alaev in Scala User Group
Стараться не вызывать саспенды из скалы, это больно. Нужно писать переходник на котлине и передавать ему Executor
источник

S

Saitama in Scala User Group
куда глядеть на такое?
источник

KL

Kamiλ Liberal-free in Scala User Group
а вот и интероп подъехал
источник

SA

Sergey Alaev in Scala User Group
пишешь синхронный метод, возвращающий CompletableFuture, а внутри исполняешь корутину на экзекуторе
источник

λ

λoλcat in Scala User Group
Суспенд функция это сахар над деферредами
источник

VK

Vladyslav Kopaniev in Scala User Group
котлин обернет все что после вызова твоей суспенд функции в континуейшн и передаст сам в эту функцию, а скала компайлер так не умеет - тебе надо ему сказать
источник

VK

Vladyslav Kopaniev in Scala User Group
грубо говоря
источник

SP

Sergey Postument in Scala User Group
делаю небольшую jar либку на scala 2.13
пользоватся ей будут из джави. проблем там не будет?)
источник

SA

Sergey Alaev in Scala User Group
Будут, если там уже есть либка на scala 2.12. И в скале специфичный енкодинг объектов и методов, так что нужно уметь делать совместимый с джавой API
источник

SP

Sergey Postument in Scala User Group
там пока ничего нету. те кто будут консюмить либу - будут стартовать с нуля на джаве
источник

SP

Sergey Postument in Scala User Group
тоесть проблема ожидается только если в жава проекте уже есть scala_2.12 либки и потом добавить еще 2.13 ?
источник

SP

Sergey Postument in Scala User Group
ну либка очень маленькая, из одного класса и нескольких методов
источник

SA

Sergey Alaev in Scala User Group
Любые две разные мажорные версии рантайма в одном classpath
источник

SP

Sergey Postument in Scala User Group
спасибо, тогда проблем не должно быть. если это будет единственная скала либка у консюмера
источник

AD

Apache DOG™ in Scala User Group
Костыльное решение - блокирующе подождать выполнения в каком-то неблокирующем месте
источник

S

Saitama in Scala User Group
BuildersKt.async(
     GlobalScope.INSTANCE,
     EmptyCoroutineContext,
     CoroutineStart.DEFAULT,
call suspend fun)

какие подводные?
источник