
Alexey
02.06.2017
19:04:25
Был у кого опыт автоматизированного обновления windows - служб?

Igor
02.06.2017
19:12:25

Alexey
02.06.2017
19:13:38
Спасибо

Летучая
02.06.2017
19:14:13
Кстати, а с pro.net так и не обменялись ссылками?

Google

Alexey
02.06.2017
19:16:39
Там прикреплена ссылка

Roman
02.06.2017
19:20:16

Летучая
02.06.2017
20:22:19
Что-то FsUnit требует устаревшую версию NUnit (на одну ниже), и слишком новую Fsharp.Core (4.3.1.0, хотя доступна только 4.2.0.0). Так и не завёл.
Мб проблема в том, что я не на неткор таргетюсь, не знаю.
UPD: Изменил таргет тестируемой библиотеки с NETStandard 1.4 на NETStandard 1.2, повысил NETFramework до 4.6.2 и все проблемы отпали сами собой. И NUnit обновился, и FSharp.Core 4.3.1.0 пришла :)
Теперь наслаждаюсь тестами в функциональном стиле!

Evgeniy
02.06.2017
20:24:06
@sergey_tihon ^
Давненько его здесь не было.
@Worldbeater Заведи issue. :)

Igor
02.06.2017
20:38:07
Как завернуть в Async просто какое-то значение, типа C# Task.FromResult()?
Не могу найти подходящий метод.
? Запилил бота для сайта http://fsdn.azurewebsites.net ?
? Исходники: https://github.com/y2k/FsdnTelegram ?
? Для использования просто введите сигнатуру функции, типа: string -> int ?
@fsdnbot

Evgeniy
03.06.2017
06:15:24
@Worldbeater Разобрался с проблемой? Расскажи нам!
@angmarr Клево, работает. :)
А где хостишь?

Roman
03.06.2017
06:19:03

Google

Igor
03.06.2017
06:27:05
А где хостишь?
В докер контейнере на моей vps (scaleway).
Dockerfile есть в сорцах и при желание можно развернуть за пару команд на любом сервере.

Летучая
03.06.2017
07:23:01

Artemy
03.06.2017
08:16:03
Было бы вообще суперотлично.

Igor
03.06.2017
08:16:34

Artemy
03.06.2017
08:16:45
Я про сайт и спрашиваю
Так-то не вижу там такой функциональности

Igor
03.06.2017
08:19:10
Я про сайт и спрашиваю
ОК)) Я так понял он базируется на либе FSharpApiSearch (там какие-то костыли и надо запускать это на винде).
Можешь собрать свой из сорцов (там есть пример консольного приложения).
https://github.com/hafuu/FSharpApiSearch
https://github.com/fsdn-projects/FSDN - сам сайт

Artemy
03.06.2017
08:20:21
Интересно, это из-за каких-то ограничений по возможностям поиск сделан исключительно по заранее определённым dll, или просто "не запилили"?
Вообще, да, можно у себя локально развернуть с добавленными dll.
Там, вроде, довольно несложный процесс добаваления новых сборок.
Только вот у FSharpApiSearch описание всё на японском :c


Летучая
03.06.2017
09:55:48
Можно ли как-нибудь написать F# генерик для функций с Nullable параметрами (сигнатура на картинке)? Компилятор считает все такие методы типом unit -> Task<'a>, но ведь они могут и должны принимать параметры!
Вызвать такую функцию вот так проблем не составляет: Methods.Wall.Get(Nullable<int>(10)), но нужно передать Methods.Wall.Get в другую функцию и вызвать её там как f(x).

Artemy
03.06.2017
10:08:38
@Worldbeater, как вариант, можно вместо Methods.Wall.Get передать (fun x -> Methods.Wall.Get(x)).

Летучая
03.06.2017
11:10:49
Спасибо! Судя по всему, стоит остановиться на таком. А жаль!

Artemy
03.06.2017
11:20:47
Кстати, необязательно писать. Nullable<int>(10). Можно просто. Nullable 10.

