
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

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

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

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

Nikolay
02.06.2017
11:49:17

Летучая
02.06.2017
11:50:15
Спасибо за рекомендации :)

Klei
02.06.2017
12:06:11

Roman
02.06.2017
12:23:24

Google

Roman
02.06.2017
12:24:02

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

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

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

Roman
02.06.2017
14:41:00

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=

Roman
02.06.2017
14:42:41

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

Roman
02.06.2017
16:03:42

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

Летучая
02.06.2017
17:12:43

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

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

Igor
02.06.2017
17:20:39

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

Klei
02.06.2017
17:24:30

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