Size: a a a

2020 October 07

ИИ

Иванов Иванов... in ErlangRus
Maksim Lapshin
Это просто хороший практичный С для сетевых программ, который писали люди, задолбавшиеся жрать говно с корками
>хороший практичный С

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

ML

Maksim Lapshin in ErlangRus
Denis Fakhrtdinov
Ну это синтаксис ведь.
я твою фразу не то что не понял, я её даже не распарсил.

В эрланге пачка разных синтаксисов для работы с функциями, причем надо очень глубоко разбираться в деталях их реализации: публичные, приватные для модуля, косвенная адресация, не очень косвенная, через тупл, через спец-тип function.

Назвать это first class тяжеловато.
источник

ŹR

Źmićer Rubinštejn in ErlangRus
Denis Fakhrtdinov
Ну это синтаксис ведь.
вообще нет.
источник

ŹR

Źmićer Rubinštejn in ErlangRus
Например partial application он либо есть либо нету
источник

ŹR

Źmićer Rubinštejn in ErlangRus
Теоретически можно запилить beam язык с таким, но возможно и нет…
источник

ŹR

Źmićer Rubinštejn in ErlangRus
Надо переделывать компилатор эрланга чтобы каррирование работало
источник

Y

Yar in ErlangRus
Maksim Lapshin
Я не понимаю в чем функциональность эрланга, если в нем:

1. Энергичные вычисления
2. Функции явно не first class
3. Нет никаких внедренных практик фп, которых бы не было в каком-нибудь питоне/руби
4. Вовсю глобальные переменные
5. Никакого способа заранее отличить грязный код от чистого
А все, что попадает в руби/питон, перестаёт быть ФП?
источник

DF

Denis Fakhrtdinov in ErlangRus
Maksim Lapshin
я твою фразу не то что не понял, я её даже не распарсил.

В эрланге пачка разных синтаксисов для работы с функциями, причем надо очень глубоко разбираться в деталях их реализации: публичные, приватные для модуля, косвенная адресация, не очень косвенная, через тупл, через спец-тип function.

Назвать это first class тяжеловато.
Функция — это то, что is_function. Остальное — это способы вызова функции или адресации (?).
источник

DF

Denis Fakhrtdinov in ErlangRus
Энивей, если Э не функциональный, то какой? Процедурный?
источник

LW

Lev Walkin in ErlangRus
Maksim Lapshin
а что тебя смущает? Мало того, что в эрланге крайне разнородный механизм работы с функциями ( {M,F,A}, fun Module:f/2, fun() -> .. ), так оно ещё и довольно бедное: ни каррирования, ни чего там ещё придумают.

При этом с реальным использованием совместим только {M,F,A}, который по сути от какой-нибудь Java DI не отличается
mfa-ж задепрекейтили вроде.
источник

ML

Maksim Lapshin in ErlangRus
Denis Fakhrtdinov
Энивей, если Э не функциональный, то какой? Процедурный?
мне кажется, что это сильно размывающееся деление.

Понятно, что если у тебя тут валяется жава и с++, то наверное на Э можно повесить шильдик ФП с тем же набором аргументов, что и на лисп.

Но вообще прицепившийся к лиспу мем, что он  функциональный, многих бесит
источник

ML

Maksim Lapshin in ErlangRus
Lev Walkin
mfa-ж задепрекейтили вроде.
gen_server:start_link тожа в помойку?
источник

LW

Lev Walkin in ErlangRus
Lev Walkin
mfa-ж задепрекейтили вроде.
fun m:n/arity vs fun() -> имеет аналог и в хаскеле:
k arg = vs \arg ->
источник

ML

Maksim Lapshin in ErlangRus
а это именно пример того, как одна функция в другую передается для расширения функциональности
источник

DF

Denis Fakhrtdinov in ErlangRus
Имхо, важнейшие признаки ФЯ — это иммутабельность ака делим программу на две половинки в любой точке, и декларативное описание программы через композицию функций.
источник

ИИ

Иванов Иванов... in ErlangRus
Denis Fakhrtdinov
Энивей, если Э не функциональный, то какой? Процедурный?
язык обслуживания акторной виртуальной машины
источник

DF

Denis Fakhrtdinov in ErlangRus
Нет такой парадигмы.
источник

LW

Lev Walkin in ErlangRus
да не обязан быть, чтобы быть функциональным.
источник

ИИ

Иванов Иванов... in ErlangRus
Denis Fakhrtdinov
Нет такой парадигмы.
предметно-ориентированный язык
источник

ML

Maksim Lapshin in ErlangRus
Denis Fakhrtdinov
Имхо, важнейшие признаки ФЯ — это иммутабельность ака делим программу на две половинки в любой точке, и декларативное описание программы через композицию функций.
В такой формулировке я даже не знаю, где хорошо.

Ну смотри сам: в эрланге иммутабельность только у некоторого класса значений внутри одного процесса. Счетчики, ресурсы и т.п. — оно не иммутабельно.

Есть всякие посылки сообщений, вызовы process_info и т.п., что делает код совершенно непредсказуемым и грязным.

Глядя на код на эрланге, ты не можешь узнать: чистый он или грязный, пока его весь не проверишь.

Говорят, что на хаскеле можно, но я не особо в курсе.
источник