Size: a a a

F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)

2020 August 11

R

Roman in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
а, моэет быть, да
источник

SN

Shub Niggurath in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
и у функтора сигнатура должна быть (a -> b) - F<a>->F<b>
источник

SN

Shub Niggurath in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
в смысле у fmap
источник

R

Roman in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
ага
источник

R

Roman in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
но у байнда и ретурна тоже не подходящая сигнатура получается
источник

SN

Shub Niggurath in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
у них другие законы немножко. монада является функтором, если я не ошибаюсь. тема в том, что fmap можно реализовать в терминах bind и return
источник

SN

Shub Niggurath in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
опять же, в эфшарпе этого нет :(
источник

DS

Doge Shibu in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
Roman
Единственное, что у меня немного не вяжется, это что у мапа сигнатура не 'a -> 'a -> 'a, но возможно @DogeShibu поможет разобраться
Нет, тут про другое.

Если ты пытаешься объяснить как связаны монада и моноид, то это лучше не так делать.

Если речь просто про монады, то там есть такие сигнатуры:

bind :: m a -> (a -> m b) -> m b
pure :: a -> m a

Ну и bind можно заменить на join :: m (m a) -> a
источник

SN

Shub Niggurath in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
в смысле, полноценную монаду надо  полностью пилить самому
источник

DS

Doge Shibu in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
Да и то, pure там из аппликативного функтора берется
источник

MS

Maksym Suprunenko in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
Shub Niggurath
ну ты ж понимаешь, что async  result - это банально 'T и 'U?
Ну это и так понятно, вопрос в том что мало слышал что его юзают
источник

MS

Maksym Suprunenko in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
Больше статей как просто взять СЕ и все
источник

MS

Maksym Suprunenko in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
И дальше пишешь на сишарпе
источник

SN

Shub Niggurath in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
Maksym Suprunenko
Ну это и так понятно, вопрос в том что мало слышал что его юзают
это просто пузырек внимание, как у того парня, который на ютубе рассказывал, что фп фактически никому неизвестно, поэтому на нем не пишут (sic)
источник

SN

Shub Niggurath in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
а я вот смотрю курс лекций  по haskell на o'reilly и у меня крыша едет, я банально не понимаю ничего уже с первых минут. а для автора это "ну очевидно, все ж так пишут"
источник

MS

Maksym Suprunenko in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
Shub Niggurath
это просто пузырек внимание, как у того парня, который на ютубе рассказывал, что фп фактически никому неизвестно, поэтому на нем не пишут (sic)
Судя по джет коду я не особо видел его использование если честно
источник

SN

Shub Niggurath in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
в джет код лучше не смотреть, это образец как не надо делать скорее
источник

MS

Maksym Suprunenko in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
Единственное где был уместный фшарп код это только в ивент сорсинге
источник

MS

Maksym Suprunenko in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
С паттерн матчингом
источник

SN

Shub Niggurath in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
ну да, если на минуту забыть о неуместности самого ивент сорсинга
источник