@Fsharp_chat

Страница 653 из 772
Friedrich
30.07.2018
14:33:58
Ну т.е. лично я пока считаю это косяком проекта.

Vasily
30.07.2018
14:34:00
Это я понимаю

Получается, райдер ведет себя более правильно в данном случае

Хотя как быть с оверрайдом настроек, непонятно

Google
Friedrich
30.07.2018
14:35:02
Хотя как быть с оверрайдом настроек, непонятно
Вместо <Compile Include=> пиши <Compile Update=>

Vasily
30.07.2018
14:35:14
Хммм

Буду знать

Friedrich
30.07.2018
14:35:43
Я тоже не знал, но наш специалист по msbuild подсказал :)

Vasily
30.07.2018
14:36:14
Вопрос в том, как быть с проектами, которые редактируются и там, и там

Friedrich
30.07.2018
14:37:01
Вопрос в том, как быть с проектами, которые редактируются и там, и там
По идее, в них правильно написать Update — и это будет без сюрпризов работать везде

евроневидимка
30.07.2018
14:38:04
ебучие китайцы и сюда добрались

Friedrich
30.07.2018
14:38:04
Так, ботов щас закиляем, не троньте

евроневидимка
30.07.2018
14:38:51
Written in C on tablet using Vim and hosted on tablet.

Vasily
30.07.2018
14:38:52
Ну и тянется вся эта бадяга с тех времен, когда нельзя было файлы группами включать в проект

Friedrich
30.07.2018
14:40:00
Written in C on tablet using Vim and hosted on tablet.
Я вчера этот планшет видал, чистая правда.

В студии не работает
Мы проверяли и всё норм работало, в каком сценарии не работает?

Google
евроневидимка
30.07.2018
14:40:24
Vasily
30.07.2018
14:40:42
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>netcoreapp2.0</TargetFramework> <IsPackable>false</IsPackable> </PropertyGroup> <ItemGroup> <Compile Update="RobotName.fs" /> <Compile Update="RobotNameTest.fs" /> <Compile Update="Program.fs" /> </ItemGroup> <ItemGroup> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.8.0" /> <PackageReference Include="xunit" Version="2.3.1" /> <PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" /> <PackageReference Include="FsUnit.xUnit" Version="3.2.0" /> <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" /> </ItemGroup>

Roman
30.07.2018
14:40:57
Это что?

Vasily
30.07.2018
14:41:00
Такую хрень студия уже не грузит

Friedrich
30.07.2018
14:41:03
Погоди, а для F# разве вообще есть автовключение файлов в проект?

Это что?
Это ботоубийца

Свой, у меня доступ к сорцам есть.

Roman
30.07.2018
14:41:19
А, круто

Vasily
30.07.2018
14:41:20
Ну я про фшарп, да

Friedrich
30.07.2018
14:41:45
Ну я про фшарп, да
В F# не получится сделать update на этих элементах, потому что их нету в дереве, не?

Ну то есть для fsproj там надо писать инклуд и это должно работать.

Vasily
30.07.2018
14:42:39
В райдере задваивает

Апдейт не получится, да

Friedrich
30.07.2018
14:42:55
В райдере задваивает
Давай тогда подробнее, где у них энти проекты скачать?

Vasily
30.07.2018
14:43:06
exercism.io

Friedrich
30.07.2018
14:43:15
У меня задваивались как-то раз, когда я пытался открыть проект, не устанавливая F# SDK

Vasily
30.07.2018
14:43:15
Регаешься, качаешь хелло волд

Friedrich
30.07.2018
14:43:45
Окей, я чуть позже сам посмотрю эти проекты и разберёмся. Там F#?

Vasily
30.07.2018
14:44:35
Угу

F# на машине установлен

Google
Vasily
30.07.2018
14:55:10
В общем, в случае fsharp там есть над чем подумать, т.к. порядок важен

Friedrich
30.07.2018
14:56:12
В общем, в случае fsharp там есть над чем подумать, т.к. порядок важен
Не о чем там думать, ведь в F#-проектах по дефолту эта галочка с автовключением файлов не включена

Поэтому все обычные проекты нормально отображаются в Rider.

Видимо, там проект какой-то необычный.

Vasily
30.07.2018
14:56:54
ВОзможно

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

Evgeniy
30.07.2018
16:31:01
@fvnever Бот не сработал.

Потестил генерацию стабов для записей в Ionide.

Отлично!

