Size: a a a

2021 April 25

ŹR

Źmićer Rubinštejn in pro.elixir
@LamaLove всю дорогу на афтерпати жаловался на копирование Ж)
источник

Е

Евгений in pro.elixir
Потому что писать на Pony - это адское мучение. Я пробовал. Rust в кубе.
источник

Е

Евгений in pro.elixir
Все эти капабилити при прочтении кажутся такими классными и милыми. Но на практике мучение.
Возможно нужно как в rust просто привыкнуть, хз стоит ли оно того.
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Надо просто осознать, что весь эрланг это Arc<Box<чтото>>. И если нихуя не получается - выпиливаешься в это и получаешь не медленнее чем эрланг
источник

ŹR

Źmićer Rubinštejn in pro.elixir
То же самое в пони - не хочешь ебаться - берёшь Val
источник

LL

Lama Lover in pro.elixir
Да в копировании нет ничего плохого. Если хочешь иммутабельности, то от копирования никуда не деться
Я скорее жаловался на то, что никто не пользуется Agent-ом
источник

Е

Евгений in pro.elixir
Да дело не в иммутабельности. Копирование позволяет делать локальный для процесса сборщик мусора. Ну и альтернатива в виде счетчика ссылок может оказатся тормознее простого копирования.
источник

LL

Lama Lover in pro.elixir
источник

Е

Евгений in pro.elixir
Если речь о копировании внутри процесса, то да, все верно.
источник

A

Aleksey @cheatex in pro.elixir
Сделать это неатомарно не позволит сама модель акторов. Вы хотите сериализуемость? Может она не так нужна и пойдёт модель консистентности помягче?
источник

Е

Евгений in pro.elixir
Еще как позволит. Прочитал данные, пока идет обработка другой процесс тоже прочитал. Потом первый записал, затем второй записал. Приплыли. Гонки завершились победой одного из процессов.
источник

A

Aleksey @cheatex in pro.elixir
атомарности это не противоречит
источник

Е

Евгений in pro.elixir
Куда-то в терминологический спор уходим. По мне так это типичная атомарная операция "чтение-модификация-запись".
источник

Н

Николай in pro.elixir
А не проще все необходимые данные перенести в один процесс чтобы обработать сразу в одном процессе, а не гонять туда-сюда лямбды или данные?
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Видимо есть код B который не зависит от А и наоборот
источник

Н

Николай in pro.elixir
Код можно вынести в обычный модуль.
источник

Н

Николай in pro.elixir
И просто вызывать из А.
источник

ML

Maksim Lapshin in pro.elixir
Потому что копирование дает возможность беспроблемной работы на мультиядрах, а передача по ссылке превращается в ад.
источник

ŹR

Źmićer Rubinštejn in pro.elixir
В пони там все четко с мультиядрами. Единственная проблема со ссылками - это мудьтинодность видимо
источник

ML

Maksim Lapshin in pro.elixir
Ну «все четко» - или мьютексы, или четкие гарантии, что никто больше не будет иметь доступа к данным.

Эрланг дает только второе, раст дает и первое, и второе.

С или жабка не дают никаких гарантий
источник