Size: a a a

2020 September 03

c

corsars in ErlangRus
Alexey Klochkov
Да, 3.6 время от времени корраптилась. Поскольку я сразу сделал бэкапную ноду, то безболезнено. Переход на 4.0 это вылечил, но само использование монги настолько неудобно, что потихоньку переползаем обратно на постгрес.
Правильно.
источник

AB

Alex Bubnov in ErlangRus
Taras 🦀 Taraskin
да вы, наверное, шутите!

как это вдруг - не нужна альтернатива в браузер?
альтернатива этому уродцу - js ..

ясен пень что нужна альтернатива!

да, есть препроцессоры - типу PureScript / Elm,
да, wasm еще далеко от полной имплементации..

и все-равно..
имхо лучше наличие выбора, чем отсутствие!

Lumen is not:

 A new Elixir-like syntax on top JavaScript.
   
 An Elixir to JavaScript transpiler.
 
 An effort to cross-compile the existing BEAM implementation to Wasm.
 
 An effort to replace the existing BEAM.

отлично же!
WebAssembly не альтернатива js, и такой роли для него не планируется. Это специализированный акселератор числодробилок, как бесконечные sse в процах
источник

AB

Alex Bubnov in ErlangRus
Maksim Lapshin
Валидацию иметь с двух сторон одним кодом
Я слабо себе представляю, что это за валидация должна быть такая, чтобы ради неё так заморачиваться.
источник

AB

Alex Bubnov in ErlangRus
О, придумал юзкейс - реюз реализации криптографии. Криптография это геморно.
источник

ŹR

Źmićer Rubinštejn in ErlangRus
Alex Bubnov
О, придумал юзкейс - реюз реализации криптографии. Криптография это геморно.
Думаю что на js уже сделано больше крипты чем на эрланге
источник

AB

Alex Bubnov in ErlangRus
Źmićer Rubinštejn
Думаю что на js уже сделано больше крипты чем на эрланге
так я и не про эрланг
источник

AB

Alex Bubnov in ErlangRus
Переслано от Alex Bubnov
так, я тут узнал довольно жуткое
у нас есть method_missing из руби
https://erlang.org/doc/man/error_handler.html#undefined_function-3
источник

ML

Maksim Lapshin in ErlangRus
Alex Bubnov
Переслано от Alex Bubnov
так, я тут узнал довольно жуткое
у нас есть method_missing из руби
https://erlang.org/doc/man/error_handler.html#undefined_function-3
Нуу, он все таки дюже хитрый
источник

s

snakeduse in ErlangRus
Скажите, кто-нибудь перешел на новый ребар? Который 3.14
источник

P

PsyDebug in ErlangRus
на 3.13 пока. ща обновлюсь
источник

ДЗ

Дмитрий Золотарев... in ErlangRus
snakeduse
Скажите, кто-нибудь перешел на новый ребар? Который 3.14
у меня 3.14
источник

s

snakeduse in ErlangRus
Нормально проекты компилируются?
источник

ДЗ

Дмитрий Золотарев... in ErlangRus
да, без проблем вообще
источник

s

snakeduse in ErlangRus
а у меня не компилируется. Видимо у меня что-то
источник

AB

Alex Bubnov in ErlangRus
мы, кажется, нашли прикольный рейс в link/1
должно быть: либо проигнорироваться {'EXIT', ..., normal}, либо пойматься error, noproc.
реально - нестабильно приходит {'EXIT', ..., noproc}.  

$ cat > t.erl
-module(t).
-compile([export_all, nowarn_export_all]).

test() ->
   ok = test_(0),
   io:format("everything is ok~n").

%%

test_(1000000) ->
   ok;

test_(N) ->
   try
       {ok, Pid} = gen_server:start(?MODULE, [], []),
       link(Pid)
   catch error:noproc -> ok %% it's ok
   end,
   test_(N + 1).

%% gen_server

init([]) ->
   {ok, undefined, {continue, stop}}.

handle_continue(stop, S) ->
   erlang:bump_reductions(rand:uniform(5000)),
   {stop, normal, S}.

