@Fsharp_chat

Страница 562 из 772
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
https://lukemerrett.com/fsharp-data-type-providers/
Ей! Подоспела статья. Жаль там не будет упоминаний наших коллег которые распинали Дона Сайма для этой работы)

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

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

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
Короче, я ща в Африке, поэтому доступен эпизодически :)
Вот что я нашел, далеко ходить не пришлось) Вроде бы должно помочь https://fsharpforfunandprofit.com/posts/concurrency-reactive/

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

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

Roman
26.04.2018
17:13:38
Оффтоп - стоит
Чит не сработал

?‍?
26.04.2018
19:40:21
?‍?
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
Я не понял вопроса)
Нужны все поддерживаемые типы скармливаемые ф-ции float?

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
дак а что не так?
ф-я float работает не только на интах, как я понял

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
Просто мне кажется, было бы удобно иметь возможность посмотреть на сигнатуру функции интерактивно

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 способ нормальной проверки типов?

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

особенно JavaScript , react и node

M.Borke
27.04.2018
14:21:25
только в разрезе F#-> JS
но я даже не знаю что F#?((

я учебник для фулл стэк и все

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

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
разве?! Это все что я окружаю CE стартует таск?
Там используется C#-семантика, в которой (в основном) явный старт тасков не нужен.

Я не утверждаю, что это всегда удобно. Это просто то, что просили люди для своих кейсов :)

Если тебе хочется много оперировать незапущенными async workflows или хочется управлять режимом их запуска (RunSynchronously etc.) — стандартный Async тебе больше подойдёт.

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

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

Vlad
28.04.2018
14:51:21
Там используется C#-семантика, в которой (в основном) явный старт тасков не нужен.
Нуу там можно делать такие таски, которые надо запускать руками. Правда так никто не делает

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
Нуу там можно делать такие таски, которые надо запускать руками. Правда так никто не делает
А подскажи, как? Я щас проверил даже — простой task { Console.WriteLine("xxx") } сразу стартуется.

Вообще, давайте проверим, мне интересно :)

Щас, у меня уже готовый проект есть, я проведу эксперимент.

Я думаю, что не должно быть трёх потоков, это прям неправильно.

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
Через new Task(..), с телефона конкретнее не напишу)
А, ну то есть руками, без билдера. Да, конечно, так можно.

let f1() = task { return 0 } let f2() = task { return! f1() } let f3() = task { return! f2() } Это запустит три потока в пуле?!
Кароч, все три выполняются в одном треде, Вот тестовая программа: https://hastebin.com/zokoraqoju.fs

Аутпут: f3: thread 1 f2: thread 1 f1: thread 1

Vlad
28.04.2018
15:03:23
А, ну то есть руками, без билдера. Да, конечно, так можно.
Ну это в любом случае смысла особо в c# не имеет, т.к. Все запущенные задачи ожидают

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

Vladimir
28.04.2018
15:04:18
Аутпут: f3: thread 1 f2: thread 1 f1: thread 1
Спс) Можно жить дальше)

Friedrich
28.04.2018
15:04:50
И вообще, я лох

Всё в главном треде работает.

Это не аналог Task.Run.

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

Страница 562 из 772