
Nikolay
29.05.2017
09:21:15
Ищи тогда раннер)
Должен быть

Roman
29.05.2017
09:21:45
я добавил Expecto.xunit и добавил xunit раннер, до закрытия студии все было ок. Но потом ничего не работало =(

Evgeniy
29.05.2017
09:22:32
@neftedollar Ишшью завел?

Google

Roman
29.05.2017
09:22:33
Expecto.VisualStudio.TestAdapter ой) Нашел

Pawel
29.05.2017
09:33:28
какие профиты даёт expecto в сравнении с традиционным nunit ?

Evgeniy
29.05.2017
09:36:45
> tests-as-values in easy-to-read F#

Pawel
29.05.2017
09:37:40
это я прочитал тоже) остаётся понять что сие значит

Evgeniy
29.05.2017
09:41:11
Не знаю, как это можно иначе трактовать. Ну, тесты — это значения, с которыми можно работать как со значениями: передавать, фильтровать, группировать. Меня больше привлекает интеграция с FsCheck, BenchmarkDotNet и Unquote.

Roman
29.05.2017
09:43:39

Evgeniy
29.05.2017
09:51:10
А у нас в слэке настоящая lenadroid.

Roman
29.05.2017
09:53:25

Evgeniy
29.05.2017
09:58:03
@neftedollar Что?

Roman
29.05.2017
09:58:46
@neftedollar Что?
Не знаю, у меня очень долго висела табличка что ты что-то пишешь. Я был очень заинтригован

Google

Evgeniy
29.05.2017
09:58:52
Неа.

Летучая
29.05.2017
10:00:10

Nikolay
29.05.2017
10:00:52
Кстати, давайте свои идеи по красивой обёртке над Telegram Bot Api :)

Vasily
29.05.2017
10:04:22
computation expression
типа telegram{ let! statuses=api.getStatuses}

Roman
29.05.2017
10:07:41

Vasily
29.05.2017
10:08:11
Ну тут можно url еще скрывать типа
Как и return

Roman
29.05.2017
10:09:06

Vasily
29.05.2017
10:09:32
Eue
Угу

Roman
29.05.2017
10:10:49

Vasily
29.05.2017
10:11:13
Ну я просто в качестве безумной идеи :)

Roman
29.05.2017
10:11:44

Nikolay
29.05.2017
10:13:31

Roman
29.05.2017
10:16:14
Насчёт parse не понял
ну типа
let parse : (string -> 'а)
subscribe (myParse:string -> Commands) (handler : Commands -> Unit)

Google

Roman
29.05.2017
10:16:28
Как вариант)

Nikolay
29.05.2017
10:17:13
Да там вообще наверное принцип надо пересмотреть, но я в F# к сожалению пока слишком слаб :(

Roman
29.05.2017
10:17:21
И дефолтным версию parse как parse str = str

Vasily
29.05.2017
10:18:22
А ссылку на код можно, кстати?

Nikolay
29.05.2017
10:18:57
https://github.com/Dolfik1/Funogram
У меня просто там дикие DU есть, на 20 полей

Roman
29.05.2017
10:20:14

Nikolay
29.05.2017
10:20:35
Но у меня в DU не получилось десериализовать
Вообще хз как это работать должно

Vasily
29.05.2017
10:21:37
type ChatId =
| ChatIdInt of int
| ChatIdLong of int64
| ChatIdString of string
я бы всегда стрингом передавал
token: string,
chatId: Types.ChatId,
text: string,
?parseMode: Types.ParseMode,
?disableWebPagePreview: bool,
?disableNotification: bool,
?replyToMessageId: int64,
?replyMarkup: Types.Markup
просится в отдельный тип

Nikolay
29.05.2017
10:24:56
Если ты с каналом работаешь
Если с юзером int, если с чатом int64

Vasily
29.05.2017
10:25:21

Nikolay
29.05.2017
10:25:49

Vasily
29.05.2017
10:26:26
Предлагаю выносить классы типа ChatMember с методами Kick,Ban etc

Google

Vasily
29.05.2017
10:27:09
Точнее, есть класс чат, как я понимаю, куда должен передаваться токен и чатайди
А бан , кик этц - передавать по одному параметру
Т.е. идея такая - создаем для каждого чата объект, в нем методы, специфичные для чата

Nikolay
29.05.2017
10:29:29
Мне кажется это не совсем по-функциональному :) Либо я не понимаю тебя

Vasily
29.05.2017
10:29:51
Ну то,что сейчас, выглядит избыточно
Минутку

Nikolay
29.05.2017
10:30:22

Vasily
29.05.2017
10:32:50
type Chat(chatId:int,token:string)=
member this.GetChatAdministrators()=Telegram.GetChatAdministratorsAsync(token, chatId) |> Async.RunSynchronously
Ну или тут просится computation expression тогда
По типу Seq
chat.init
И потом методы расширения типа Chat.kickMember etc
Хммм... кстати, интересная идея
Отдельный рекорд ChatParameters
module Chat=
let getAdmins parameters = Telegram.GetChatAdministratorsAsync(parameters.token, parameters.chatId) |> Async.RunSynchronously
parameters|>getAdmins
Типа такого
Кода будет в разы меньше, по идее
Просто сейчас выглядит как ООП код в синтаксисе F#
в целом, наверное, найду время запилить пару пулл реквестов

