
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

Admin
ERROR: S client not available

Friedrich
28.04.2018
14:37:32
(эта штука позволяет везде неявно иметь 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

Vladimir
28.04.2018
14:48:42
для нынешней задачи мне нужно наоборот запустить поток для синхронной задачи, но вообще конечно хотелось бы чтоб для асинхронных он не запускался

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
тогда встает вопрос как запустить таск)