Size: a a a

2020 September 14

AH

Ayrat Hudaygulov in F# Chat
компилятор там ничего ОСОБОГО не делает с async { }
источник

AH

Ayrat Hudaygulov in F# Chat
что бы он делал с любым другим СЕ
источник

VL

Vladimir Lozhnikov in F# Chat
хм. если асинк - это построитель, то значит он должен разворачиваться компилятором в цепочку вызовов Bind? разве нет?
источник

AH

Ayrat Hudaygulov in F# Chat
а вот seq { } он реврайтит вообще полнстью
источник

AH

Ayrat Hudaygulov in F# Chat
Vladimir Lozhnikov
хм. если асинк - это построитель, то значит он должен разворачиваться компилятором в цепочку вызовов Bind? разве нет?
всё так, но ты эти вызовы можешь в async.fs посмотреть и найти всё что происходит
источник

AH

Ayrat Hudaygulov in F# Chat
и там внутри никаких монад
источник

VL

Vladimir Lozhnikov in F# Chat
интересно. я думал, что там монады
источник

AH

Ayrat Hudaygulov in F# Chat
источник

Г

Герман in F# Chat
Ayrat Hudaygulov
а вот seq { } он реврайтит вообще полнстью
хм, а он итератор делает?
источник

AH

Ayrat Hudaygulov in F# Chat
Герман
хм, а он итератор делает?
стейт машину. можешь на шарплабе любой сек в Сишарп декомпильнуть
источник

AH

Ayrat Hudaygulov in F# Chat
охуеешь (или нет)
источник

VL

Vladimir Lozhnikov in F# Chat
так ведь там же монада
источник

VL

Vladimir Lozhnikov in F# Chat
есть Bind/Return
источник

Г

Герман in F# Chat
Ayrat Hudaygulov
стейт машину. можешь на шарплабе любой сек в Сишарп декомпильнуть
да, действительно
источник

Г

Герман in F# Chat
а со штукой, которую Сайм пилит, это со всем будет работать?
источник

VZ

Vlad Zaa in F# Chat
Да
источник

ST

Sergey Tihon in F# Chat
зато с Async можно вот так красиво делать
https://twitter.com/praeclarum/status/1294706310202585088
источник

VZ

Vlad Zaa in F# Chat
Если в той имплементации, что сейчас пойдёт в мастер
источник

Г

Герман in F# Chat
прикольно, пишешь монады, а в C# они выглядят как goto
источник

ST

Sergey Tihon in F# Chat
а в С# приумываются JoinableTask - https://docs.microsoft.com/en-us/dotnet/api/microsoft.visualstudio.threading.joinabletask?view=visualstudiosdk-2019
добавлять примитивы которые не идут из коробки - https://github.com/microsoft/vs-threading
и аналайзеры чтобы фейлили билд на async void и на всякие .GetAwaiter().GetResult()
источник