Nikolay
29.05.2017
10:46:06

Google

Nikolay
29.05.2017
10:46:28
Если оставить например только Async методы, убрать комментарии, то количество кода в разы уменьшится
А вообще, когда писал вдохновлялся Http в FSharp.Data

Pawel
29.05.2017
10:48:04

Nikolay
29.05.2017
10:51:46
И snake_case?

Pawel
29.05.2017
10:51:54
да
имена мапятся один в один, кастомизация json на мой взгляд не нужна и запутывет. Но если бы мне было нужно - сделал бы
то есть как назвал пропертю, такой и будет json

Roman
29.05.2017
10:54:40
Кстати, раз уж у нас есть такой чудный чат, поюзаю-ка я его в своих интересах.
Коллеги, я в поисках интересной темы для следующего DotNext'а и других конференций! Рассказывать одно и то же мне претит, так что я открыт к вашим предложениям - разбор чего в F# вам было бы интересно послушать?
На текущий момент ближайшее, что я планирую подготовить - это доклад про кишки провайдеров типов с разбором того, как их разрабатывать и разбором кода какого-нибудь специально для этого дела написанного провайдера. Если у вас есть интересные предложения для этого доклада, кейсы, или какой-нибудь забавный провайдер, который можно доработать и потом рассказать об этом - welcome!


Nikolay
29.05.2017
10:55:42
Кстати, раз уж у нас есть такой чудный чат, поюзаю-ка я его в своих интересах.
Коллеги, я в поисках интересной темы для следующего DotNext'а и других конференций! Рассказывать одно и то же мне претит, так что я открыт к вашим предложениям - разбор чего в F# вам было бы интересно послушать?
На текущий момент ближайшее, что я планирую подготовить - это доклад про кишки провайдеров типов с разбором того, как их разрабатывать и разбором кода какого-нибудь специально для этого дела написанного провайдера. Если у вас есть интересные предложения для этого доклада, кейсы, или какой-нибудь забавный провайдер, который можно доработать и потом рассказать об этом - welcome!
С провайдерами это круто, было бы интересно послушать


Pawel
29.05.2017
10:56:41
Кстати, раз уж у нас есть такой чудный чат, поюзаю-ка я его в своих интересах.
Коллеги, я в поисках интересной темы для следующего DotNext'а и других конференций! Рассказывать одно и то же мне претит, так что я открыт к вашим предложениям - разбор чего в F# вам было бы интересно послушать?
На текущий момент ближайшее, что я планирую подготовить - это доклад про кишки провайдеров типов с разбором того, как их разрабатывать и разбором кода какого-нибудь специально для этого дела написанного провайдера. Если у вас есть интересные предложения для этого доклада, кейсы, или какой-нибудь забавный провайдер, который можно доработать и потом рассказать об этом - welcome!
Data mining, машиннное обучение

Nikolay
29.05.2017
10:57:10
Ещё сейчас модно .Net Core :)

Pawel
29.05.2017
10:57:35

Roman
29.05.2017
10:57:39

Nikolay
29.05.2017
10:58:18

Roman
29.05.2017
10:58:39
Ещё сейчас модно .Net Core :)
Возможно, но материала маловато. Да и все эти доклады про .NET Core зачастую состоят из "прикиньте, на Линуксе дотнет работает!" и вообще грешат гигантским количеством пересечений друг с другом. Ну его

Pawel
29.05.2017
10:58:47

Roman
29.05.2017
11:00:48
а что было, можно ссылку?
Два доклада на дотнексте - один не про F#, но с его использованием, другой про F# целиком. Второй несколько посильнее, но достаточно простой и попсовый - все-таки совсем мало аудитории, которая шарит в F# и ML на дотнексте.
Машинное обучение на платформе .NET
https://www.youtube.com/watch?v=dWxsy8pxWws
F# во славу Data Science
https://www.youtube.com/watch?v=6r9aDfEI71U

Nikolay
29.05.2017
11:01:34


Pawel
29.05.2017
11:02:26
Кстати, раз уж у нас есть такой чудный чат, поюзаю-ка я его в своих интересах.
Коллеги, я в поисках интересной темы для следующего DotNext'а и других конференций! Рассказывать одно и то же мне претит, так что я открыт к вашим предложениям - разбор чего в F# вам было бы интересно послушать?
На текущий момент ближайшее, что я планирую подготовить - это доклад про кишки провайдеров типов с разбором того, как их разрабатывать и разбором кода какого-нибудь специально для этого дела написанного провайдера. Если у вас есть интересные предложения для этого доклада, кейсы, или какой-нибудь забавный провайдер, который можно доработать и потом рассказать об этом - welcome!
про F# вот что интересно и показательно. Взять типичную область применения net (виндовз десктоп WF, WPF, asp net mvc 4) и показать на примере реального энтерпрайзного проекта на C# и F#, какие профиты даёт F#, что код короче и понятнее получается


Nikolay
29.05.2017
11:03:06
Оу, нет, я ошибся, quotations они не трогали