Size: a a a

2021 March 25

DK

Daniil Kostin in ФП
Посмотрел доклад - хорошо объясняете.
Я не переводил bind, что это связывание.
Нашло на меня недолгое прозрение и я сделал то, что мне надо, но не полностью.
В вашей SMTL sequence можно заменить на bind - композицию с предыдущим вычислением, но просто игнорировать результат от первого. Не уверен что в плюсах так можно. Они сильно изменились за 15 лет как я их видел последний раз.
takeFork(forks.left).bind((_) => takeFork(forks.right))
источник

VG

Vandres Guzmán in ФП
Haha so do i 😝
источник

DK

Daniil Kostin in ФП
Теперь у меня другая проблема.
Что надо сделать с композицией, чтобы получить все ее результаты в массиве, например?
fn1
 .bind(fn2)
 .bind(fn3)
 .bind(fn4)
 .apply(true)
 .???
 // [fn1Result, fn2Result, fn3Result, fn4Result]
 .forEach(...)

fn(canDo) => (prev) => calculation
Как это в ФП хотя бы называется lift, apply?
источник

JS

Jerzy Syrowiecki in ФП
Daniil Kostin
Теперь у меня другая проблема.
Что надо сделать с композицией, чтобы получить все ее результаты в массиве, например?
fn1
 .bind(fn2)
 .bind(fn3)
 .bind(fn4)
 .apply(true)
 .???
 // [fn1Result, fn2Result, fn3Result, fn4Result]
 .forEach(...)

fn(canDo) => (prev) => calculation
Как это в ФП хотя бы называется lift, apply?
в Хаскеле это traverse, если я правильно понял
источник

JS

Jerzy Syrowiecki in ФП
вообще прочитайте хотя бы одну книжку по Хаскелю, а потом прикладывайте ко своему языку
источник

JS

Jerzy Syrowiecki in ФП
чтобы разложить по полочкам, а не куски рецептов смешивать просто так
источник

АГ

Александр Гранин... in ФП
Daniil Kostin
Посмотрел доклад - хорошо объясняете.
Я не переводил bind, что это связывание.
Нашло на меня недолгое прозрение и я сделал то, что мне надо, но не полностью.
В вашей SMTL sequence можно заменить на bind - композицию с предыдущим вычислением, но просто игнорировать результат от первого. Не уверен что в плюсах так можно. Они сильно изменились за 15 лет как я их видел последний раз.
takeFork(forks.left).bind((_) => takeFork(forks.right))
Спасибо.
Да, sequence там через bind и выражается
источник

АГ

Александр Гранин... in ФП
Daniil Kostin
Теперь у меня другая проблема.
Что надо сделать с композицией, чтобы получить все ее результаты в массиве, например?
fn1
 .bind(fn2)
 .bind(fn3)
 .bind(fn4)
 .apply(true)
 .???
 // [fn1Result, fn2Result, fn3Result, fn4Result]
 .forEach(...)

fn(canDo) => (prev) => calculation
Как это в ФП хотя бы называется lift, apply?
bind потенциально возвращают разные типы, в массив в общем случае не сложить. Все bind вкладываются в лямбды, а потом самая внутренняя возвращает пачку результатов этих баиндов
источник

АГ

Александр Гранин... in ФП
Если типы одинаковы, то можно вернуть и массив. Вместо вызова bind через точку (это называется fluent interface) сложить bind в виде лямбд в массив и сделать traverse. Fluent interface более слабая операция, чем bind, она его ограничивает. Через нее настоящий bind не сделать
источник

АГ

Александр Гранин... in ФП
(Исправил сообщение, чтобы оно стало понятнее)
источник

DK

Daniil Kostin in ФП
Александр Гранин
Если типы одинаковы, то можно вернуть и массив. Вместо вызова bind через точку (это называется fluent interface) сложить bind в виде лямбд в массив и сделать traverse. Fluent interface более слабая операция, чем bind, она его ограничивает. Через нее настоящий bind не сделать
спасибо за разжевывание, так более понятно
источник

YK

Yuri Kostin in ФП
Спасибо большое за ссылку
источник
2021 March 26

АГ

Александр Гранин... in ФП
Yuri Kostin
Спасибо большое за ссылку
На здоровье!
источник

IZ

Ilia Zviagin in ФП
Александр Гранин
На здоровье!
источник

D

Dmitry in ФП
товариши, подскажите, как вы относитесь к эликсиру?
источник

D

Dmitry in ФП
вопрос конечно общий, но может у кого-то опыт есть, кому-то нравится, или ещё что
думаю переходить на него, потому что мне кажется более реально в чистое ФП идти через эрланг
источник

DG

Denis Gabidullin in ФП
Dmitry
вопрос конечно общий, но может у кого-то опыт есть, кому-то нравится, или ещё что
думаю переходить на него, потому что мне кажется более реально в чистое ФП идти через эрланг
А что такое "идти в чистое ФП" и почему более реально через эрланг?
Речь про поиск работы или просто про изучение ЯП или что-то иное?
источник

D

Dmitry in ФП
Denis Gabidullin
А что такое "идти в чистое ФП" и почему более реально через эрланг?
Речь про поиск работы или просто про изучение ЯП или что-то иное?
про работу и про изучение одновременно

я-то на JS поднял ФП, потому что там нет типизации, но знаете, когда работаешь в конторе, и ты - один понимаешь что ты пишешь - этому никто не рад. Да и мне не прикольно, потому что не с кем тереть про функции. А функциональный js бывает только в одном месте - fintech. А у нас в Минске в такие стартапы берут 4+ пацанов в основном (когда я собесался мне сказали, мол да, круто, но мы нашли более подходящего чела). Поэтому я резонно рассудил, что, возможно, elixir помягче хаскеля будет - это раз, во-вторых есть вакансии - это два, и следовательно, есть возможность войти

отсюда, собственно, и вопрос: может ли Эрланг быть мои мостом?
источник

D

Dmitry in ФП
а то заставили на nest.js писать всякое
а мне не прикольно)
источник

JS

Jerzy Syrowiecki in ФП
если изучать, то лучше сразу Хаскель
источник