
Vasily
14.07.2018
19:33:03
Точнее не так - скорость написания кода в райдере выше, чем в студии

Roman
14.07.2018
19:47:04

Vasily
14.07.2018
19:54:29
В обычной
Вскод не пробовал

Google

Vasily
14.07.2018
19:54:46
В силу некоторых причин

Pavel
15.07.2018
05:32:43

Vasily
15.07.2018
09:09:35

Pavel
15.07.2018
14:31:43
напомните, пожалуйста, что делать, когда в конструктор класса надо передать функцию, которая должна работать на многих типах объектов (например, лог)? если делать "в лоб", в качестве дженерик параметра функция берёт первое использование =\
типа вот так всё хорошо
let log description obj =
printfn "%s:\n%s" description (obj |> SimpleRaft.Core.Utils.Print.leftPad 4)
type A () =
let i: int = 10
do log "int" i
let b: bool = true
do log "bool" b
а вот так ругается в случае с булом на то, что у log сигнатура (string -> int -> unit)
type A (log) =
let i: int = 10
do log "int" i
let b: bool = true
do log "bool" b

Friedrich
15.07.2018
14:39:01

Sunny
15.07.2018
14:39:11

Friedrich
15.07.2018
14:39:28

Sunny
15.07.2018
14:39:47

Friedrich
15.07.2018
14:40:01
По идее, он хочет ∀x: x → void
Но таких типов в F# не бывает :(

Sunny
15.07.2018
14:40:19
или там не бывает такого?

Google

Pavel
15.07.2018
14:40:41
он просто после каждого endl добавляет n пробелов

Sunny
15.07.2018
14:41:30
int -> 'a -> string
я не шарю, как записывается типизация в эфшарпе, но в хаскеле тогда для log прокатило бы, наверное
string -> 'a -> unit
или что-то в таком духе

Pavel
15.07.2018
14:41:41

Friedrich
15.07.2018
14:42:14

Pavel
15.07.2018
14:42:15
ну вот тут не прокатывает, т.к. 'a типизируется по первому использованию

Sunny
15.07.2018
14:42:26
хм, интересно-интересно

Friedrich
15.07.2018
14:42:26
Мне думается, что такая сигнатура без forall не записывается.

Pavel
15.07.2018
14:42:31
не прокатывает =)
по идее, да

Friedrich
15.07.2018
14:42:52
Я выше указал, как мы в F# такие вещи кодируем, если надо.

Pavel
15.07.2018
14:42:57
очень надеялся на то, что кроме 'a и ^a есть ещё что-то

Friedrich
15.07.2018
14:43:27

Sunny
15.07.2018
14:43:44
Да.
покажи пжлст, как это записывается
хотелось бы узнать ето

Pavel
15.07.2018
14:44:53
type Logger =
member __.log description obj =
printfn "%s:\n%s" description (obj |> SimpleRaft.Core.Utils.Print.leftPad 4)
type A (logger: Logger) =
let i: int = 10
do logger.log "int" i
let b: bool = true
do logger.log "bool" b
но выглядит не оч, да

Friedrich
15.07.2018
14:45:31

Google

Ayrat
15.07.2018
16:08:41
Такие вещи через inline доступны.
Типа
let sum a b = a + b
Выведет тип как int -> int -> int
А то же самое с inline
^a -> ^а -> ^a, где ^a имеет статический метод +
Можно и руками через srtp написать

Friedrich
15.07.2018
16:09:35

Ayrat
15.07.2018
16:09:41
Эт да

Friedrich
15.07.2018
17:39:36
\о

Alexey
15.07.2018
17:40:44
Приу

Vladimir
15.07.2018
17:55:05

Friedrich
15.07.2018
17:55:52

Vladimir
15.07.2018
19:44:14
Прочитал сча про зебру, просто шикарная статья, столько разных техник!

Igor
15.07.2018
19:45:06
Думаешь стоит перевести?

Vladimir
15.07.2018
19:46:40
Однозначно

Vasily
15.07.2018
19:50:17
Мне там про роуты понравилось
Радикс три
Вот это вот всё

евроневидимка
15.07.2018
19:52:25
сраный ксамарин
засрал мне F#-темплейты своими андроидными импортами
что за дела вообще

Igor
15.07.2018
19:54:58
Меня VSCode иногда бесит, по 10 раз добавляя импорты, когда что-то вводишь в подске.
Благо она сама потом их подсвечивает как ненужные.

Roman
15.07.2018
20:04:35
Снова здравствуйте

Google

