Size: a a a

2020 October 14

MS

Michael Snytko in F# Chat
хм. поделаю этот урок, может станет понятнее
источник

MS

Michael Snytko in F# Chat
let! это типа await в C# ?
источник

ДБ

Дмитрий Башинский... in F# Chat
да
источник

R

Roman in F# Chat
Michael Snytko
let! это типа await в C# ?
тока его можно натянуть на любой тип-контейнер, прикинь. Типа сделать так, чтоб await доставал значение не только из таска/асинка, но и из option, result и чего угодно другого
источник

MS

Michael Snytko in F# Chat
Roman
тока его можно натянуть на любой тип-контейнер, прикинь. Типа сделать так, чтоб await доставал значение не только из таска/асинка, но и из option, result и чего угодно другого
что такое тип-контейнер
источник

((

(fun () -> ()) in F# Chat
монада
источник

R

Roman in F# Chat
ну Option<'T> — контейнер вокруг дженерик типа Т.
источник

((

(fun () -> ()) in F# Chat
пора уже сказать это слово
источник

R

Roman in F# Chat
Некая обертка со своей смысловой нагрузкой
источник

MS

Michael Snytko in F# Chat
Roman
ну Option<'T> — контейнер вокруг дженерик типа Т.
а зачем там чего-то await-тить если оно уже здесь
источник

MS

Michael Snytko in F# Chat
(fun () -> ())
монада
да что такое эти ваши монады что вы людей ими пугаете
источник

R

Roman in F# Chat
ну в Option значение может быть, а может и не быть. Если ты хочешь сделать длинную цепочку "Если в опшн1 есть значение, возьми его и сделай с ним операцию1. На выход получишь опшн2. Если в нем есть значение, сделай с ним операцию2. На выходе получишь опшн3. И так далее"
источник

R

Roman in F# Chat
Michael Snytko
да что такое эти ваши монады что вы людей ими пугаете
вон я тебе описал простыми словами за эти монады
источник

((

(fun () -> ()) in F# Chat
Michael Snytko
да что такое эти ваши монады что вы людей ими пугаете
просто если почитать что такое монада и функция bind, то должно стать понятно
источник

MS

Michael Snytko in F# Chat
одним словом как-то очень много описано
источник

R

Roman in F# Chat
Michael Snytko
одним словом как-то очень много описано
ну можно зайти с другого конца — монада это моноид в категории эндофункторов. Так слов меньше
источник

MS

Michael Snytko in F# Chat
вот так сразу понятно что мне сейчас это не нужно
источник

AH

Ayrat Hudaygulov in F# Chat
Michael Snytko
одним словом как-то очень много описано
Ну Task<T> это тоже контейнер. Await достаёт оттуда T ОСОБЫМ образом с подвешиванием всего ПОСЛЕ евейта в колбек

типа

SomeTask.OnSuccess(result =>
  ...
)

вот примерно так делает await (не так, но допустим)
источник

R

Roman in F# Chat
Michael Snytko
вот так сразу понятно что мне сейчас это не нужно
Ну вот тут ты и ошибся!
источник

VS

Vladimir Shchur in F# Chat
Michael Snytko
что такое тип-контейнер
тебе проще всего сейчас представлять что это дженерик тип List<>, Task<>, Array<> и т п
источник