Size: a a a

2020 July 12

VS

Vasily Shapenko in F# Chat
А ещё есть kprintf
источник

AH

Ayrat Hudaygulov in F# Chat
Dr. Friedrich von Never
Ну и, да, моё утверждение про перф опровергнуто, у printfn он почти гарантированно будет ниже
Так я реально не понял, а нельзя это все выпилить и оставить Console.Write(Line) с типизацией от sprintf?

Какой профит у кастомного фшарп вывода вообще?
источник

Dv

Dr. Friedrich von Ne... in F# Chat
Ayrat Hudaygulov
Так я реально не понял, а нельзя это все выпилить и оставить Console.Write(Line) с типизацией от sprintf?

Какой профит у кастомного фшарп вывода вообще?
Ты у меня это спрашиваешь? %)
источник

Dv

Dr. Friedrich von Ne... in F# Chat
Ayrat Hudaygulov
Ну типа зашадовить?

let inline printfn format =
 Console.WriteLine (sprintf format)
Я вот не вижу, чем этот твой код хуже настоящего
источник

Dv

Dr. Friedrich von Ne... in F# Chat
И вижу, чем твой код лучше настоящего
источник

AH

Ayrat Hudaygulov in F# Chat
Dr. Friedrich von Never
Ты у меня это спрашиваешь? %)
Ну может я чот упускаю и там есть уникальные фичи
источник

Dv

Dr. Friedrich von Ne... in F# Chat
Так что я тоже не понимаю, зачем так так сложно
источник

Dv

Dr. Friedrich von Ne... in F# Chat
Инопланетяне прилетели и задизайнили нам printfn.
источник

VS

Vasily Shapenko in F# Chat
Возможно, стоит спросить Сайма, какого хуя
источник

Dv

Dr. Friedrich von Ne... in F# Chat
Возможно.
источник

Dv

Dr. Friedrich von Ne... in F# Chat
Но ты представляешь, сколько у него там таких спрашивателей? :)
источник

Dv

Dr. Friedrich von Ne... in F# Chat
И некоторые с реально полезными вопросами приходят, а не с фигнёй, как мы :)
источник

Dv

Dr. Friedrich von Ne... in F# Chat
https://github.com/dotnet/fsharp/blob/71fefdb0a6d10e3c9b1795a363456c1882372ca4/src/fsharp/FSharp.Core/printf.fs#L171-L172 вот это вот всё тоже околхозится, я так понимаю
источник

VK

Vladislav Khapin in F# Chat
Ayrat Hudaygulov
Так я реально не понял, а нельзя это все выпилить и оставить Console.Write(Line) с типизацией от sprintf?

Какой профит у кастомного фшарп вывода вообще?
потому что можно.
источник

Dv

Dr. Friedrich von Ne... in F# Chat
Ayrat Hudaygulov
Так я реально не понял, а нельзя это все выпилить и оставить Console.Write(Line) с типизацией от sprintf?

Какой профит у кастомного фшарп вывода вообще?
В принципе мб оно там как-то более оптимизированно делается
источник

Dv

Dr. Friedrich von Ne... in F# Chat
Ну, то есть не везде sprintf будет ок
источник

Dv

Dr. Friedrich von Ne... in F# Chat
Скажем, printfn может по частям сразу в стрим отдавать
источник

Dv

Dr. Friedrich von Ne... in F# Chat
Тут хз какой вариант будет лучше
источник

Dv

Dr. Friedrich von Ne... in F# Chat
Но у sprintf будет аллокаций больше
источник

АВ

Андрей Вилинский... in F# Chat
George Bessonov
смог при помощи флагов кастомных операций и [<ProjectionParameter>] сделать биндоэквивалентную операцию. В принципе, так нравится даже больше - меньше неявного поведения.
Но таки интересно (и непонятно), как делать, если перегружать Bind вместо кастомной операции
куча причин может быть
- переопределить CE не забыл? может быть тут нужен override. Например попробуй переименовать, отнаследоваться от AsyncBuilder и потом let async = MyAsyncBuilder()
- выражение в this из предыдущего, и аргументы подходить по сигнатуре?
- попробуй сначала без рефайнмента 'u when 'u :> Entity, я не уверен умеет ли билдер с ними обходиться
- если предыдущего выражения нет, т.е. оно идет первым в блоке, как тут async { let! driveItem = ..., то возможно надо еще определить this.Zero
источник