^D
$ erl
Erlang/OTP 21 [erts-10.3.5.9] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [hipe]

Eshell V10.3.5.9  (abort with ^G)
1> c(t).
{ok,t}
2> t:test().
.....
test #81
** exception exit: noproc
3> t:test().
.....
test #3077
** exception exit: noproc
....
источник

SP

Sergey Prokhorov in ErlangRus
EEP 53: Process aliases preventing late replies reaching clients
http://erlang.org/pipermail/eeps/2020-September/000638.html
источник

AB

Alex Bubnov in ErlangRus
Alex Bubnov
мы, кажется, нашли прикольный рейс в link/1
должно быть: либо проигнорироваться {'EXIT', ..., normal}, либо пойматься error, noproc.
реально - нестабильно приходит {'EXIT', ..., noproc}.  

$ cat > t.erl
-module(t).
-compile([export_all, nowarn_export_all]).

test() ->
   ok = test_(0),
   io:format("everything is ok~n").

%%

test_(1000000) ->
   ok;

test_(N) ->
   try
       {ok, Pid} = gen_server:start(?MODULE, [], []),
       link(Pid)
   catch error:noproc -> ok %% it's ok
   end,
   test_(N + 1).

%% gen_server

init([]) ->
   {ok, undefined, {continue, stop}}.

handle_continue(stop, S) ->
   erlang:bump_reductions(rand:uniform(5000)),
   {stop, normal, S}.

^D
$ erl
Erlang/OTP 21 [erts-10.3.5.9] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [hipe]

Eshell V10.3.5.9  (abort with ^G)
1> c(t).
{ok,t}
2> t:test().
.....
test #81
** exception exit: noproc
3> t:test().
.....
test #3077
** exception exit: noproc
....
https://bugs.erlang.org/browse/ERL-769
Rickard Green added a comment - 06/Nov/18 7:06 PM
A noproc reason in a 'DOWN' message will be produced if the process that you attempt to monitor is already terminated or is in an exiting state when the monitor signal reaches it. That is, in the general case you cannot conclude that the process you are trying to monitor died with reason noproc.
с линками такая же ситуация, выходит
источник

AB

Alex Bubnov in ErlangRus
короче, недокументированное поведение
источник

AK

Aleksey Kluchnikov in ErlangRus
Alex Bubnov
мы, кажется, нашли прикольный рейс в link/1
должно быть: либо проигнорироваться {'EXIT', ..., normal}, либо пойматься error, noproc.
реально - нестабильно приходит {'EXIT', ..., noproc}.  

$ cat > t.erl
-module(t).
-compile([export_all, nowarn_export_all]).

test() ->
   ok = test_(0),
   io:format("everything is ok~n").

%%

test_(1000000) ->
   ok;

test_(N) ->
   try
       {ok, Pid} = gen_server:start(?MODULE, [], []),
       link(Pid)
   catch error:noproc -> ok %% it's ok
   end,
   test_(N + 1).

%% gen_server

init([]) ->
   {ok, undefined, {continue, stop}}.

handle_continue(stop, S) ->
   erlang:bump_reductions(rand:uniform(5000)),
   {stop, normal, S}.

^D
$ erl
Erlang/OTP 21 [erts-10.3.5.9] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [hipe]

Eshell V10.3.5.9  (abort with ^G)
1> c(t).
{ok,t}
2> t:test().
.....
test #81
** exception exit: noproc
3> t:test().
.....
test #3077
** exception exit: noproc
....
Это не рейс, для этого старт_линк есть
источник

TT

Taras 🦀 Taraskin in ErlangRus
Alex Bubnov
WebAssembly не альтернатива js, и такой роли для него не планируется. Это специализированный акселератор числодробилок, как бесконечные sse в процах
"замена js" и
"альтернатива js == то есть, я могу писать не на js"—
немного разное)

хотя, и я тоже немного криво мысль изложил...
вообще есть и с эрланга в js препроцессоры, и с хаскеля..

этот люмен, как показалось на первый взгляд, это немного больше..
ладно, проехали)
источник