@Fsharp_chat

Страница 110 из 772
Nikolay
09.05.2017
21:23:05
Типа все значения в модуле объявленные за пределами функции теста не доступны внутри теста?

Evgeniy
09.05.2017
21:28:51
Как видишь из сообщения об ошибке, проблема только со значениями ссылочных типов.

Не инициализируются.

Сделай через класс.

Google
Evgeniy
09.05.2017
21:29:42
Как рекомендует документация, сетап для тестов делается в конструкторе.

@Dolfik Суть в том, что модули компилируются в статические классы.

А как с ними xunit работает — не особо-то освещено в документации.

@Dolfik Еще обрати внимание на Expecto.

Там есть поддержка .Net Core, текущая версия v5.0.0-rc1.

Roman
09.05.2017
21:46:37
Привет!

Anton
09.05.2017
21:46:44
Привет!
Привет :)

Friedrich
10.05.2017
01:50:52
Я не понимаю, какого чёрта в .Net Core и .Net Framework поведение xUnit разное
Это поведение test runners различается, похоже. Причём тот, который в .NET Core, ведёт себя лучше — помогает обнаружить шаринг данных между тестами.

Evgeniy
10.05.2017
05:03:50
@Dolfik Кстати, а ты чего FsUnit не пользуешься?

Там есть хелперы для xunit.

Friedrich
10.05.2017
05:05:04
А я чото тоже не пользуюсь. Надо будет посмотреть.

Nikolay
10.05.2017
05:21:55
FsUnit вроде в неткор не поддерживается

Friedrich
10.05.2017
05:22:34
Поддерживается, я прям токо что заглядывал в сорцы.

Google
Friedrich
10.05.2017
05:23:50
Хотя с вот этим конкретным пакетом почему-то всё грустно, он выходил аж в 2015 году: https://www.nuget.org/packages/FsUnit.xUnit/

Непонятно, нужен он или нет.

Friedrich
10.05.2017
05:27:38
https://www.nuget.org/packages/FsUnit/

Вот тут есть.

Nikolay
10.05.2017
05:28:38
Это nUnit

Friedrich
10.05.2017
05:29:14
Нет, это FsUnit!

А, и правда, отчего-то в описании написано, что там для NUnit поддержка... непонятно это всё, надо разобраться.

Просто это единственный пакет, который обновлялся с 2015. Может, они там уже все части в него собрали?

Evgeniy
10.05.2017
05:32:21
Надо написать мейнтейнерам.

Friedrich
10.05.2017
05:32:32
Неа, не собрали. Скачал пакет — в нём тухло всё.

Я спрошу у Сергея в слаке.

Evgeniy
10.05.2017
05:32:55
Просто в репозитории поддержка кора есть.

Friedrich
10.05.2017
05:33:02
У нас тут как раз админы чинят VPN на работе, мне делать нечего :)

Evgeniy
10.05.2017
05:33:08
Да, давай.

А я на зачёте.

Friedrich
10.05.2017
05:34:23
А, можно не спрашивать. Вот, есть ишуй: https://github.com/fsprojects/FsUnit/issues/102

Evgeniy
10.05.2017
05:34:39
Надо закрыть!

https://github.com/fsharp/fslang-design/blob/master/RFCs/FS-1032-fsharp-in-dotnet-sdk.md

Google
Evgeniy
10.05.2017
07:10:16
Обсуждали уже?

@Dolfik Так что, поправишь тесты или тебе PR прислать? :)

Nikolay
10.05.2017
07:16:31
@Dolfik Так что, поправишь тесты или тебе PR прислать? :)
Как хочешь :) Я только вечером смогу поправить

Мб имеет смысл сериализацию/десериализацию в один тест засунуть?

Igor
10.05.2017
07:25:49
Обсуждали уже?
А что изменится то? Новые шаблоны добавят что-ли?

Friedrich
10.05.2017
07:31:32
А что изменится то? Новые шаблоны добавят что-ли?
Тулинг Райдера больше не будет сходить с ума от отдельного FSharp.Sdk

Ну то есть решение по большей части политическое (сделать F# прям в основном SDK), но в нашу пользу :)

Evgeniy
10.05.2017
07:43:20
А мне нравится идея для каждого проекта доставлять компилятор.

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

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

Friedrich
10.05.2017
07:57:45
Хотя чорт его знает. Это и правда RFC, надо думать над этим.

Nikolay
10.05.2017
08:02:20


Evgeniy
10.05.2017
08:36:26
Привет!

Igor
10.05.2017
08:40:59
Все таки я не пойму, тут есть кто хотя бы слышал про “свободные (free) монады”? Или это все фишка Scala и за ее приделами никому не интересная (я в общем тоже не фанат)?

Alexander
10.05.2017
08:43:18
я слышал

это изначально фишка хаскеля ) как и большинство остальных фишек

