@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

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