@Fsharp_chat

Страница 190 из 772
Evgeniy
01.06.2017
20:38:48
@Dolfik А у jObject какой тип?

Nikolay
01.06.2017
20:39:21
Evgeniy
01.06.2017
20:44:56
Мне кажется это странным.

Nikolay
01.06.2017
20:46:20
GetEnumerator как раз возвращает IEnumerator<KeyValuePair<string, JToken»

Google
Nikolay
01.06.2017
20:47:25
Поэтому поведение for понятно. Не понятно поведение Seq

Friedrich
02.06.2017
06:21:58
Превед! \o

Pavel
02.06.2017
06:22:11
Превед! \o
Дратути!

Vasily
02.06.2017
07:22:33
В продолжение наркоманских идей с билдерами

type RequestBuilder()= member this.Yield (item:'a):HttpRequestMessage->HttpRequestMessage = fun r->r [<CustomOperation("method")>] member this.Method(f:HttpRequestMessage->HttpRequestMessage,m:HttpMethod)= fun r-> let request=f(r) request.Method<-m request [<CustomOperation("header")>] member this.Header(f:HttpRequestMessage->HttpRequestMessage,name:string,value:string)= fun r-> let request=f(r) request.Headers.Add(name,value) request [<CustomOperation("url")>] member this.Url (f:HttpRequestMessage->HttpRequestMessage,uri)= fun r-> let request=f(r) request.RequestUri<-new Uri(uri) request

Это уже более функциональная вещь

по факту, фабрика реквестов

Roman
02.06.2017
07:24:15
по факту, фабрика реквестов
А пример использования?

Vasily
02.06.2017
07:24:44
let request=req { method HttpMethod.Get url "http://lenta.ru" header "Authorization" "Basic" header "MyHeader" "MyValue" }

let r1=new HttpRequestMessage()|>request

Nikolay
02.06.2017
07:25:19
Кстати, спросить хотел :) Билдеры в одну строку писать как-то можно?

Vasily
02.06.2017
07:25:43
Однострочные можно :)

Nikolay
02.06.2017
07:26:03
Однострочные можно :)
Типа req { method HttpMethod.Get }

Google
Nikolay
02.06.2017
07:26:04
?

Vasily
02.06.2017
07:26:16
Ну такие да

Nikolay
02.06.2017
07:26:48
А так: req { method HttpMethod.Get; url "http://lenta.ru" }

Ну или типа того

Vasily
02.06.2017
07:27:09
Так низя

Nikolay
02.06.2017
07:27:20
Это печально немного

Vasily
02.06.2017
07:28:05
Семантика языка

Но можно делать подбилдеры:

Хотя пока низя, у меня бинд не описан :)

Эту штуку доработаю

https://pastebin.com/Czc2HkaW

Как-то так

Летучая
02.06.2017
11:16:40
Товарищи! Используете ли вы FsUnit? С каким фреймворком, nUnit, xUnit или с каким-нибудь ещё? Какие плюсы/минусы у того, что вы используете?

Klei
02.06.2017
11:36:42
Товарищи! Используете ли вы FsUnit? С каким фреймворком, nUnit, xUnit или с каким-нибудь ещё? Какие плюсы/минусы у того, что вы используете?
Использую вместе с NUnit. Потому что знаю только NUnit. Пока хватает, но в будущем похоже смигрирую в F#-специфичные фреймворки.

Friedrich
02.06.2017
11:47:43
Я пишу тесты на xUnit, всем доволен. Не вижу даже повода переходить на FsUnit (но надеюсь, что кто-нибудь мне однажды покажет преимущества).

Летучая
02.06.2017
11:50:15
Я пишу тесты на xUnit, всем доволен. Не вижу даже повода переходить на FsUnit (но надеюсь, что кто-нибудь мне однажды покажет преимущества).
Но ведь это продукты из разных категорий! FsUnit — сахар для твоего любимого юнит-тест фреймворка.

Спасибо за рекомендации :)

Klei
02.06.2017
12:06:11
Я пишу тесты на xUnit, всем доволен. Не вижу даже повода переходить на FsUnit (но надеюсь, что кто-нибудь мне однажды покажет преимущества).
Ну если классические ассерты не раздражают, то в переходе смысла точно нет. Я же после FluentAssertions вообще не могу писать без обертки.

Roman
02.06.2017
12:23:24
облако тегов знаешь? Чем чаще слово в тексте встречается, тем больше оно в этом облаке отображается. Вот я о том, что слово issue будет заметным в нашем облаке)
Ну не особо, на самом деле :) https://vgy.me/OR7V7v.png Сорри за транслит, что-то мое любимое облако тегов не переварило кириллицу

Google
Roman
02.06.2017
12:24:08
Во всяком случае за последнюю неделю, сколько я в чатике - больше было влом грузить :)

Но есть, да!

Roman
02.06.2017
12:24:14
но оно хотя бы тут есть)
не работает и работает слилось в одно, да?