но я тоже в основном в scala-комьюнити видел упоминания и интерес

Friedrich
10.05.2017
08:48:36
Я слышал в контексте Haskell про них.

Igor
10.05.2017
08:54:38
Посмотрел https://youtu.be/M258zVn4m2M (Рунар их только и продвигает) - вроде сами по себе они не сложные, но вот комбинирование разных не так очевидно. Хотя и не совсем понятно, в чем конкретно их преймущество? Они конечно позволяют писать “не чистый” код смешанный с pure-functions, но нужно ли это…

Alexey
10.05.2017
08:55:02
После эффектов в Idris все эти free-monad'ы выглядят костыльно

Google
Friedrich
10.05.2017
08:55:34
Надо всё-таки от проблемы идти. Есть такая-то проблема (скажем, композируемость эффектов или что-нибудь в этом роде). Мы хотим её решить, и применяем следующую конструкцию.

Friedrich
10.05.2017
08:55:59
А просто так можно сколько угодно терминов изобрести и концепций, и все они будут не нужны

anton
10.05.2017
08:56:19
сначала нужно изобрести проблему, а потом к ней термин и решение

кому нибудь в жизни нужны были хотябы монады? как часто?

Friedrich
10.05.2017
08:57:31
Да, нужны. Каждый день — списки, option, IO :)

Igor
10.05.2017
08:58:58
сначала нужно изобрести проблему, а потом к ней термин и решение
Вот, я так же думаю, они решают проблему которую сами и создали. А нужно было разделять просто pure и НЕ pure (ну очевидно же), как на учит МаркСиманн

Alexander
10.05.2017
09:00:15
Эмм, как бы хаскелл вообще pure язык

Admin
ERROR: S client not available

Alexander
10.05.2017
09:00:28
Там нет выбора такого

Friedrich
10.05.2017
09:00:46
unsafePerformIO

Alexander
10.05.2017
09:00:56
Ну это не в счёт

Igor
10.05.2017
09:02:11
unsafePerformIO
Java тоже вроде с GC, а возьмешь sun.misc.Unsafe и пожалуйста: ручное управлению памятью и возможные сикфолты

Я кстати в Scala чатике спрашивал про freemonads, так там никто своих не пишет вообще, а максимум юзают готовые библиотечки (для работы с БД) использующие это принцип.

Igor
10.05.2017
09:05:25
doobie то?
именно его (ну это я так понял что он для БД, сам конечно не юзал)

Alexander
10.05.2017
09:10:20
так а почему именно фри монады интересуют?

Alexey
10.05.2017
09:11:09
Модное слово нынче :)

Google
Alexander
10.05.2017
09:11:23
ну просто монады - это понятная прагматичная вещь :)

Vasily
10.05.2017
09:12:37
Хайп очередной

Alexander
10.05.2017
09:12:48
а фри монады это намного менее понятная и менее прагматичная вещь

Хайп очередной
что именно?

Igor
10.05.2017
09:14:50
так а почему именно фри монады интересуют?
В общем для расширения кругозора, с обычными все более менее понятно. Да хотелось для примера их заюзать в Android приложение на Kotlin (может еще стать на хабре накатать и получить инвайт…)

Alexey
10.05.2017
09:17:46
https://youtu.be/H28QqxO7Ihc

Nikolay
10.05.2017
09:32:23
Привет :)

Evgeniy
10.05.2017
09:58:15
На уровне Advanced Beginner никаких free monad нет. :)

Friedrich
10.05.2017
11:11:27
Заинтересовался тут checked-арифметикой, и смотрите как круто можно на F# сделать: http://stackoverflow.com/a/2273682/2684760

Evgeniy
10.05.2017
11:26:27
@fvnever Надо улучшить.

Чтобы оно не исключения бросало, а отдавало Result, например.

Friedrich
10.05.2017
11:28:49
Заврапать!

Evgeniy
10.05.2017
11:29:54
@fvnever Ну, и Checked тип сделать дженерик.

Friedrich
10.05.2017
11:30:56
Pig
10.05.2017
11:34:50
Выглядит так классно, что мне кажется что кто-то это уже сделал.

Evgeniy
10.05.2017
11:41:16
@fvnever Думаешь в нюгет нужно?

Friedrich
10.05.2017
11:41:58
Evgeniy
10.05.2017
11:43:20
@fvnever https://hastebin.com/vuhemiyibe.pas

Насчет врапания во что-либо можно еще подумать.

Просто исключения в CE -- не самая приятная штука. :)

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