Size: a a a

Scala User Group

2020 December 18

IP

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

Oℕ

Oleg ℕizhnik in Scala User Group
Эта библиотека https://github.com/lightbend/config умеет собирать конфиг из переменных окружения, аргументов запуска java, ресурсов и файлов в нескольких форматах, с применением замещения, включения, фолбеков и т.п.

https://github.com/pureconfig/pureconfig эта библиотека поможет взять конфиг и раскидать его по кейсклассам

https://github.com/manatki/derevo
эта библиотека поможет быстро объявить несколько автоматически выведенных инстансов для кеймкласса в одной макроаннотации
источник

IP

Ilya Petrov in Scala User Group
Огромное спасибо
источник
2020 December 19

E

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

Oℕ

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

Oℕ

Oleg ℕizhnik in Scala User Group
и эз паттерны отшатнули
источник

P

Pavel in Scala User Group
то что as убрали имхо хорошо
источник

P

Pavel in Scala User Group
а то что они все еще не определились с синтаксисом - плохо
источник

Oℕ

Oleg ℕizhnik in Scala User Group
лучше бы бай нейм матчинг уже сделали
источник

λƒ

λesha ƒomkin in Scala User Group
А дефолтные тайп параметры и бай нейм тайп параметры они сделали?
источник

λƒ

λesha ƒomkin in Scala User Group
Бай нейм матчинг это сложно. Сейчас весь мэтчинг держится на соглашении об unapply. В случае с бай нейм мэтчингом для кейсклассов должна быть какая-то особая магия времени компиляции.
источник

S

Simon in Scala User Group
Как крутые ФП-перцы работают с мутабельностью?
У меня есть здоровенный двумерный массив примитивов, и есть поток событий (более-менее последовательных, но могут быть редкие гонки), которые обновляют часть этого массива (не в пределах одной строки или столбца, а скорее куб).
Использовать неизменяемые структуры - не вариант (даже не столько из-за производительности, сколько из-за памяти - двумерный массив занимает большую часть хипа).
Пытался на zio использовать Semaphore + Ref, но результат получался очень уж "колхозным".
В итоге сделал на akka акторе (благо там по контракту happens before между обработками сообщений).
Есть вообще инструменты для такого в zio или котах?
источник

R

RSN in Scala User Group
Simon
Как крутые ФП-перцы работают с мутабельностью?
У меня есть здоровенный двумерный массив примитивов, и есть поток событий (более-менее последовательных, но могут быть редкие гонки), которые обновляют часть этого массива (не в пределах одной строки или столбца, а скорее куб).
Использовать неизменяемые структуры - не вариант (даже не столько из-за производительности, сколько из-за памяти - двумерный массив занимает большую часть хипа).
Пытался на zio использовать Semaphore + Ref, но результат получался очень уж "колхозным".
В итоге сделал на akka акторе (благо там по контракту happens before между обработками сообщений).
Есть вообще инструменты для такого в zio или котах?
fs2.Stream + Ref
источник

EB

Eugene Bosiakov in Scala User Group
Simon
Как крутые ФП-перцы работают с мутабельностью?
У меня есть здоровенный двумерный массив примитивов, и есть поток событий (более-менее последовательных, но могут быть редкие гонки), которые обновляют часть этого массива (не в пределах одной строки или столбца, а скорее куб).
Использовать неизменяемые структуры - не вариант (даже не столько из-за производительности, сколько из-за памяти - двумерный массив занимает большую часть хипа).
Пытался на zio использовать Semaphore + Ref, но результат получался очень уж "колхозным".
В итоге сделал на akka акторе (благо там по контракту happens before между обработками сообщений).
Есть вообще инструменты для такого в zio или котах?
а как связано кручение матрицы и акторы?
источник

S

Simon in Scala User Group
RSN
fs2.Stream + Ref
и как? update нельзя - не гарантируется однократность
Ref вообще не предназначен для мутабельных структур
источник

EB

Eugene Bosiakov in Scala User Group
а что плохого будет если взять scala.collection.mutable?
источник

S

Simon in Scala User Group
Eugene Bosiakov
а как связано кручение матрицы и акторы?
happens before между действиями.
источник

S

Simon in Scala User Group
Да ничего плохого. У меня там вообще почти что Array[Array[Double]]
источник

N

Nikolay in Scala User Group
Simon
happens before между действиями.
а акторы не дают total order?
источник

S

Simon in Scala User Group
Nikolay
а акторы не дают total order?
дают. именно потому я и взял актор
источник