Size: a a a

2020 July 12

VS

Vasily Shapenko in F# Chat
Anatoly
непонятно зачем они лепят игнор после него, ну да ладно
Тебе надо массив юнитов проигнорить
источник

VS

Vasily Shapenko in F# Chat
Sequential под капотом - Parallel  с degree=1
источник

VS

Vasily Shapenko in F# Chat
Я недавно смотрел специально
источник

AH

Ayrat Hudaygulov in F# Chat
В фшарпе тоже есть обжект инициализация

Вместо

let x = Foo()
x.A <- a
x.B <- b
x

Можно
Foo(
 A = a,
 B = b
)
источник

Dv

Dr. Friedrich von Ne... in F# Chat
Anatoly
в идеале бы ещё поменьше типов писать в аргументах, но эт я уж и не знаю как. и так неплохо
Вообще, тут меньше не напишешь. F# очень плохо выводит типы, если ты у них зовёшь мембер через точку. Почти 100% таких случаев надо аннотировать (что у тебя и сделано), это нормально.
источник

Dv

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

AH

Ayrat Hudaygulov in F# Chat
Dr. Friedrich von Never
Кажется, рекорды умеет выводить по member access
Только их и умеет вроде
источник

A

Anatoly in F# Chat
Ayrat Hudaygulov
В фшарпе тоже есть обжект инициализация

Вместо

let x = Foo()
x.A <- a
x.B <- b
x

Можно
Foo(
 A = a,
 B = b
)
О, сейчас поправим
источник

GB

George Bessonov in F# Chat
Vasily Shapenko
Сделай кастомную операцию
смог при помощи флагов кастомных операций и [<ProjectionParameter>] сделать биндоэквивалентную операцию. В принципе, так нравится даже больше - меньше неявного поведения.
Но таки интересно (и непонятно), как делать, если перегружать Bind вместо кастомной операции
источник

АВ

Андрей Вилинский... in F# Chat
ну как, перегрузил и всё. а в чем вопрос?
источник

GB

George Bessonov in F# Chat
Андрей Вилинский
ну как, перегрузил и всё. а в чем вопрос?
если в коде выше
1) убрать [<CustomOperation...
2) переименовать this.Authenticated в this.Bind
3) в теле CE вместо authenticated ... into driveItem написать let! driveItem = ...

то код перегрузки не вызывается во время выполнения CE. Почему?
источник

A

Anatoly in F# Chat
Ayrat Hudaygulov
В фшарпе тоже есть обжект инициализация

Вместо

let x = Foo()
x.A <- a
x.B <- b
x

Можно
Foo(
 A = a,
 B = b
)
в общем, починил, чо, эфшарпово, функционально?
источник

VS

Vasily Shapenko in F# Chat
let restoreObject (objectStorage : ObjectStorageClient, record : ObjectSummary)
источник

AH

Ayrat Hudaygulov in F# Chat
Anatoly
в общем, починил, чо, эфшарпово, функционально?
можно карирнуть аргументы
источник

VS

Vasily Shapenko in F# Chat
Можно написать как restoreObject storage record =
источник

AH

Ayrat Hudaygulov in F# Chat
я думаю Вася о том же пишет
источник

AH

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

AH

Ayrat Hudaygulov in F# Chat
О том же)
источник

VS

Vasily Shapenko in F# Chat
Все башкиры кроме я
источник

AH

Ayrat Hudaygulov in F# Chat
тогда вот это
let restore x = restoreObject (objectStorage, x)

не нужно будет
источник