Size: a a a

Scala User Group

2020 January 30

Oℕ

Oleg ℕizhnik in Scala User Group
источник

Y

Yevhen in Scala User Group
а что такое эффект?)
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Любое воздействие на внешний мир, которое можно считать результатом работы части программы, но которое не описывается областью значений функции
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Здесь туманное опредеделение, зависит от того, в каком случае вы считаете результат работы программы одинаковым или разным.
Изменение любой мутабельной операции - эффект
Чтение мутабельной переменной - больше коэффект, но условно тоже можно назвать эффектом
Взаимодействие с внешними системами, существенно влияющее на них - эффект,

Логи\трассировка - на пограничной зоне. Если вы готовы признать две программы, которые пишут разные логи одинаковыми, тогда это не эффект.
Если логи - существенная информация, тогда эффект
источник

Y

Yevhen in Scala User Group
А что на выходе получаем когда вся кодбаза использует IO монаду, thread safety?
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Вы не получаете никаких гарантий относительно поведения приложения, благодаря использованию IO
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Это лишь способ композиции конкуретных приложений, который сильно облегчает написание
источник

Y

Yevhen in Scala User Group
concurrent?
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Yevhen
concurrent?
не понял вопроса
источник

Y

Yevhen in Scala User Group
конкуретные приложение всмысле про конкаренси ?
источник

Oℕ

Oleg ℕizhnik in Scala User Group
да, конкурентность в смысле про конкуретность
источник

Y

Yevhen in Scala User Group
а конкурентность это многопоточное выполнение не зависящих задач, так как паралелизм одной задачи но подзадачи паралельно ?
источник

Oℕ

Oleg ℕizhnik in Scala User Group
источник

D

Dima Kubitskiy in Scala User Group
конкурентность -> конкурируют за один и тотже ресурс.
паралельность -> независимое использование разных ресурсов
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Dima Kubitskiy
конкурентность -> конкурируют за один и тотже ресурс.
паралельность -> независимое использование разных ресурсов
Нет, конкурентость не за ресурсы.
Части программы выполняются конкурентно - значит нельзя упорядочить их так, чтобы можно было считать, что первая часть программы выполнилась строго до второй
источник

Y

Yevhen in Scala User Group
А под собой IO имеет синхронизацию или лок?
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Yevhen
А под собой IO имеет синхронизацию или лок?
под собой IO не имеет никаких синхронизаций или локов
источник

λ

λoλdog in Scala User Group
Oleg ℕizhnik
Нет, конкурентость не за ресурсы.
Части программы выполняются конкурентно - значит нельзя упорядочить их так, чтобы можно было считать, что первая часть программы выполнилась строго до второй
Ух, про параллельностью можно сказать тоже самое
источник

Oℕ

Oleg ℕizhnik in Scala User Group
λoλdog
Ух, про параллельностью можно сказать тоже самое
Что поделать
источник

D

Dima Kubitskiy in Scala User Group
про порядок, это что-то из области комутативности
источник