Size: a a a

2020 May 25

LL

Lama Lover in pro.elixir
Andrew Rudenko
на эликсировском Stream такое не выразишь, правильно?
Ну да, в beam очень явная иммутабельность данных на всех уровнях
источник

AR

Andrew Rudenko in pro.elixir
Alex Bubnov
Еяпп, это вообще не сделать в beam.
challenge accepted!
источник

LL

Lama Lover in pro.elixir
Andrew Rudenko
challenge accepted!
К сожалению, у тебя врятли получится
x = something()
f(x)
g(x)


Независимо от того что происходит внутри f(x), x в текущем контексте никак не изменится ни внутри, ни уж тем более по опреациям взаимодействия
источник

LL

Lama Lover in pro.elixir
Единственный вариант - выделять сущности в отдельные процессы, но это вредно и нечисто
источник

ŹR

Źmićer Rubinštejn in pro.elixir
нифка нужно
источник

AB

Alex Bubnov in pro.elixir
Źmićer Rubinštejn
нифка нужно
Ну вот только этого не хватало
источник

LL

Lama Lover in pro.elixir
Źmićer Rubinštejn
нифка нужно
И иметь ref вместо данных?
источник

ŹR

Źmićer Rubinštejn in pro.elixir
да и да на оба вопроса
источник

LL

Lama Lover in pro.elixir
Źmićer Rubinštejn
да и да на оба вопроса
Злодей
источник

ŹR

Źmićer Rubinštejn in pro.elixir
вопросы не ко мне. меня все устраивает
источник

LL

Lama Lover in pro.elixir
@prepor Я просто плохо знаю как там с concurrency в clojure, но у меня есть подозрения что без всяких akka там все пользуются системными потоками без гринредов?
источник

AB

Alex Bubnov in pro.elixir
Lama Lover
@prepor Я просто плохо знаю как там с concurrency в clojure, но у меня есть подозрения что без всяких akka там все пользуются системными потоками без гринредов?
Так в jvm ничего другого пока нет.
источник

AB

Alex Bubnov in pro.elixir
Но скоро будет, и это вселяет надежду
источник

LL

Lama Lover in pro.elixir
Alex Bubnov
Так в jvm ничего другого пока нет.
Ну, тогда понятно почему в clojure структуры могут быть ложно-иммутабельными
источник

AR

Andrew Rudenko in pro.elixir
Lama Lover
@prepor Я просто плохо знаю как там с concurrency в clojure, но у меня есть подозрения что без всяких akka там все пользуются системными потоками без гринредов?
akka примерно никто не пользуется, но

1. да, системными процессами
2. есть core.async, который:

1. имплементирует csp с буферами
2. имеет go-макрос, который умеет преобразовывать на лексическом уровне sequntial вызовы в неблокируемую стейт машину
источник

LL

Lama Lover in pro.elixir
Andrew Rudenko
akka примерно никто не пользуется, но

1. да, системными процессами
2. есть core.async, который:

1. имплементирует csp с буферами
2. имеет go-макрос, который умеет преобразовывать на лексическом уровне sequntial вызовы в неблокируемую стейт машину
Понял, спасибо
источник

AR

Andrew Rudenko in pro.elixir
Andrew Rudenko
akka примерно никто не пользуется, но

1. да, системными процессами
2. есть core.async, который:

1. имплементирует csp с буферами
2. имеет go-макрос, который умеет преобразовывать на лексическом уровне sequntial вызовы в неблокируемую стейт машину
кстати, по теме конкаренси. есть довольно эпичный толк где Армстронг И Хоаре обсуждают и сравнивают CSP и эктор модель https://www.youtube.com/watch?v=37wFVVVZlVU
источник

AR

Andrew Rudenko in pro.elixir
всем кто не смотрел рекомендую ) такие монстры и в одном месте. из первых уст, так сказать
источник

AR

Andrew Rudenko in pro.elixir
правда все современные имплементации CSP (go/clojure/kotlin) имеют опциональные буферы, что, кмк, довольно принципиально отличают их от того, за что Hoare топит
источник

AB

Alex Bubnov in pro.elixir
Lama Lover
Ну, тогда понятно почему в clojure структуры могут быть ложно-иммутабельными
Я не очень понимаю, какую ты видишь причинно-следственную связь здесь, но да, в clojure можно использовать implicit мутабельность
источник