Size: a a a

Scala User Group

2021 February 28

Α

Αγβεκ in Scala User Group
Λнтон Войцишевский
дак ты ж выше сам писал, что надо все врапить в деферФутуре, вот это и есть доп пляски
ну это было до
val transact: DBIO ~> F =
 funK(dbio => deferFuture( _ => postgresDatabase.run(dbio.transactionally)))
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Aλexander Semenov
val transact: DBIO ~> F =
 funK(dbio => deferFuture( _ => postgresDatabase.run(dbio.transactionally)))

value transactionally is not a member of slick.dbio.DBIO[stabilizer$1.Arbitrary]
       funK(dbio => deferFuture( _ => postgresDatabase.run(dbio.transactionally)))


Не компилится что-то
а импорт свой сделали?
источник

Oℕ

Oleg ℕizhnik in Scala User Group
schema...api._
источник

AS

Aλexander Semenov in Scala User Group
Oleg ℕizhnik
а импорт свой сделали?
Имхо, new ~> проще и читаемее, и не надо магических импортов из Тофу. В целом шо то шо это норм. Это же вайринг.
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Не понимаю, это всё равно, что обычные лямбды через new писать
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Как раз более сложно и менее читаемо
источник

Oℕ

Oleg ℕizhnik in Scala User Group
И магии больше, и компилируется дольше и в рантайме хуже работает
источник

AS

Aλexander Semenov in Scala User Group
Тут не понял, почему хуже в рантайме?
источник

Α

Αγβεκ in Scala User Group
Oleg ℕizhnik
Как раз более сложно и менее читаемо
тут главное барьер тофу пройти - станет проще
до этого не имел дело c funK вот и кажется непонятным
источник

AS

Aλexander Semenov in Scala User Group
new знают все, а вот импорт из тофу...
источник

AS

Aλexander Semenov in Scala User Group
конечно, если Тофу уже стало частью языка, как лябмды, то я согласен :)
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Aλexander Semenov
Тут не понял, почему хуже в рантайме?
Лямбда, которая не захватыавет никакой контекст, судя по докам, не будет аллоцироваться каждый раз,
источник

AS

Aλexander Semenov in Scala User Group
Oleg ℕizhnik
Лямбда, которая не захватыавет никакой контекст, судя по докам, не будет аллоцироваться каждый раз,
Так ~> создаётся и так один раз на краю мира.
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Aλexander Semenov
Так ~> создаётся и так один раз на краю мира.
Ну как хотите
источник

AS

Aλexander Semenov in Scala User Group
Oleg ℕizhnik
Ну как хотите
Не, ну Олег - всё равно классный!
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Чисто из интереса, какой процент кода у вас "на краю мира"
источник

Oℕ

Oleg ℕizhnik in Scala User Group
в скала 3 будут уже  полиморфные лямбды, но сейчас у них всё ещё очень стрёмный синтаксис
источник

AS

Aλexander Semenov in Scala User Group
Oleg ℕizhnik
Чисто из интереса, какой процент кода у вас "на краю мира"
Не понимать вопроса. Вайринг наверное строк 300+ занимает, учитывая бойлерплейт cats-tagless. Ну и зависит от микросериса конечно. А есть причины создавать transact более одного раза с одной базой?
источник

ΛВ

Λнтон Войцишевский... in Scala User Group
Aλexander Semenov
new знают все, а вот импорт из тофу...
foreach знают все, а вот импорт из cats…
источник

NV

Nikita Vilunov in Scala User Group
Oleg ℕizhnik
можно заюзать tofu.syntax.functionK.funk
Или полиморфные лямбды из кайнд прожектора
источник