@Fsharp_chat

Страница 8 из 772
Friedrich
07.03.2017
10:58:18
А чо, давайте подобавляю.

Anton
07.03.2017
11:00:32
@fvnever ну да, без ссылки из цодингтима я бы тоже фиг нашел.

Дед Пегас
07.03.2017
11:04:53
А чо, давайте подобавляю.
Можно в pro. добавить

Google
Evgeniy
07.03.2017
11:05:01
Всем привет.

Friedrich
07.03.2017
11:05:21
Можно в pro. добавить
Нужно! И ещё несколько каталогов есть, туда бы тоже надо.

Дед Пегас
07.03.2017
11:05:57
Evgeniy
07.03.2017
11:17:45
@fvnever @the_RAMZAY А я нашел. :)

Friedrich
07.03.2017
11:18:06
Evgeniy
07.03.2017
11:18:27
@fvnever Загуглил.

Friedrich
07.03.2017
11:18:30
Вдруг тут и про повершелл неподалёку чатик валяется!

Evgeniy
07.03.2017
11:18:41
В каком-то списке указан.

Alexander
07.03.2017
13:11:33
В каком-то списке указан.
https://github.com/goq/telegram-list ?

Evgeniy
07.03.2017
13:11:43
Ага!

Friedrich
07.03.2017
13:12:02
А я вот сюда запулреквестил: https://github.com/A-gambit/awesome-telegram-chats/pull/49

Alexander
07.03.2017
13:12:19
Не знаю зачем сюда зашел, я не умею в ваш эфшарп. :)

Evgeniy
07.03.2017
13:12:31
Чтобы научиться!

Google
Friedrich
07.03.2017
13:12:36
Дак мы тя научим, лалка!

Alexander
07.03.2017
13:12:53
Не знаю зачем сюда зашел, я не умею в ваш эфшарп. :)
У нас тут уютно, и не всегда F# обсуждаем)

Vasily
07.03.2017
13:26:49
Кстати, парни

Anton
07.03.2017
13:27:06
ась?

Vasily
07.03.2017
13:27:09
Поясните магию

http://trelford.com/blog/post/SeqVsStream.aspx

Интересует ofArray

Friedrich
07.03.2017
13:28:17
И в чём там магия? Что интересует? По-моему, реализация тривиальная.

Vasily
07.03.2017
13:28:28
fun k -> let mutable i = 0 while i < source.Length do k source.[i] i <- i + 1

Не могу догнать, как оно работает

Точнее даже это : type Stream<'T> = ('T -> unit) -> unit

Friedrich
07.03.2017
13:29:20
Ой, простите, я toArray посмотрел :) В ofArray уже не такая тривиальная.

Igor
07.03.2017
13:30:41
А в чем проблема Stream это просто функция которая принимает функцию, в которую передаются элементы стрима (примерно как в RX)

Friedrich
07.03.2017
13:30:43
Точнее даже это : type Stream<'T> = ('T -> unit) -> unit
Ну вот у них там "стрим" — это просто применялка побочного эффекта. Стрим — функция, которая принимает функцию и применяет ко всем элементам стрима.

Vasily
07.03.2017
13:31:13
А, т.е. тут сайд эффекты используются

Friedrich
07.03.2017
13:31:23
Поэтому ofArray в таком контексте должен взять массив, а вернуть применялку любых функций ко всему массиву.

Мне чёт даже кажется, что можно коротко записать let ofArray<_> = Array.iter?

(ну мб аргументы переставить ещё)

Igor
07.03.2017
13:33:37
Кстати, вот курс на русском про ФП на F# https://mva.microsoft.com/ru/training-courses/-f--12198?l=jkUEDSSIB_504984382

Friedrich
07.03.2017
13:33:56
А, чуваки, чуваки, мне кто-то сегодня курс по Идрису подбросил!

Google
Friedrich
07.03.2017
13:34:58
http://compsciclub.ru/courses/idrisprogramming/2017-spring/ — курс по Идрису, тоже на русском.

Vasily
07.03.2017
13:39:58
Кстати, кто может рассказать реальное применение code quotations?

Я крутил-вертел, не нашел кейса из реальной практики, где бы это взлетело нормально

За исключением реконфига акторов

Friedrich
07.03.2017
13:44:16
Кстати, кто может рассказать реальное применение code quotations?
Я их юзал, когда у меня не было LINQ, а надо было сконструировать Expression<Func<T>>.

А, ну и для наркомании ещё. Щас найду и покажу :)

Vasily
07.03.2017
13:45:50
А, точно

Там же можно дерево обходить

Friedrich
07.03.2017
13:46:33
Мне надо было получить MethodInfo из функции, которая в модуле, и пришлось вот такое вот: https://gist.github.com/ForNeVeR/5d779936f975eaf46a5350b479e7ae2a

А нормального способа нету чото :(

Vasily
07.03.2017
13:47:30
И еще вопросик. Тупой. TypeProvider у нас только Compile-time бывают, как я понимаю?

Friedrich
07.03.2017
13:47:54
Вопрос непонятный. Я не знаю, как ответить.

Vasily
07.03.2017
13:47:57
Т.е. в рантайме никак нельзя натравить провайдер на источник данных?

В контексте ODATA, например

Friedrich
07.03.2017
13:48:08
Ты можешь зареференсить сборку тайппровайдера и использовать её в рантайме, но зачем? :)

