
Vasily
26.04.2018
08:56:00
Seq.init?

Vladimir
26.04.2018
08:58:07
?

M.Borke
26.04.2018
09:24:42

Roman
26.04.2018
09:40:32
https://lukemerrett.com/fsharp-data-type-providers/

Google

Roman
26.04.2018
09:41:20

??
26.04.2018
09:46:07

Roman
26.04.2018
09:54:48
Это аналог uwp Data namespace?
Я не думаю что тут что-то связано с UWP, честно говоря не знаю что это за Data namespace.
Смысл в провайдерах типов.
Там описан json по нему провайдер типов а дизайнтайме генерит типы и их не надо прописывать ручками. Почитай статью, она очень интересна будет если ты не знаком с type providers

Vasily
26.04.2018
13:50:05
?
Короче, я ща в Африке, поэтому доступен эпизодически :)

Дед Пегас
26.04.2018
13:50:18

Vasily
26.04.2018
13:51:09
Тут норм

Дед Пегас
26.04.2018
13:51:34
Ну смотря где в Африке.
Кстати, где?

Vasily
26.04.2018
13:52:36
Марокко

Roman
26.04.2018
14:00:21

Vasily
26.04.2018
14:20:43
Могу, конечно, прислать видео про монадки,но не все заценят :)

Mikhail
26.04.2018
14:28:09
Африканские монадки?
Скажите, а автокомплит в студийном f sharp interactive должен работать по умолчанию?

Google

Vladimir
26.04.2018
14:31:16
вроде нет, надо ставить экстеншн

Mikhail
26.04.2018
14:49:43
А почему Ionide ругается на модуль fsi (или неймспейс/тип) ?

Vladimir
26.04.2018
15:58:48

Pavel
26.04.2018
16:19:43
Марокко
// offtop
Есть смылс ехать туда?
Всмысле отдыха, и новой культуры?
А то лоукосты так и манят

Roman
26.04.2018
16:30:31

Vasily
26.04.2018
16:47:14
Оффтоп - стоит

Roman
26.04.2018
17:13:38

??
26.04.2018
19:40:21

Roman
26.04.2018
19:48:55

??
26.04.2018
20:34:16
Но он не генерит в дизайн тайме типы?
Не в курсе, такой нужды не было. Проект был на VC++, некогда и неудобно было поиграться, были другие заботы, сейчас в студии отключены uwp компоненты, ради экономии места, не посмотреть, а на память не могу сказать.

M.Borke
27.04.2018
03:53:18
всем доброе утро друзья! ))

Roman
27.04.2018
07:49:43

Mikhail
27.04.2018
13:03:13
Подскажите, как проверить по нормальному тип функции?
Пишу в fsi float;;, мне пишут val it : (int -> float)

Roman
27.04.2018
13:04:24

Mikhail
27.04.2018
13:04:55

Anna
27.04.2018
13:05:08

Mikhail
27.04.2018
13:05:25

Roman
27.04.2018
13:05:40

Mikhail
27.04.2018
13:05:57

Google

Mikhail
27.04.2018
13:06:12
А мне тут какой-то конкретный случай подсовывают

Anna
27.04.2018
13:06:22
А, я поняла

Mikhail
27.04.2018
13:06:31

Anna
27.04.2018
13:06:46

Roman
27.04.2018
13:06:59
Operators.float<^T> Function (F#)
https://msdn.microsoft.com/en-us/visualfsharpdocs/conceptual/operators.float%5b%5et%5d-function-%5bfsharp%5d
По умолчанию fsi исходит из того, что все int
Но кстати, хороший вопрос как понять что ф-ция использует srtp

Mikhail
27.04.2018
13:08:15
Просто мне кажется, было бы удобно иметь возможность посмотреть на сигнатуру функции интерактивно

Roman
27.04.2018
13:08:36

Mikhail
27.04.2018
13:10:37
Интересно, сложно прикрутить в fsi команду вроде #type , которая бы выдала нужную информацию?

Roman
27.04.2018
13:15:26
How to check if a function's type parameters are statically resolved?
https://stackoverflow.com/q/16327655/2565656

Mikhail
27.04.2018
13:30:12
Так а всё же, сложно будет реализовать в fsi способ нормальной проверки типов?

Roman
27.04.2018
13:41:32

M.Borke
27.04.2018
14:10:22
друзья возможно говорить о full stack разработчик здесь? ))
особенно JavaScript , react и node