Летучая
03.06.2017
11:40:59
let nbl (x: 'a) = x |> Nullable<'a> такое пользую

Google

Roman
03.06.2017
12:06:22

Artemy
03.06.2017
12:08:14
Как это при вызове сделать?

Roman
03.06.2017
12:35:29
f:Nullable<int>->Task<'a>

Evgeniy
03.06.2017
16:13:11
> CNTK version 2.0 (Windows+Linux)
> released 2 days ago
И там все еще нельзя делать модели в C#.
Только запускать натренированные.
В связи с этим у меня вопрос. Кто-то серьезно занимается глубоким обучением на C# и F#? Как там дела с TensorFlowSharp? Есть ли байндинги к Caffe?

Ivan
03.06.2017
16:32:30
Все же, что с тайппровайдероми на кор?

Evgeniy
03.06.2017
16:33:35
Ivan Должны работать erased на .Net Standard 2.
Для generative, кажется, не хватает каких-то API.

Ivan
03.06.2017
16:34:48
Во Standart 2 то же?

Evgeniy
03.06.2017
16:35:26
Да.

Ivan
03.06.2017
16:36:17
Получается пока кроме кодогенерации выжода нет...
Кодогенерацию у нас так и не включат?
Типа tt в проект, опять через фейк

Roman
03.06.2017
16:51:19
но он по моему не завершился
http://hypelib.github.io/Hype/

Artemy
03.06.2017
16:59:48
f:Nullable<int>->Task<'a>
Это не поможет. Компилятору не получается определить, с какими из опциональных параметров вызывать метод Get, и он просто выбирает unit.

Google

Roman
03.06.2017
17:01:13

Artemy
03.06.2017
17:01:52
http://i.imgur.com/8Pvg2cT.png

Roman
03.06.2017
17:02:55

Ivan
03.06.2017
17:03:09
У меня создается впечатление, причем крайне радостное, что в области микросервисов мы лучше. Причем в энтерпрайзе. Кода меньше раз в 10

Artemy
03.06.2017
17:03:22
Вообще, я не знаю, почему именно компилятор так думает. Но, по факту выходит, что ему не удаётся выбрать опциональные параметры самостоятельно. И он их просто игнорирует.
забавно.
Наверное. Я не знаток, но так, чисто логически, данных вполне достаточно, чтобы определить, какой из вариантов метода Get использовать.
С другой стороны, это частный случай. Будь в Get ещё хотя бы один параметр с типом Nullable<int>, однозначно вывести тип для Get в caller не получилось бы.
А вот такое видеть всегда грустно:
> Latest commit d5f195c on 26 Dec 2015

Evgeniy
03.06.2017
17:10:30
Artemy Это исследовательский проект.

Artemy
03.06.2017
17:12:18
Типа просто попробовать и посмотреть ,как оно получится?

Evgeniy
03.06.2017
17:13:15
Да, как это обычно бывает в академии.

Dmitri
03.06.2017
17:21:59

Evgeniy
03.06.2017
17:24:20
@shwars Хочется использовать инструменты, которые нравятся.

Pavel
03.06.2017
17:28:53
На core есть вот ещё http://numl.net/getting-started/

Летучая
04.06.2017
11:32:55

Evgeniy
04.06.2017
11:35:14
@Worldbeater А еще каеф названия тестов писать нормальными предложениями в double-backtick.

Friedrich
04.06.2017
11:39:52
А мне это не нравится, между прочим. Автодополнение начинает паршиво работать.
Я в Scala как-то раз уже по этим костылям побродил: написал где-то в таком же месте vvv should equal 42 вместо vvv should beEqual 42, и тест был ложнопозитивным. С тех пор такие DSL для тестов не люблю.

Klei
04.06.2017
11:55:58

Google

Evgeniy
04.06.2017
15:26:01
Смотрите, настоящее GUI приложение на F# + Avalonia, запущенное под .Net Core.

Friedrich
04.06.2017
15:31:51
Мб даже сунем куда-нибудь на страничку Авалонии — мол, пример на F# :)

Evgeniy
04.06.2017
15:34:50
@fvnever Да, в порядок приведу немного.

Aminion
04.06.2017
16:01:50
Посоветуйте гайды или книгу по архитектуре фп приложений, пытался въехать в фри монады, и прочее, не получилось. Основы языка и фп концепты понимаю.

Pawel
04.06.2017
16:02:24

Friedrich
04.06.2017
16:03:40

Aminion
04.06.2017
16:11:51
Эту серию я читал, но догнал вариант с частичной аппликацией, и догнал почему это не фп вей, но далее нечто сложное для меня, и я в нём не вижу, как управлять зависимостями не вручную.

Pawel
04.06.2017
16:12:06

Aminion
04.06.2017
16:12:40
Ну так я могу и на шарпе писать
Я хотел бы все же придерживаться фп подхода, жахнуть циклов и забить на чистоту всегда можно будет.

Friedrich
04.06.2017
16:16:33

Pawel
04.06.2017
16:16:43

Aminion
04.06.2017
16:20:39
Я не понимаю ещё много, ну вот не компилируется в мозгу. Я привык что 9000 зависимостей разруливаются контейнером, граф строится, все дела, в фп я пока вижу, как это вручную делается.