Size: a a a

2020 May 31

Dv

Dr. Friedrich von Ne... in F# Chat
Ayrat Hudaygulov
а в чём концептуальный гемор? я не вижу вариантов как фшарп сможет это вернуть без аллокаций
ValueTask можно авейтить только раз в жизни, а Async можно стартовать несколько раз в жизни.
источник

AH

Ayrat Hudaygulov in F# Chat
Dr. Friedrich von Never
ValueTask можно авейтить только раз в жизни, а Async можно стартовать несколько раз в жизни.
а, точно
источник

AH

Ayrat Hudaygulov in F# Chat
ОППАЧКИ
источник

Dv

Dr. Friedrich von Ne... in F# Chat
Из-за этого они там изобретают какую-то юбер сигнатуру
источник

Dv

Dr. Friedrich von Ne... in F# Chat
Типа шобы фактори от ValueTask можно было в асинк запечь
источник

Dv

Dr. Friedrich von Ne... in F# Chat
Но, да, где там будет аллок, а где ноаллок — поди разбери, вообще фиг знает.
источник

Dv

Dr. Friedrich von Ne... in F# Chat
У сишарпа не случайно для ValueTask целиком отдельный билдер.
источник

AH

Ayrat Hudaygulov in F# Chat
Подожди, но в сишурупе это сделано просто. Если ты евейтишь валуе таск второй раз, оно просто стреляет в рантайме
источник

AH

Ayrat Hudaygulov in F# Chat
Вообще в базовой либе фшарпа не хватает ленивного мемоизирующего асинка

Promise<T>

вот тогда все эти пляски были не нужны
источник

VK

Vladislav Khapin in F# Chat
Ayrat Hudaygulov
Вообще в базовой либе фшарпа не хватает ленивного мемоизирующего асинка

Promise<T>

вот тогда все эти пляски были не нужны
Пахнет гопаком
источник

AH

Ayrat Hudaygulov in F# Chat
всё что работает с валуе таском должно возвращать промис, который запомнит результат асинка и не поевейтит валуетаск второй раз
источник

AH

Ayrat Hudaygulov in F# Chat
Vladislav Khapin
Пахнет гопаком
ну я костылил свой промис для асинков через taskCompetionSource
источник

AH

Ayrat Hudaygulov in F# Chat
потому что ну есть много мест где ты не хочешь ждать одно и то же более 1 раза, но оно асинхронное
источник

AH

Ayrat Hudaygulov in F# Chat
и тут фшарп чот пасует
источник

AH

Ayrat Hudaygulov in F# Chat
например какая-нибудь инициализация сетингов
источник

VK

Vladislav Khapin in F# Chat
Ayrat Hudaygulov
например какая-нибудь инициализация сетингов
Кстати, а почему у IVar нету tryRead?
источник

AH

Ayrat Hudaygulov in F# Chat
Vladislav Khapin
Кстати, а почему у IVar нету tryRead?
источник

AH

Ayrat Hudaygulov in F# Chat
val isFull: IVar<'x> -> bool

val get: IVar<'x> -> 'x
источник

VK

Vladislav Khapin in F# Chat
Ну костыль же, я видел
источник

AH

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