Size: a a a

2021 May 18

AB

Alex Bubnov in pro.elixir
да я и тестов сверх необходимого не пишу, вроде
источник

AP

Andrey Pavlov in pro.elixir
даже если ты обмазался теоремпруферами, не факт что это тебя спасет от необходимости написать тесты
источник

ع

عاصم بن حارث... in pro.elixir
/spam
источник

Е

Евгений in pro.elixir
А статическая типизация не контракт что ли? 😂
источник

AB

Alex Bubnov in pro.elixir
да чот хз. у тебя всё равно по краям системы творится какая-нибудь не очень типизированная дичь, типа json-in, json-out
источник

Е

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

Е

Евгений in pro.elixir
Мне лично не хватает не самой системы типов, а того самого контракта, которая она дает. Эдакий идеальный диалайзер.
источник

AB

Alex Bubnov in pro.elixir
опять же, всякие data-driven вещи, типа описания схем - ты либо плодишь уйму adt под них, либо просто в итоге кладешь болт на саму идею типов в этом месте
источник

Е

Евгений in pro.elixir
Кстати, вот так выглядит примитивный обмен сообщениями между двумя потоками в D:
https://run.dlang.io/is/rASrMd
источник

Е

Евгений in pro.elixir
Кстати автор std.concurrency явно был под впечатлением ОТП эрланга. Все очень-очень похоже.
источник

Е

Евгений in pro.elixir
Только не легковесные процессы, а реальные потоки ОС.
источник

LL

Lama Lover in pro.elixir
А есть послать сообщение, которое поток не умеет receive-ать, то что?
источник

Е

Евгений in pro.elixir
Можно либо сделать обработчик таких сообщений, без собственно доступа к содержимому сообщения. Либо схлопотать исключение и что-нибудь сделать, например упасть.
источник

Е

Евгений in pro.elixir
В D есть и легковесные зеленые потоки с подобной же системой.
источник

Е

Евгений in pro.elixir
Хотя вру можно левое сообщение в Variant получить и с помощью RTTI в рантайме понять, что за говно пришло.
источник

LL

Lama Lover in pro.elixir
То есть тут нет selective receive, так?
Типа, если я жду сообщение A,  а ко мне приходит B, то мне нужно будет его обработать, так?
источник

SZ

Sergei Zobov in pro.elixir
Поцоны, пишу на компилируемом языке, сосу жепу постоянно :(
Не получается писать динамические опердени, постоянны сегфолты ловлю
источник

Е

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

LL

Lama Lover in pro.elixir
А, ну и чем тут статическая типизация сообщений отличается от эрланговской?
источник

Е

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