Roman
27.04.2018
14:20:23

M.Borke
27.04.2018
14:21:25
я учебник для фулл стэк и все

Google

Roman
27.04.2018
14:24:51

M.Borke
27.04.2018
14:25:05
English

Roman
27.04.2018
14:28:03
Hi! )
This is F# chat F# is .net-family language. F# can bе compiled to JavaScript with fable-compiler.
We don't chat about JS only solutions. So if you want to talk about JS, you should go here https://telegram.me/JSlang

M.Borke
27.04.2018
18:59:23

Sergey
27.04.2018
19:54:49
Вроде у меня завелись F# TPs для Yaml & Ini - если тут есть пользователи, плиз попробуйте и скажите работает для вас или есть вопросы - https://twitter.com/sergey_tihon/status/989951913520173056

Vladimir
28.04.2018
14:31:57
А подскажите плиз, какой аналог в фшарпе для Task.Run(fun () -> dosmth()) ?
Может async { do dosmth() } |> Async.Start ?

Friedrich
28.04.2018
14:33:06
Попробуй ещё StartAsTask :)

Vladimir
28.04.2018
14:34:16
сча)

Friedrich
28.04.2018
14:34:58
Просто так Start не даёт получить доступ к результату, выглядит не оч.
Кстати говоря, даже наш TaskBuilder.fs по-прежнему лучше, чем в C#. За счёт FSharp.Control.Tasks.ContextInsensitive
(эта штука позволяет везде неявно иметь ConfigureAwait(false))

Vladimir
28.04.2018
14:40:12
а как его запускать task { do dosmth() } |> ?

Friedrich
28.04.2018
14:40:30

Vladimir
28.04.2018
14:41:33
разве?! Это все что я окружаю CE стартует таск?
не должно быть так плохо)

Friedrich
28.04.2018
14:43:24
Я не утверждаю, что это всегда удобно. Это просто то, что просили люди для своих кейсов :)
Если тебе хочется много оперировать незапущенными async workflows или хочется управлять режимом их запуска (RunSynchronously etc.) — стандартный Async тебе больше подойдёт.

Vladimir
28.04.2018
14:47:04
я хочу чтобы task { do! myAsync() } лишний поток не запускал, он не будет запускаться?
для нынешней задачи мне нужно наоборот запустить поток для синхронной задачи, но вообще конечно хотелось бы чтоб для асинхронных он не запускался

Google

Friedrich
28.04.2018
14:50:33

Vlad
28.04.2018
14:51:21

Friedrich
28.04.2018
14:52:28
Ну то есть он запустится в пуле, потом перейдёт управление в твой асинк. Если он «спящий» — то поток из пула будет отпущен. По завершении асинка снова будет взят поток.
Мб для таких простых кейсов есть какая-то оптимизация. Но конкретно этот случай (если у тебя там myAsync() : Async<unit>) лучше делать через Async.StartAsTask, как мне кажется.

Vladimir
28.04.2018
14:53:08
Это запустит таск в пуле.
let f1() = task { return 0 }
let f2() = task { return! f1() }
let f3() = task { return! f2() }
Это запустит три потока в пуле?!

Friedrich
28.04.2018
14:53:13
Вообще, давайте проверим, мне интересно :)
Щас, у меня уже готовый проект есть, я проведу эксперимент.
Я думаю, что не должно быть трёх потоков, это прям неправильно.

Vladimir
28.04.2018
14:55:44
очень неправильно, я и испугался, когда ты сказал что поток стартуется сразу же)

Friedrich
28.04.2018
14:55:53
Таск сразу же.

Vlad
28.04.2018
14:55:53

Friedrich
28.04.2018
14:56:10
Аутпут:
f3: thread 1
f2: thread 1
f1: thread 1

Vlad
28.04.2018
15:03:23

Friedrich
28.04.2018
15:04:07
Оно и логично, у тебя все три задачи синхронные

Vladimir
28.04.2018
15:04:18

Friedrich
28.04.2018
15:04:50
И вообще, я лох
Всё в главном треде работает.
Это не аналог Task.Run.

Vladimir
28.04.2018
15:06:14
тогда встает вопрос как запустить таск)