Size: a a a

2021 May 28

VS

Vladimir Shchur in F# Chat
только там не на уровень параллелизма, а на количество тредов
источник

VS

Vladimir Shchur in F# Chat
где-то в 4.7 появилось
источник

AH

Ayrat Hudaygulov in F# Chat
Починили давно
источник

VS

Vladimir Shchur in F# Chat
:( всё время забываю
источник
2021 May 29

I

Igor in F# Chat
Как думает, здесь нужен inline?

module Result =
 let inline fold fOk fError = function
   | Ok x -> fOk x
   | Error e -> fError e
источник

VS

Vasily Shapenko in F# Chat
Да
источник

VS

Vasily Shapenko in F# Chat
Иначе типы выведет по первому применению
источник

K

Kir in F# Chat
Так, стоп, а в фарше let-биндинги не генерализуются, что ли?
источник

VS

Vasily Shapenko in F# Chat
Генерализации нет
источник

K

Kir in F# Chat
Так, а если явно указать, с 'a, 'b?
источник

VS

Vasily Shapenko in F# Chat
А если явно указать , то норм
источник

VS

Vasily Shapenko in F# Chat
Но надо проверять
источник

VS

Vasily Shapenko in F# Chat
Там куча нюансов
источник

K

Kir in F# Chat
Отсутствие генерализации у let это поминки, конечно
источник

VS

Vasily Shapenko in F# Chat
Зато однопроходный вывод типов
источник

VS

Vasily Shapenko in F# Chat
Ну и непонятно, почему поминки
источник

VS

Vasily Shapenko in F# Chat
Фшарп вполне себе прекрасный инструмент для написания продакшн кода
источник

K

Kir in F# Chat
> type Either<'a, 'b> = Left of 'a | Right of 'b
-
- ;;
type Either<'a,'b> =
 | Left of 'a
 | Right of 'b

> ;;                                            
> let fold f g = function Left a -> f a | Right b -> g b
- ;;
val fold : f:('a -> 'b) -> g:('c -> 'b) -> _arg1:Either<'a,'c> -> 'b


В репле выводит
источник

I

Igor in F# Chat
Вот я тоже не понял, inline тут не влияет на вывод типов
источник

I

Igor in F# Chat
Думал может "перформанса добавит", за счет явного инлайнинга
источник