Vasily
02.06.2017
12:24:56
Roman
02.06.2017
12:24:57
Неа, просто стандартные кодировкопроблемы. Хотя юникод

Evgeniy
02.06.2017
12:25:20
> kod > rabotaet

Nikolay
02.06.2017
12:25:22


:3

Roman
02.06.2017
12:25:29
Неа, просто стандартные кодировкопроблемы. Хотя юникод
я к тому что вхождение слова работает, присутствует и в "это не работает" и в "это работает"

> kod > rabotaet
data science for fun

Roman
02.06.2017
12:26:19
Этих проблем не было, я лениво разделил все по пробелам

Просто вот это получилось https://vgy.me/f2TDtl.png

Vasily
02.06.2017
12:27:10
Кодировка

Летучая
02.06.2017
12:27:13
Годнота в треде

Roman
02.06.2017
12:27:20
А ковыряться лениво было. Скорее всего, что-то не так конвертится при передаче через провайдер

Летучая
02.06.2017
12:27:26
Интересно, как будет выглядеть облако для шарпового чата

Roman
02.06.2017
12:27:30
Кодировка, понятное дело

Vasily
02.06.2017
12:58:00
Чет меня второй день прет от темы билдеров на computation expressions, правда, фиг знает, где их применить :)

Friedrich
02.06.2017
13:25:37
А ковыряться лениво было. Скорее всего, что-то не так конвертится при передаче через провайдер
У меня были такие же проблемы с rJava. Я пару дней копался в дебаге, а потом плюнул :(

Google
Roman
02.06.2017
14:39:31
Но можно делать подбилдеры:
А нельзя комбинировать? типа actor { provider = "Akka.Cluster.ClusterActorRefProvider, Akka.Cluster" serializers { hyperion = "Akka.Serialization.HyperionSerializer, Akka.Serialization.Hyperion" } }

Vasily
02.06.2017
14:40:21
Можно

Там, правда, немного больше бойлерплейта будет

Фактически несколько версий Yield

Vasily
02.06.2017
14:41:38
Ну надо смотреть реализацию

Roman
02.06.2017
14:41:42
Можно
тогда это очень круто. Это же тайпсэйф настройки.

Vasily
02.06.2017
14:42:13
Скорее будет provider "Akka.Cluster.ClusterActorRefProvider, Akka.Cluster"

Чем provider=

Vasily
02.06.2017
14:42:53
Ну извини :)

То, что внутри фигурных скобок, фактически, последовательные вызовы

Roman
02.06.2017
14:44:04
Vasily
02.06.2017
14:45:54
Ну равно тут вряд ли нужно

В целом, вертится идея описания сериализации на таких вот вызовах

Например, в json

Ну и десериализации соответственно

Ну или удобно делать схемы парсинга файлов, тех же xml

По факту, lenses over xml/json

Roman
02.06.2017
14:54:51
Google
Evgeniy
02.06.2017
15:04:51
Посмотрите, о чем твитнул(а) @FableCompiler: https://twitter.com/FableCompiler/status/870632788986384384?s=09

Vasily
02.06.2017
15:05:14
Поздравляем Рыбу?

Friedrich
02.06.2017
15:06:01
Почему Рыбу? Что там вообще происходит?

Vasily
02.06.2017
15:06:20
Ну вроде он же чет там предлагал такое

Вчера-позавчера

Или я ошибаюсь?

Roman
02.06.2017
15:12:52
Artemy
02.06.2017
15:20:10
Ну не особо, на самом деле :) https://vgy.me/OR7V7v.png Сорри за транслит, что-то мое любимое облако тегов не переварило кириллицу
Но помимо issue в облаке ещё problema есть. М.б. если их объединить в одно, то в топ продвинется?

Roman
02.06.2017
16:03:42
Но помимо issue в облаке ещё problema есть. М.б. если их объединить в одно, то в топ продвинется?
Если поискать по сообщениям, то "проблема" используется в другом контексте :)

Klei
02.06.2017
16:17:21
@nevoroman А чем извлекали данные из чата?

Летучая
02.06.2017
17:12:43
Если поискать по сообщениям, то "проблема" используется в другом контексте :)
А чем рисовали само облако тегов? Самописное что-то или какая-то годная библиотека?

Roman
02.06.2017
17:16:27
@nevoroman А чем извлекали данные из чата?
Telegram API, есть дотнетовская обертка TLSharp

У меня был древний сэмпл с одного из докладов https://gist.github.com/nevoroman/d59507a8e2728d59a24cfad5faf63e68

Летучая
02.06.2017
17:19:28
Спасибо! ???

Igor
02.06.2017
17:20:39
Telegram API, есть дотнетовская обертка TLSharp
Это которая core не поддерживает?

Roman
02.06.2017
17:21:23
Кхем, возможно, я виндузятник и по-быстрому сделал это в обычном дотнете

Но вообще можно сделать через web api и провайдеры, наверное. Но дольше

Klei
02.06.2017
17:24:30
Летучая
02.06.2017
17:37:14
Как вариант -- добавить в чат бота и читать чат бот фреймворком.

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