Size: a a a

2019 December 06

v

vtm in ErlangRus
Alexey Golda
плюс эликсира в том, что да, там нет смысла особого. сигнатура методов так устроена что коллекция всегда первая.
А в кдоже тогда зачем?
источник

LW

Lev Walkin in ErlangRus
А в кложе и в хаскеле она последняя... в хаскеле для каррирования.
источник

LW

Lev Walkin in ErlangRus
increment = map +1
это эквивалентно
increment list = map (+1) list
источник

AG

Alexey Golda in ErlangRus
; thread last on sequencies

(->> [1 2 3 4 5]
        (map (partial * 2))
        (filter even?))

; thread first on maps

(-> {}
     (assoc :a 1 :b 2 :c 3) ;; {:a 1 :b 2 :c 3}
     (dissoc :b :c))
=> {:a 1}


бывает разная семантика, протоколы разные имплементируются, но это может и не самый удачный пример, с вектором и мапой я привел
источник

AG

Alexey Golda in ErlangRus
(-> "a b c d" 
     .toUpperCase
     (.replace "A" "X")
     (.split " ")
     first)


это вообще напрямую интероп с Java, дергаются методы java.lang.String
источник

AG

Alexey Golda in ErlangRus
собственно это вообще макросы на самом деле, и называется найди одно отличие

https://github.com/clojure/clojure/blob/clojure-1.9.0/src/clj/clojure/core.clj#L1669
источник

VV

Valerii Vasylkov in ErlangRus
Бодрого времени суток.
Вопрос к тем кто использует Mnesia.
Какие метрики собираете с таблиц и/или mnesia:system_info/1?
источник

YZ

Yuri Zhloba in ErlangRus
Źmićer Rubinštejn
Пайпа сильно не хватает, with тоже удобная штука, но не критичная.

А пока что банальный

Data
|> Enum.filter
|> Enum.map
|> Enum.whatever

Превращается в жёсткую кашу
https://github.com/rabbitmq/erlando может тебе это зайдет. Посмотри do parse transformer
источник

YZ

Yuri Zhloba in ErlangRus
Эта штука посложнее with, но зато семантика та же
источник

YZ

Yuri Zhloba in ErlangRus
https://github.com/yzh44yzh/erlz или это. Тут проще для понимания, но семантика хуже.
источник

В

Вертолетчик in ErlangRus
Dmitry Russ (Aleksandrov)
Elixir 1.10 (релиз в январе) - прямо breaking news:

Erlang logger integration
Since OTP 21, Erlang has had its own logger, but Elixir hasn’t been using that - until now! Starting with Elixir 1.10, Elixir will use Erlang’s logger instead of its own logger as the backend to the Logger module. This is possible because Elixir 1.10 requires OTP 21.0 or greater, which means we know that Erlang’s logger will be available to us.


Теперь унифицированный logger backend между Erlang и Elixir приложениями - вот это прямо очень крутая новость
Небось год ждали? )))
Вот чем мне не нравятся фреймворки и прочие on-top-of, это тем, что постоянно в догонялки играют. Чтобы что-то получить, надо подождать
источник

VS

Vladimir Sekisov in ErlangRus
Yauheni Tsiarokhin
нашел на стэковерфлоу вот такое замечание
so_reuseport =
 case :os.type() do
   {:unix, :linux} -> {:raw, 1, 15, <<1::32-native>>}
   {:unix, :darwin} -> {:raw, 0xffff, 0x0200, <<1::32-native>>}
 end
как то вот так, если для Erlang под Linux/Darwin:
https://gist.github.com/eryx67/8bbfb790258ac556fcf99f677beb57b1
источник

СИ

Сергей Иванов in ErlangRus
Źmićer Rubinštejn
Можно конечно переехать проекты из Rebar в mix и постепенно перепиливать, но к тому времени когда я получу такой уровень доверия я походу уже на эрланге писать научусь
использовать что-то кроме rebar  в erlang это будет борьба не с языком, а с окружающим миром.
источник

СИ

Сергей Иванов in ErlangRus
Dmitry Russ (Aleksandrov)
Elixir 1.10 (релиз в январе) - прямо breaking news:

Erlang logger integration
Since OTP 21, Erlang has had its own logger, but Elixir hasn’t been using that - until now! Starting with Elixir 1.10, Elixir will use Erlang’s logger instead of its own logger as the backend to the Logger module. This is possible because Elixir 1.10 requires OTP 21.0 or greater, which means we know that Erlang’s logger will be available to us.


Теперь унифицированный logger backend между Erlang и Elixir приложениями - вот это прямо очень крутая новость
а как elixir поверх otp функционирует? использует beam?
источник

VS

Vladimir Sekisov in ErlangRus
Сергей Иванов
а как elixir поверх otp функционирует? использует beam?
он же компилируется в beam,
соответственно, хоть
модули elixir используй из erlang,
хоть наоборот.
источник

VS

Vladimir Sekisov in ErlangRus
FFI тут не нужен, бутстрапа у elixir тоже никакого нет
источник

СИ

Сергей Иванов in ErlangRus
а давно на ерланговском сайте поиск по доке появился?
https://erlang.org/doc/search/
источник

СИ

Сергей Иванов in ErlangRus
Lev Walkin
а что там с опцией reuseport?
с этим неудача -она в 22 только в модуле socket
источник

a

arikai in ErlangRus
Vladimir Sekisov
он же компилируется в beam,
соответственно, хоть
модули elixir используй из erlang,
хоть наоборот.
Поправка - компилируется в Erlang Abstract Format, что есть промежуточное представление компилируемого кода на Эрланг. По сути, в Эликсире пропускается этап компиляции в .erl за его ненужностью, а в остальном используются тот же пайплайн компиляции, что и в Эрланг.
источник

a

arikai in ErlangRus
Vladimir Sekisov
FFI тут не нужен, бутстрапа у elixir тоже никакого нет
Ну и это не нужно, конечно, потому что Эликсир, по сути своей, валидный Эрланговский (не BEAM-ник даже!), только с другим синтаксисом (и кучей дополнительного сахара)
источник