Size: a a a

2020 October 15

AH

Ayrat Hudaygulov in F# Chat
ну я не думаю что тут прям проблема в асинк оверлоадах (хотя я другие СЕ не пробовал)
источник

I

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

I

IdiocyAcceptance in F# Chat
ля какое слово подобрал
источник

g

gsomix in F# Chat
Ayrat Hudaygulov
ну я не думаю что тут прям проблема в асинк оверлоадах (хотя я другие СЕ не пробовал)
Нет, конечно. Но это самый вероятный способ поймать ошибку. :)
источник

I

IdiocyAcceptance in F# Chat
а ведь оно подарило нам игнорящий printf!
источник

g

gsomix in F# Chat
@omgszer А вот еще интересный сниппет от Царьпалиса. http://www.fssnip.net/tP/title/Why-Task-bind-overloads-for-async-are-evil
источник

A

Anton in F# Chat
источник

I

Igor in F# Chat
gsomix
@omgszer А вот еще интересный сниппет от Царьпалиса. http://www.fssnip.net/tP/title/Why-Task-bind-overloads-for-async-are-evil
А почему evil 🤔
источник

g

gsomix in F# Chat
Igor
А почему evil 🤔
А какую перегрузку выберет компилятор? Почему?
источник

I

Igor in F# Chat
gsomix
А какую перегрузку выберет компилятор? Почему?
В зависимости от того дженерик класс или базовый тип
источник

g

gsomix in F# Chat
Igor
В зависимости от того дженерик класс или базовый тип
В данном примере.
источник

I

Igor in F# Chat
gsomix
В данном примере.
Видимо второй
источник

g

gsomix in F# Chat
Igor
Видимо второй
Да, конечно. Это зависит от операции, потому что do! компилируется в

b.Bind(expr, (fun () -> cexpr))
источник

g

gsomix in F# Chat
@angmarr А вот с Async<int> не скомпилировалось бы, для него не существует такой перегрузки Bind.
источник

I

Igor in F# Chat
Ну ладно, надо переварить
PS я тут припиню Антона, пока интервью идет
источник

VZ

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

ST

Sergey Tihon in F# Chat
в этот раз это  митинг а не стрим! оу)
источник

I

Igor in F# Chat
как мне это написать на фшарпе? чо-то не могу нагуглить
Span<char> chars = stackalloc char[length];
источник

VK

Vladislav Khapin in F# Chat
Igor
как мне это написать на фшарпе? чо-то не могу нагуглить
Span<char> chars = stackalloc char[length];
let inline stackalloc<'a when 'a: unmanaged> size =
   let p = NativePtr.stackalloc<'a> size |> NativePtr.toVoidPtr
   Span<'a>(p, size)
источник

I

Igor in F# Chat
многословно...
спасибо!
источник