@Fsharp_chat

Страница 170 из 772
Igor
27.05.2017
18:11:49
Что можно использовать для кросспроцессорного коммуникации F# приложений, типа RPC? Конкретно для F# желательно что бы поддерживались DU и описание типов было в коде.

Igor
27.05.2017
18:28:20
RPC? Рэббит же норм
А он с F# дружит и core clr? Нужно пару микросервисов связать на линуксе.

Roman
27.05.2017
18:28:49
А он с F# дружит и core clr? Нужно пару микросервисов связать на линуксе.
дружит. Сериализуешь в бинари, десерелизуешь из бинари. все ок

Google
Roman
27.05.2017
18:28:58
можно easyNetQ использовать

там для RPC ничего не надо самому делать, но он использует json.net могут быть проблемы с сериализацией

(у меня не было)

Igor
27.05.2017
18:29:54
можно easyNetQ использовать
А чем он лучше? С DU норм работает.

Roman
27.05.2017
18:30:24
А чем он лучше? С DU норм работает.
он лучше только тем, что это набор паттернов поверх Rabbtmq.net

но не более)

вот тут 60 строк которые я сделал поверх офицального .net клеинта для подписки на сообщения, rpc будет реализоваться так же коротко. с клиент создает временную очередь отправляет запрос в общий exchange с указанием в какую очередь отправлять ответ, послу получения ответа очередь убивается. Можно не делать временных очередей, а подписывать одну клиентскую очередь на временные роутинг кеи. которые так же отправляются серверу и он с этим роутинг кее отвечает

let subscribeTo queue exchange routingKey parse callback = let (connection, channel) = factory |> getConnectionChannel queue |> declareQueue channel |> bindQueue channel exchange routingKey |> RabbitMQ.subscribe connection channel parse callback

subscribeTo "actualStoreStocks" "1C.events" "NTVR.Event.ActualStoreStocks.ActualStoreStocks" IncomingRest.Parse handleRests

Anton
27.05.2017
20:22:06
А ко мне пришла мысля... А можно ли из C# использовать Microsoft.FSharp.Collections.List.map ?

это же .net , а значит в C# ( и в других .net языках) у нас есть самая настоящая функциональщина ?

Google
Anton
27.05.2017
20:36:32
Я к тому - возможно ли дергать функции F# из C#. Академический вопрос.

Летучая
27.05.2017
20:36:37
Господа, как вы юзаете ф шарп с вс коде? Создал по советам MS >f#: New Project, в папке проекта внезапно появилось 500 мегабайт локально скопированных зависимостей. Это норма или патаогия? Диск жи не резиновый

Anton
27.05.2017
20:37:24
ionide вроде такого не делает

я как-то не следил за размером каталога...

Летучая
27.05.2017
20:38:18
Вот именно ионид и сделал. Вдруг я случайно 10 проектов создам... Ето что же, 5 гигов?

Anton
27.05.2017
20:38:30
хм, получается так.

сейчас гляну, что RIder делает.

я какраз только что проект создал

Летучая
27.05.2017
20:38:52
Жуас какой. Пойду вернусь к Visual Studio

Anton
27.05.2017
20:39:33


Igor
27.05.2017
20:40:32
Вот именно ионид и сделал. Вдруг я случайно 10 проектов создам... Ето что же, 5 гигов?
У меня собранный hello world на core clr f# (dotnet new console -lang f#) занимает ~400KB

Летучая
27.05.2017
20:40:50
Хмм.

Значит это я что-то не то нажал?

Студия в общем-то тоже проект на 400кб генерит.



Igor
27.05.2017
20:47:50
А у тебя точно core clr? Если да, то какая версия netstandard прописана в .fsproj? У меня package создает VSforMac, когда создаю проект по старинки под mono.

Anton
27.05.2017
20:51:51
C# compiler ?

@angmarr кстати, как она VSforMac ?

а то я как-то не ставил еще =)