Я думаю, что скорее всего ответ на твой вопрос — нет, это сделать нельзя.

Vasily
07.03.2017
13:49:11
Хммм... т.е. можно собрать сборку тайп провайдера на нужный источник данных и потом накрутить кода, по идее...

Friedrich
07.03.2017
13:49:34
Только код придётся динамически строить.

Google
Vasily
07.03.2017
13:49:37
Что-то вроде кодогенерации получается

Остался вопрос , как в рантайме тайп провайдеру подсунуть внешний источник данных для компиляции сборки...

Рослином же не компильнешь

Friedrich
07.03.2017
13:59:15
А ты используй fsi!

Генеряй текстовые файлы и скармливай ему.

Vasily
07.03.2017
14:00:22
скриптинг по факту

Friedrich
07.03.2017
14:00:42
Ну, я пока что себе именно так твою задачу представляю.

Vasily
07.03.2017
14:01:36
Ну скорее генерация ассембли, которую можно юзать из другой ассембли

В частности, C# кода

Friedrich
07.03.2017
14:02:03
Тогда глянь FSharp.CompilerServices или как там эта штука называется.

Но, знаешь, бро, мне не кажется, что из этого сильно практичное решение получится. Надо большие будет усилия приложить для его внедрения.

Igor
07.03.2017
14:02:58
Кстати type-provider работают в core clr в VSCode?

Vasily
07.03.2017
14:03:25
Ну общая схема тут какая на самом деле. Есть некая база, есть маппинги, есть внешний источник данных

Friedrich
07.03.2017
14:03:26
Vasily
07.03.2017
14:03:53
Нужно класть в базу данные из внешнего источника в соответствии с маппингами

Friedrich
07.03.2017
14:03:55
Кстати type-provider работают в core clr в VSCode?
Нужного API нету в CoreCLR вообще. Поэтому не работает ни рожна. Ждём .NET Standard 2.0, там нужные API опубликовали.

Igor
07.03.2017
14:05:18
Нужного API нету в CoreCLR вообще. Поэтому не работает ни рожна. Ждём .NET Standard 2.0, там нужные API опубликовали.
Ну значит я ничего не потерял ? (не фанат я таких кодогенератор и вообще бигдаты/машинлернинга)

Friedrich
07.03.2017
14:05:28
Там им не хватает чего-то, связанного с рефшлекшеном. В .NET он был публичным, в netstandard сделали приватным, а теперь вот обратно делают публичным.

В 2.0 всё будет зашибись, но 2.0 не сегодня релизится. Его перенесли чуток.

Igor
07.03.2017
14:07:01
В 2.0 всё будет зашибись, но 2.0 не сегодня релизится. Его перенесли чуток.
Кстати, при релизе новой версии netstandar, старые начинают считаться deprecated или там обратная совместимость и можно любую юзать?

Google
Friedrich
07.03.2017
14:07:22
То, что ты так вот легко назвал "CLR" — это на самом деле несколько взаимосвязанных компонентов.

Igor
07.03.2017
14:08:31
Я уже переназвал ?

Friedrich
07.03.2017
14:08:37
dotnet-cli сам по себе уже сейчас можешь считать устаревшим, потому что стабильного релиза его никогда не было выпущено. Есть какой-то старый LTS, и всё остальное в вечном превью (надеюсь, завтра релизнут хоть что-то стабильное, но далеко не факт).

CoreCLR уже сейчас стабилен, старые версии не устаревают, можно ставить side-by-side и использовать.

Igor
07.03.2017
14:09:24
Почему завтра?, вроде сегодня презенатация VS2017 (или это не связано)

Friedrich
07.03.2017
14:09:28
Все версии .NET Standard тоже стабильные (кроме 2.0, его ещё не выпустили), и под старые версии (1.0 — 1.6) можно писать и нормально релизить софт.

Почему завтра?, вроде сегодня презенатация VS2017 (или это не связано)
Она начнётся сегодня. Я думаю, по моему часовому поясу уже завтра закончится ;)

Friedrich
07.03.2017
14:10:57
К F# всё, что я говорил, относится постольку-поскольку. Релизного F# под неткор тоже ещё ни разу не было, по-моему. Но на превьюшных билдах у меня небольшие сайтики работают, нормас.

CoreCLR очень стабилен, прям как скала ́.

Vasily
07.03.2017
14:11:21
Suave?

Friedrich
07.03.2017
14:11:39
Suave?
Не, я пока только на Kestrel пробовал. Могу только хорошее сказать.

Ресурсов кушает меньше, чем Java (на порядок меньше CPU, примерно в 1.5—2 раза меньше памяти). Не падает.

С F# интеграция более-менее рабочая, опять же.

Vasily
07.03.2017
14:12:58
Через что, кстати?

Friedrich
07.03.2017
14:13:26
Вот мой проект, который щас работает: https://github.com/codingteam/codingteam.org.ru

Там ничо умного нету — немножечко логики на сервере и всё.

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