@Fsharp_chat

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

Igor
02.06.2017
19:12:25
Был у кого опыт автоматизированного обновления windows - служб?
Помогут тут @CSharpChat или тут https://t.me/joinchat/AAAAAD6uHaxve5MzmbPIDw

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

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

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

Летучая
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 Клево, работает. :)

А где хостишь?

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

Летучая
03.06.2017
07:23:01
@Worldbeater Разобрался с проблемой? Расскажи нам!
Оказалось, что дело было в неправильных таргетах. Поставил библиотеке Стандарт 1.2, а тестам — Фреймворк 4.6.2 и всё магическим образом заработало.

Igor
03.06.2017
08:16:34
О, классно! А свои dll FSDN'у передавать нельзя?
А ты мог это делать через сайт?

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
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/

http://hypelib.github.io/Hype/
на gpu не сделали вроде

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

Google
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 не получилось бы.

http://hypelib.github.io/Hype/
Название хорошее.)

А вот такое видеть всегда грустно: > 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
Да, как это обычно бывает в академии.

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

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

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
Я в Scala как-то раз уже по этим костылям побродил: написал где-то в таком же месте vvv should equal 42 вместо vvv should beEqual 42, и тест был ложнопозитивным. С тех пор такие DSL для тестов не люблю.
Ну это уже косяк порожденный ограничениями F# (и видимо Scala). Если надо более строго, но с сохранением читаемости, всегда можно юзать Fluent Assertions.

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
Я в Scala как-то раз уже по этим костылям побродил: написал где-то в таком же месте vvv should equal 42 вместо vvv should beEqual 42, и тест был ложнопозитивным. С тех пор такие DSL для тестов не люблю.
меня очень пугают шизофреничные тест-фреймворков для скалы и F#, где тест-кейсы пишутся в виде псевдо-английских фраз.

Friedrich
04.06.2017
16:03:40
Посоветуйте гайды или книгу по архитектуре фп приложений, пытался въехать в фри монады, и прочее, не получилось. Основы языка и фп концепты понимаю.
На русском "болл на хилл": https://www.youtube.com/watch?v=Bn132AtZLhc На английском см. https://youtu.be/cxs7oLGrxQ4 и https://youtu.be/US8QG9I1XW0

Посоветуйте гайды или книгу по архитектуре фп приложений, пытался въехать в фри монады, и прочее, не получилось. Основы языка и фп концепты понимаю.
Из статей посмотри Mark Seemann: http://blog.ploeh.dk/2017/02/02/dependency-rejection/ (и соседние статьи, он там ссылается на них).

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

Pawel
04.06.2017
16:12:06
Посоветуйте гайды или книгу по архитектуре фп приложений, пытался въехать в фри монады, и прочее, не получилось. Основы языка и фп концепты понимаю.
Это только в pure functional языках особая архитектура приложений (erlang, elm, haskell). В F# fрхитектура определяется ТЗ, платформой и инструментами, а не выбранной парадигмой программирования.

Aminion
04.06.2017
16:12:40
Ну так я могу и на шарпе писать

Я хотел бы все же придерживаться фп подхода, жахнуть циклов и забить на чистоту всегда можно будет.

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

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