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

Roman
27.05.2017
18:26:19

Igor
27.05.2017
18:28:20

Roman
27.05.2017
18:28:49

Google

Roman
27.05.2017
18:28:58
можно easyNetQ использовать
там для RPC ничего не надо самому делать, но он использует json.net могут быть проблемы с сериализацией
(у меня не было)

Igor
27.05.2017
18:29:54

Roman
27.05.2017
18:30:24
но не более)
вот тут 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 языках) у нас есть самая настоящая функциональщина ?

Igor
27.05.2017
20:35:58

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

Летучая
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

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

Roman
27.05.2017
21:10:47

Igor
27.05.2017
21:15:59

Nikolay
27.05.2017
21:17:04
Я создал через dotnet new и всё было ок

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

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

Google

Anton
27.05.2017
21:25:05
@angmarr а как сделать свой пайп оператор ?
отсыпь магии =)

Roman
27.05.2017
21:25:36

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

Nikolay
27.05.2017
21:26:03

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

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

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 глянуть.