Size: a a a

Scala User Group

2020 December 21

ΛВ

Λнтон Войцишевский... in Scala User Group
В скале так вообще работают силд трейты. Для этого даже в котах есть cats.syntax.option, где есть метод none.apply[A]


То есть когда скала выводит типы для выражения None, она его выводит именно как None.type, потому что не всегда возможно вывести тип А в Option[A]
источник

วโ

วลาดิสลาว โควาเลนโก🐝... in Scala User Group
но при этом идея не видит ошибку
источник

E

Elijah in Scala User Group
кто использует металс с вимом: каким шорткатом принудительно вызвать интеллисенс?
источник

E

Elijah in Scala User Group
к примеру, у меня есть карированая функция, и для первых скобочек оно само подсказывает, как только я открываю скобочки
источник

E

Elijah in Scala User Group
источник

E

Elijah in Scala User Group
а для вторых уже нет
источник

E

Elijah in Scala User Group
источник

E

Elijah in Scala User Group
если кто-то хотя бы знает, как это по-нормальному называется — скажите плес, потому что я даже загуглить толком не могу
источник

AS

Aλexander Semenov in Scala User Group
วลาดิสลาว โควาเลนโก🐝
Коллеги, а чому может в некоторых полурандомных местах в Doobie не срабатывать базовый инференс?
None.pure[ConnectionIO]

Иногда срёт вот таким
er
ror]  found   : doobie.free.connection.ConnectionIO[None.type]
[error]     (which expands to)  cats.free.Free[doobie.free.connection.ConnectionOp,None.type]
[error]  required: cats.free.Free[doobie.free.connection.ConnectionOp,Option[Example]]
[error] Note: None.type <: Option[Example], but class Free is invariant in type A.
[error] You may wish to define A as +A instead. (SLS 4.5)
[error]       case None => None.pure[ConnectionIO]
Лечится очень просто через Option.empty[Example].pure[ConnectionIO], и писать так не то, чтобы очень впадлу
просто интересно
Попробуй F.pure(None)
источник

AS

Aλexander Semenov in Scala User Group
Или вместо Option.empty[Example] можно none[Example]
источник

λ

λoλegΥch in Scala User Group
чота не могу найти ссылку на последний еап идеи
источник

λ

λoλdog in Scala User Group
Просто нужно использовать toolbox
источник

λ

λoλegΥch in Scala User Group
не хочу
источник

E

Elijah in Scala User Group
วลาดิสลาว โควาเลนโก🐝
Коллеги, а чому может в некоторых полурандомных местах в Doobie не срабатывать базовый инференс?
None.pure[ConnectionIO]

Иногда срёт вот таким
er
ror]  found   : doobie.free.connection.ConnectionIO[None.type]
[error]     (which expands to)  cats.free.Free[doobie.free.connection.ConnectionOp,None.type]
[error]  required: cats.free.Free[doobie.free.connection.ConnectionOp,Option[Example]]
[error] Note: None.type <: Option[Example], but class Free is invariant in type A.
[error] You may wish to define A as +A instead. (SLS 4.5)
[error]       case None => None.pure[ConnectionIO]
Лечится очень просто через Option.empty[Example].pure[ConnectionIO], и писать так не то, чтобы очень впадлу
просто интересно
потому что скаловый компилятор недостаточно умный, и в некоторых случаях ему нужна помощь с типами. минимальный пример чтобы репродьюснуть вашу проблему:

List(1,2,3).foldLeft(Nil){ (acc, curr) => curr :: acc }

попробуйте запустить этот пример в REPL, и он упадет, потому что компилятор не может сам до конца извлечь типы. как это обходится:

1. вызвать метод и явно передать тайп параметр
List(1,2,3).foldLeft[List[Int]](Nil){ (acc, curr) => curr :: acc }

2. явно указать желаемый тип аргумента (вроде в данном случае это называется type widening)
List(1,2,3).foldLeft(Nil: List[Int]){ (acc, curr) => curr :: acc }

3. вызвать конструктор желаемого типа напрямую, с указанием типа
List(1,2,3).foldLeft(List[Int]()){ (acc, curr) => curr :: acc }
источник

E

Elijah in Scala User Group
есть еще 4 вариант, который вам выше предлагали. часто в объектах-компаньенах для желаемого типа есть специальный метод empty, который принимает тайп параметр и делает то же самое, что и в 3 варианте

List(1,2,3).foldLeft(List.empty[Int]){ (acc, curr) => curr :: acc }
источник
2020 December 22

E

Elijah in Scala User Group
начали выкладывать записи с Functional Scala 2020

https://youtu.be/ZlW1922pf2M
источник

K

Kai in Scala User Group
Sugak, в чем смысл ограничения в идее 6 тредов на параллельные билды? Че так мало то?
источник

AS

Andrey Sugak in Scala User Group
Kai
Sugak, в чем смысл ограничения в идее 6 тредов на параллельные билды? Че так мало то?
Я не знаю.
источник

K

Kai in Scala User Group
А есть предположения?
источник

AS

Andrey Sugak in Scala User Group
Kai
А есть предположения?
У меня нет, могу спросить.
источник