← All posts tagged Erlang

открыл очень интересную особенность виртуальной машины erlang. Я тут нечаянно запустил её в не tail recursive бесконечный цикл, так вот она от радости забрала себе в виртуальную память практически мнгновенно всё, что смогла. А если сделать ulimit -v 500000 то она занимает 100% CPU, но следит за тем, чтобы не выходить за рамки по памяти. То есть она размечает не всё, что видит, а менее менее 500 тысяч килобайт чтобы её не кильнула ОС. С одной стороны это удивило меня потому что такой infinite loop не убивает машину, с другой стороны это очень хорошее поведение для системы, она не умрёт от oom даже когда всё довольно плохо. Умрёт видимо только если всё станет через чур плохо :)

Прикольное какое-то мероприятие этот spawnfest.com (#1420836) правда я стесняшка и не знаю что бы я такое смог сделать за 2 дня :) судя по судейскому составу (http://spawnfest.com/judges/) должно быть что-то хорошеее и будет как минимум интересно посмотреть что сделают другие :)

The Register пишет восхваляющую статью про Go j.mp
Причиной видимо послужил Doozer (#1326584), пару раз за статью упоминается Erlang, что приятно :) ну и конечно приятно, что опусканию node.js выделили достаточно большое количество времени, причём более или менее в терминах о которых я писал в #1173766.

прочитал golang.org хороший годный Erlang получается из этого Go. Смущает только, что не функциональный :(
хотя конструкция defer мне реально понравилась (это конечно мерзкая императивщина, но полезно).
подробней пор defer тут j.mp

erlang жжот, только что узнал что можно делать следующее
$ cat test.erl
-module(test).
-export([f/1]).

f(0) ->
1;
f(N) ->
N*f(N-1).
а теперь запускаем typer test.erl
и получаем
%% File: "test.erl"
%% ----------------
-spec f(non_neg_integer()) -> pos_integer().
и это одна из самых простейших вещей что умеет делать эта штука
hint: оно само поняло что на вход подаваться должны целые числа от 0 и выход числа от 1