Size: a a a

2021 January 15

I

IdiocyAcceptance in F# Chat
a -> M b же
источник

I

IdiocyAcceptance in F# Chat
Michael Snytko
Вот картинка про монады, почему здесь M a , а потом a -> M b . a и b в примере int, один и тот же тип, тогда будет a -> M a
Здесь про общий случай
источник

I

IdiocyAcceptance in F# Chat
Some x |> Option.bind (fun x -> if x > 3 then Some x else None) к примеру - здесь только int. А если вернуть Some float x, то тип уже изменится
источник

I

IdiocyAcceptance in F# Chat
Так что в целом a -> M b указывает на то, что выходной тип может быть любым
источник

AH

Ayrat Hudaygulov in F# Chat
Michael Snytko
Вот картинка про монады, почему здесь M a , а потом a -> M b . a и b в примере int, один и тот же тип, тогда будет a -> M a
потому что a -> M a это просто Task.FromResult
источник

AH

Ayrat Hudaygulov in F# Chat
ты из типа инт можешь сделать Task<int>
источник

AH

Ayrat Hudaygulov in F# Chat
достаточно бесполезно в работе
источник

I

IdiocyAcceptance in F# Chat
Michael Snytko
Вот картинка про монады, почему здесь M a , а потом a -> M b . a и b в примере int, один и тот же тип, тогда будет a -> M a
Вообще map/bind очень легко воспринимается глядя на код этих функций. А не на эти графики и объяснения
источник

MS

Michael Snytko in F# Chat
IdiocyAcceptance
Вообще map/bind очень легко воспринимается глядя на код этих функций. А не на эти графики и объяснения
да я вроде понимаю, но вроде и нет  ¯\_(ツ)_/¯
источник

I

IdiocyAcceptance in F# Chat
Michael Snytko
да я вроде понимаю, но вроде и нет  ¯\_(ツ)_/¯
источник

MS

Michael Snytko in F# Chat
вот так попробовал!
источник

I

IdiocyAcceptance in F# Chat
Michael Snytko
вот так попробовал!
Да, всё верно в целом. На опшенах легко понимаешь что к чему, ибо ты с ними часто работаешь и привыкший
источник

I

IdiocyAcceptance in F# Chat
А как понял, то можно на любой контейнер логически перенести такое поведение
источник

MS

Michael Snytko in F# Chat
IdiocyAcceptance
А как понял, то можно на любой контейнер логически перенести такое поведение
аа, то есть такие функции можно друг в друга отправлять !
источник

MS

Michael Snytko in F# Chat
ну или как это правильно выразить
источник

MS

Michael Snytko in F# Chat
цепочкой вызывать
источник

I

IdiocyAcceptance in F# Chat
Ну, это да) Option.map |> Option.bind |> Option.bind
источник

I

IdiocyAcceptance in F# Chat
стандартно
источник

VZ

Vlad Zaa in F# Chat
Michael Snytko
вот так попробовал!
Лучше .Value напрямую не использовать,
источник

VZ

Vlad Zaa in F# Chat
Это defeats the purpose опшна.
источник