Size: a a a

Scala User Group

2020 April 14

ЮБ

Юрий Бадальянц in Scala User Group
Mikhail
обычный рефайнд ньютайп с перекрытием основных функций массива(чтобы убрать мутабельность? или не убирать, но можно проверить выход за рамки) и кодированием в типе
Да это понятно, но это же код писать надо.
источник

AD

Apache DOG™ in Scala User Group
Vladimir Pavkin
гвоздями там прибито зио
"Котоэффекты нинужны"
источник

λ

λoλdog in Scala User Group
Юрий Бадальянц
Да это понятно, но это же код писать надо.
У рефаинда уже вроде есть
источник

VE

Vasiliy Efimov in Scala User Group
Vasiliy Efimov
Есть ли какой-нибудь человеческий способ скомбинировать частичную функцию с обычной?

val partial: PartialFunction[T, R] = ???
val fallback: T => R = ???
partial.orElse {
 case x => fallback(x)
}


этот вариант даёт Partial как результат, хотя fallback «тотальная»
есть ли какие-нибудь подводные у такого варианта?
почему в стандартной либе нет этого?  

implicit class PFExtension[-T, +R](pf: PartialFunction[T, R]) {
 def withDefault[T1 <: T, R1 >: R](f: T1 => R1): T1 => R1 = pf.applyOrElse(_, f)
}
источник

М

Михаил in Scala User Group
> почему в стандартной либе нет этого?

подозреваю, что потому что работягам хватает applyOrElse в большинстве случаев
источник

VE

Vasiliy Efimov in Scala User Group
как варик из-за того что partial всегда function, соответственно, можно будет передать partial параметром и получить ложную уверенность в том что функция теперь тотальная
источник

VE

Vasiliy Efimov in Scala User Group
но мы это и так всегда можем сделать
источник

λ

λoλcat in Scala User Group
источник

VE

Vasiliy Efimov in Scala User Group
nice
источник

ΛВ

Λнтон Войцишевский in Scala User Group
Наткнулся на "интересное" поведение серка-деривации:
https://scastie.scala-lang.org/p5zDAbSSTWWKMI8QJdIVzg вот так не компилится
но если поменять порядок аргументов в or, то все ок: https://scastie.scala-lang.org/SW0alwgcQma1dfAa2Kt0AA
Это ожидаемое поведение или стоит в серку ишью сделать?
(пример просто пример и я знаю, что можно делать лучше/проще и все такое)
источник

ЮБ

Юрий Бадальянц in Scala User Group
λoλdog
У рефаинда уже вроде есть
Там на шейплесе
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Λнтон Войцишевский
Наткнулся на "интересное" поведение серка-деривации:
https://scastie.scala-lang.org/p5zDAbSSTWWKMI8QJdIVzg вот так не компилится
но если поменять порядок аргументов в or, то все ок: https://scastie.scala-lang.org/SW0alwgcQma1dfAa2Kt0AA
Это ожидаемое поведение или стоит в серку ишью сделать?
(пример просто пример и я знаю, что можно делать лучше/проще и все такое)
ну так поставьте widen у второго
источник

D

Daniel in Scala User Group
Oleg ℕizhnik
ну так поставьте widen у второго
и уберите у первого
источник

ΛВ

Λнтон Войцишевский in Scala User Group
ок, да, сам затупил, спасибо
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Daniel
и уберите у первого
не мешает
источник

D

Daniel in Scala User Group
Oleg ℕizhnik
не мешает
можно убрать
источник

N

Nikolai in Scala User Group
Привет, кто-то использовал grpc (https://higherkindness.io/mu/) в проде ?
источник

ЮБ

Юрий Бадальянц in Scala User Group
Nikolai
Привет, кто-то использовал grpc (https://higherkindness.io/mu/) в проде ?
источник

λ

λoλcat in Scala User Group
@poslegm но я этот доклад еще в сентябре в Дэйли постил
источник

М

Михаил in Scala User Group
λoλcat
@poslegm но я этот доклад еще в сентябре в Дэйли постил
Пропустил :с
источник