Size: a a a

2021 April 13

P

Purple in ФП
Покажите реализацию? :)
источник

DK

Daniil Kostin in ФП
А что именно интересует?
источник

P

Purple in ФП
Код bind же :)
источник

DK

Daniil Kostin in ФП
источник

P

Purple in ФП
Спасибо!
источник

DK

Daniil Kostin in ФП
@graninas Упоминал, кажется, что можно map через bind выразить... Как это возможно? Или это aplicative через bind и map только можно?
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in ФП
Нужен of :: Applicative f => a -> f a - тогда можно из bind сделать функтор
источник

АГ

Александр Гранин... in ФП
Да не, из bind можно сделать и аппликативную операцию ap, и функторную fmap. Вот пример из моих плюсовых библиотек:
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in ФП
Можно пример?
источник

АГ

Александр Гранин... in ФП
Пардон, я как раз его и ищу, а тут меня отвлекли
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in ФП
Я, кстати, привык этот bind называть chain. Может, одна из сложностей в ФП - это неунифицированные имена...
источник

R

Rafael in ФП
map = (f) => bind(v => pure( f(v) ) )
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in ФП
Вот. Без pure не получится. Я об этом же)
источник

АГ

Александр Гранин... in ФП
Чет не могу найти. Из-за особенностей C++ есть fmap, реализованный не через bind, а повторением его логики.

Вот bind:

https://github.com/graninas/cpp_stm_free/blob/7c626aad0b7c90b93422ed5602a66bc77e2023e2/cpp_stm/stm/church/stm.h#L16

Вот fmap:

https://github.com/graninas/cpp_stm_free/blob/7c626aad0b7c90b93422ed5602a66bc77e2023e2/cpp_stm/stm/church/functor.h#L12
источник

DK

Daniil Kostin in ФП
тоже вариант, монада без pure не монада по Брагилевскому
источник

АГ

Александр Гранин... in ФП
Операция pure по умолчанию должна существовать рядом с bind, так-то. Иначе монада и не получится
источник

АГ

Александр Гранин... in ФП
Вот
источник

АГ

Александр Гранин... in ФП
А, ясно, у вас там of - это pure
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in ФП
Ну, мы же только про функцию bind говорили. А так то, любая монада - аппликатив, любой аппликатив - функтор
источник

АГ

Александр Гранин... in ФП
Ну да, мы не уточняли, что кроме bind как монадического механизма должна быть операция вкладывания простого значения в этот монадический контекст
источник