Ayrat
30.07.2018
17:09:43
Да, мне тоже крайне понравилось. Работает без нареканий

Evgeniy
30.07.2018
17:14:02
https://twitter.com/IonideProject/status/1022582877131821057

Roman
30.07.2018
17:14:14
А, да

Friedrich
30.07.2018
17:19:59
Я вырубил планшет, пока на речке ездил

Evgeniy
30.07.2018
17:20:29
Ок!

Friedrich
30.07.2018
17:21:33
По идее, он сам разгребёт очередь и всех поубивает, когда проснётся.

Evgeniy
30.07.2018
17:25:38
О, работает.

Отлично!

@fvnever Передайте господину Алексу спасибо. ;)

Google
Friedrich
30.07.2018
19:15:57
а как убивает?
Ну, он оценивает рейтинг по словам в нике, которые ему не нравятся. Если рейтинг выше порогового значения — банит и удаляет сообщение о входе.

Friedrich
30.07.2018
19:16:45
Roman
30.07.2018
19:16:51
А если ложноположительное срабатывание?

Friedrich
30.07.2018
19:17:05
А если ложноположительное срабатывание?
До сих пор никто не жаловался!

Roman
30.07.2018
19:17:13
До сих пор никто не жаловался!
Так мб потому что не могли?)

Friedrich
30.07.2018
19:17:28
Ну, мы его заточили конкретно на эти дурные ники.

Roman
30.07.2018
19:17:34
Ок

Evgeniy
30.07.2018
19:17:42
Роботы отнимают работу!

?

Friedrich
30.07.2018
19:17:53
MWA HA HA HA

Roman
30.07.2018
19:18:03
Роботы отнимают работу!
И накручивают кол-во эфшарперов

Anna
30.07.2018
19:18:30
Роботы отнимают работу!
интересно что ли тебе этих унылых восточных ботов выгонять?

Vlad
30.07.2018
19:18:31
Роботы отнимают работу!
Время крушить паровые машины

Friedrich
30.07.2018
19:18:43
И накручивают кол-во эфшарперов
Я не уверен, что боты считаются.

Проверил — считаются.

Evgeniy
30.07.2018
19:19:12
интересно что ли тебе этих унылых восточных ботов выгонять?
Да, мясных человеков куда приятнее выгонять!

Google
Evgeniy
30.07.2018
19:19:34
Так, @gsomix, иди ка в @fsharp_flood, пока не побанил.

アレクセイ
30.07.2018
19:20:19
И где кавалерия

Doge
30.07.2018
20:32:11
Может кто-нибудь подсказать: в F# есть ли до сих пор ограничение на то, что type provider не может генерить DU, модули и другие специфичные для F# типы?

Doge
30.07.2018
20:34:43
Да. А есть хороший юзкейс?
Ага, автоматическая генерация Free и сопутствующей машинерии для данного интерфейса. Примерно как вот в такой либе для скалы делается: http://frees.io/docs/core/algebras/

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

Evgeniy
30.07.2018
20:36:17
Vasily
30.07.2018
20:40:29
А можно для тупых- фри монадки по интерфейсам?

Doge
30.07.2018
20:40:54
Для этого нужно сначала научить провайдеры параметризоваться типами (работа идет, но медленно).
Жаль, а то как-то подумалось, что такая идея могла бы хорошо на них лечь. Спасибо за помощь.

Давно не следил в целом за F# экосистемой, поэтому подробности про современное состояние дел с провайдерами не знал, думал вдруг что-то поменялось.

А можно для тупых- фри монадки по интерфейсам?
Сейчас набросаю, что я имею в виду.

А можно для тупых- фри монадки по интерфейсам?
Суть в том, что любой интерфейс можно определенным образом выразить через специально сконструированный DU, который можно будет использовать вместе с Free. Во, даже нашел вроде похожую на правду статью, где как это сделать для случая F# даже подробно расписано: http://blog.ploeh.dk/2017/08/07/f-free-monad-recipe/ См. там пункт Refactor interface to functor и следующий Free monad recipe Может появиться вопрос: а зачем это нужно и какая практическая польза? Например, польза в том, что можно таким образом делать referential transparent обертку к каким-то существующим грязным АПИ. Как пример этого: https://tpolecat.github.io/doobie/ который является таким образом сделанной чистой оберткой над jdbc.

Vasily
30.07.2018
21:42:09
Короче, в скале ща модно final tagless

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