Size: a a a

2021 May 18

Е

Евгений in pro.elixir
А в чем проблема?
источник

Е

Евгений in pro.elixir
любой пид являющийся подтипом Pid<Ping> может принимать сообщение типа Ping
источник

DF

Denis Fakhrtdinov in pro.elixir
Осталось только придумать как это проверить на этапе компиляции.
источник

Е

Евгений in pro.elixir
А я понял. Имеется в виду, когда пришел Ping от неведомо кого, и нужно непременно этому неведому кому отправить Pong.
источник

DR

Dmitry Russ (Aleksan... in pro.elixir
Почему бы не форсить, чтобы у процессинга сообщений был catch all - а если нет, то это так же как и null exception в статически типизированных языках - т.е. рантайм ошибка по-прежнему?
источник

DR

Dmitry Russ (Aleksan... in pro.elixir
Зачем убивать хотрелоад, если и языки со статической типизацией имеют рантайм ошибки? Зачем сразу какое-то идеальное решение?
источник

AF

Andrey Fadeev in pro.elixir
Этот процессинг сообщений не относится к языку. Генсервер и его call это не сообщения виртуальной машины.
источник

AF

Andrey Fadeev in pro.elixir
В том смымсле, что это абстрации построенные уже поверх сообщений
источник

DR

Dmitry Russ (Aleksan... in pro.elixir
Они выводятся - видно, что приходят сообщения - там где есть receive - там есть any - соответственно проверять, что callback-и этот Any где-то да обработают.
источник

Е

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

AF

Andrey Fadeev in pro.elixir
ну это уже будет другой несовместимый язык
источник

Е

Евгений in pro.elixir
Но в 99% все типы сообщений, так же как и принимающие и отправляющие стороны заранее известны.
источник

DR

Dmitry Russ (Aleksan... in pro.elixir
Почему другой - всё тот же. Никаких изменений в языке не нужно.
источник

LL

Lama Lover in pro.elixir
Ну вот я тоже плохо понимаю зачем статическая типизация всего. Диалайзер и градуалайзер умеют отлавливать ошибки в компайле
источник

DR

Dmitry Russ (Aleksan... in pro.elixir
Это уже другая проблема.
источник

Е

Евгений in pro.elixir
На самом деле, статически типизированый язык может успешно эмулировать динамическую типизацию там где надо.
источник

M

MrFlorius in pro.elixir
имхо наоборот
источник

AF

Andrey Fadeev in pro.elixir
если ты говоришь что reveive должен иметь какой-то особый вид и логику, то существующий код работать не будет
источник

Е

Евгений in pro.elixir
Плохо они отлавиливают на самом деле.
источник

DR

Dmitry Russ (Aleksan... in pro.elixir
И самое главное - вот потому что мы тут чуть типизировать что-то не можем - поэтому вообще ничего типизировать не будем - аргументация нарушающая законы логики.
источник