Igor
27.05.2017
20:59:25
@angmarr кстати, как она VSforMac ?
Да как XS, только поддерживает core clr (c#/f#). Подсказки в f# работают и в принципе можно использовать. Но по мне так она тяжеловата и типы функци не показывает как VSCode, так что я VSCode пользуюсь для F#

Google
Anton
27.05.2017
21:00:14
Вот как, типы все же не показывает. Печально.

Я тоже VSCode использую для F#. Но вот решил Rider попробовать в роли F# IDE.

Igor
27.05.2017
21:05:15
Я тоже VSCode использую для F#. Но вот решил Rider попробовать в роли F# IDE.
Жду пока рефакториги заработают, иначе такой тяжелый комбаин не понятно зачем запускать.

Anton
27.05.2017
21:06:12
Ну, это да. Сейчас поддержка F# на очень начальном уровне.

Igor
27.05.2017
21:15:59
КодЛинз нет?
Наверное, только в VS оно покруче в функционале

Anton
27.05.2017
21:19:07
@Dolfik а это уже другой вопрос.

Nikolay
27.05.2017
21:19:48
На C# можно писать в финальном стиле, но профита особо нет

Nikolay
27.05.2017
21:19:53
Только линк

Anton
27.05.2017
21:20:19
Просто интересно стало, можно ли так извернуться.

Nikolay
27.05.2017
21:20:43
Кстати вот: https://github.com/dotnet/roslyn/issues/5445

Anton
27.05.2017
21:21:19
wow!

врятли вообще одобрят.

Nikolay
27.05.2017
21:23:23
Да не, они может и запилят лет через 5

Igor
27.05.2017
21:24:26
Кстати вот: https://github.com/dotnet/roslyn/issues/5445
А потом они захотят ||>, |||>, <|, <|| и тд (кортежи ведь уже добавили) Вообще это будет странно, в F# всегда можно сделать свой пайп-оператор, а в C# будет один “гвоздями прибитый”.

Nikolay
27.05.2017
21:24:27
Там и пишут типа надо хорошо обдумать, чтобы в будущем не сломать всё

Google
Anton
27.05.2017
21:25:05
@angmarr а как сделать свой пайп оператор ?

отсыпь магии =)

Anton
27.05.2017
21:25:54
хм, интересная магия =)

Nikolay
27.05.2017
21:26:03
let (//) x f = f x
А так разве можно? Это не коммент?

Roman
27.05.2017
21:26:11
Ой да

Ну там надо посмотреть

Admin
ERROR: S client not available

Nikolay
27.05.2017
21:26:17
?

Roman
27.05.2017
21:26:53
В общем пайп так описан let (|>) x f = f x

Nikolay
27.05.2017
21:27:04
Определить комментарий как оператор это сильно

Anton
27.05.2017
21:27:18
и сломать всем жизнь :D

Nikolay
27.05.2017
21:27:55
Там кстати не все символы можно использовать, вроде только те, которые поддерживаются CLR

Или я не прав, и можно зафигачить эмодзи?

Igor
27.05.2017
21:29:11
Nikolay
27.05.2017
21:29:35
Прав, есть ограничения
А так хотелось эмодзи :(

Летучая
27.05.2017
21:50:19


Artemy
27.05.2017
22:00:03
А так хотелось эмодзи :(
Ну функцию зато можно как эмодзи описать.)

Google
Anton
27.05.2017
22:10:00
0_о

Artemy
27.05.2017
22:11:27
let `¯\_(ツ)_/¯` x = x + x

В `...` можно почти любые символы использовать (не знаю, какие менно нельзя). Но кириллицу с пробелами точно можно.

Летучая
27.05.2017
22:15:14
let `¯\_(ツ)_/¯` x = x + x
Не компилируется

Artemy
27.05.2017
22:15:25
Там двойной обратный апостроф

Или как там называется этот символ

Для Телеграма это спецсимвол

Летучая
27.05.2017
22:16:09
Unexpected keyword in binding

Artemy
27.05.2017
22:16:56
http://i.imgur.com/z1IX1VP.png

Туда можно даже // вставлять. Оно там как коммент не распознается.

Получается, любые Юникод-символы поддерживаются. М.б. есть исключения, но не знаю ,какие.

Anton
28.05.2017
00:02:27
Посмотрел. Узнал много нового. Аж захотелось пойти в дата сайнцесты =) https://www.youtube.com/watch?v=6r9aDfEI71U

Вдохновился ТайпПровайдерами. Особенно поразил ТайпПровайдер для R. Выглядит как чит =)

Roman
28.05.2017
02:11:02
Вдохновился ТайпПровайдерами. Особенно поразил ТайпПровайдер для R. Выглядит как чит =)
Да. Это просто суперпупер. Причём как он выводит типы я-ций.? Я хз

Evgeniy
28.05.2017
06:36:41
F# очень не хватает байндингов к какой-нибудь библиотеке для deep learning.

TensorFlow или CNTK.

Надо посмотреть, как там дела в TensorFlowSharp.

А в остальном расстраивает, что даже то небольшое количество библиотек, пригодных для data science, и в частности type providers, развиваются очень медленно или вообще заброшены.

@the_RAMZAY @neftedollar ^

Например, FSharp.Data до сих пор не обновили для использования с Mono 5.0

Anton
28.05.2017
07:36:39
@gsomix точно, нужно tenserflow глянуть.

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