Летучая
15.07.2018
20:04:58
Дратути! Как называется функция над Seq, кoтoрая пo oчереди кo всем элементам пoследoвательнoсти применяет маппинг и передаёт результат дальше? Есть ли такая?
Мапинг: 'a -> 'b -> 'a
Нужна сигнатура: 'b seq -> ('a -> 'b -> 'a) -> 'a

Igor
15.07.2018
20:06:54
Думаю тебе нужен Seq.fold
А вообще есть http://fsdn.azurewebsites.net (и еще бот, но его надо перезапустить)

Летучая
15.07.2018
20:09:00
Откуда берется 'a ?
Oчень хoрoший вoпрoc, я oказывается переменную замкнул и oтсюда пoшла путаница (спасибo!) (или не замкнул...)

Roman
15.07.2018
20:09:39

евроневидимка
15.07.2018
20:10:01
а Span<T> в фшарпе не поддерживается?
на меня компилер ругается

Летучая
15.07.2018
20:10:30
Хм. Тoчнo, этo fold, спасибo!
('a -> 'b -> 'a) -> 'a -> 'b seq -> 'a

Roman
15.07.2018
20:10:52

евроневидимка
15.07.2018
20:10:57
так я поставил

Roman
15.07.2018
20:11:01
Аа

евроневидимка
15.07.2018
20:11:12

Roman
15.07.2018
20:11:40
Все что я знаю про спан это то что он пока ставится отдельным пакето

евроневидимка
15.07.2018
20:11:59
ну да
System.Memory
ладно, массивом обойдусь

Vlad
15.07.2018
20:12:25

евроневидимка
15.07.2018
20:12:28
а, окей
почему у меня твоя авка вечно пропадает?

Vlad
15.07.2018
20:14:33
а, окей
https://github.com/Microsoft/visualfsharp/pull/4888

Google

Vlad
15.07.2018
20:14:46
Хотя видимо надо 15.8 дождаться
Студии

Igor
15.07.2018
20:40:55
Кто-нибудь тыкал FSharpPlus?
Есть там операто что бы event или IObserable<T> замапить?
Пытаюсь <*> заюзать, но не компилируется.
А я перепутал операторы, надо было <!> ?

Andrew
16.07.2018
05:39:54

Igor
16.07.2018
05:44:50
В итоге пока решил выпилить fsharpplus, тк этот оператор не удобно использовать.
Делаю по простому |> Observable.map

Vagif
16.07.2018
07:58:51
Пойдя на поводу у Акклинга, мы обновили FSharp.Core до 4.5, а Бартош сегодня выпустил новый Акклинг, где вернул старую версию FShap.Core (4.3.4). На вопрос, почему, объяснил, что ему в дискуссии в Слаке сказали, что переходить на FSharp.Core пока рано, это релиз для будущих версий компилятора и инструментария. Теперь вот сижу, думаю, возвращаться на старую версию, или остаться на новой. У нас все тесты работают, ни одной новой проблемы не возникло. Есть ли у кого-нибудь опыт работы с FSharp.Core 4.5?

Vasily
16.07.2018
07:59:23
Ну я вроде в проект подсосал
Пока проблем особых не видел

Vlad
16.07.2018
08:01:23
Пойдя на поводу у Акклинга, мы обновили FSharp.Core до 4.5, а Бартош сегодня выпустил новый Акклинг, где вернул старую версию FShap.Core (4.3.4). На вопрос, почему, объяснил, что ему в дискуссии в Слаке сказали, что переходить на FSharp.Core пока рано, это релиз для будущих версий компилятора и инструментария. Теперь вот сижу, думаю, возвращаться на старую версию, или остаться на новой. У нас все тесты работают, ни одной новой проблемы не возникло. Есть ли у кого-нибудь опыт работы с FSharp.Core 4.5?
Я когда игрался с провайдерами, были проблемы с подписями или еще чем-то. Пришлось откатится до 4.3.4


Roman
16.07.2018
08:01:59
Пойдя на поводу у Акклинга, мы обновили FSharp.Core до 4.5, а Бартош сегодня выпустил новый Акклинг, где вернул старую версию FShap.Core (4.3.4). На вопрос, почему, объяснил, что ему в дискуссии в Слаке сказали, что переходить на FSharp.Core пока рано, это релиз для будущих версий компилятора и инструментария. Теперь вот сижу, думаю, возвращаться на старую версию, или остаться на новой. У нас все тесты работают, ни одной новой проблемы не возникло. Есть ли у кого-нибудь опыт работы с FSharp.Core 4.5?
Возвращаться.

Vagif
16.07.2018
08:07:02
Мы используем 3 провайдера (JSON, Yaml, SQL), все работают.