@haskellru

Страница 803 из 1551
Index
01.02.2018
22:59:53
Ну то есть если я напишу let ?x = foo ?y = bar in Rec, то оно не выведет, какие там поля в Rec, а если Rec & #x .= foo & #y .= bar, то выведет

A64m
01.02.2018
23:01:01
ну да

Index
01.02.2018
23:01:10
А если убрать эти .=, то получится немножко короче Rec ! #x foo ! #y bar

что-то мне это напоминает а да, мои костыльные keyword arguments

Google
A64m
01.02.2018
23:03:12
надо в гхц протащить паттерн-синонимы-рекорды, поддерживающие лейблы, и все можно сказать что для строительства анонимных рекордов все есть

Alexander
02.02.2018
09:00:07
так я хочу в серванте сделать что-то вроде: type MyAPI = "fsjkhdf" :> ReqBody (MyRequest foo) :> Post foo

у меня есть хоть какие-то шансы на удачу?

просто мне нужны запросы к внешнему сервису зоделать и не хочется под это 100500 урлов генерить

при этом хочетя чтобы соотвествие request -> reply типов было

что дает соотв GADT

Oleg
02.02.2018
09:06:11
так я хочу в серванте сделать что-то вроде: type MyAPI = "fsjkhdf" :> ReqBody (MyRequest foo) :> Post foo
Возможно фигню скажу, а сфолдить тип через какую-нибуть type family для списка всех foo?

Alexander
02.02.2018
09:07:15
ну я могу попытаться автоматизировать развернтку всех возможных типов, и не писать руками урлы, но или завернуть в экзестенциальную обертку, но тогда я вроде бы теряю информацию о связи

во втором случае, я хотя бы могу сделать user facing API защищенный конечно

Denis
02.02.2018
09:12:29
по куску что ты запостил непонятно что ты хочешь сделать, но решение это явно TF ?

Alexander
02.02.2018
09:19:49
не тут код генерить надо class types нужны, одних TF не хватит

хочу url выше и data MyRequest a where R1 :: MyRequest Int R2 :: MyRequest String

Google
Denis
02.02.2018
09:21:27
ну если закрытый кайнд будет типов-вариантов(параметров для MyRequest), то можно на TF

Alexander
02.02.2018
09:22:30
я когда сервер делать буду мне ж потребуется специфицировать урлы

с TF я могу из такого типа сгенерить 1005000 урлов что нужно по закрытому кайнду

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

Kirill
02.02.2018
09:38:18
у нас в примерно похожем случае existential, но дизайн жутко не нравится по сути вылезает динамическая типизация, ну и связи с типом ответа нет, правда

Marai Auwal Muhd Auwal
02.02.2018
09:38:43
hello

Hot
02.02.2018
09:39:26
Hello, nice name.

А есть какой-нибудь nohello по аналогии с neprivet?

Kirill
02.02.2018
09:40:45
а что есть neprivet?

Denis
02.02.2018
09:41:20
coprivet is privet^op

Hot
02.02.2018
09:41:46
neprivet.ru или как-то так

Ссыль, которую кидают, когда кто-то заходит в чат и сразу пишет отдельным сообщением "Привет".

А потом ещё минут 5 набирает сообщение по сути.

Oleg
02.02.2018
09:42:51
nohello.com

Hot
02.02.2018
09:43:20
Хм, надо же. Как очевидно при этом, лол. Даже сам думал проверить, но мне было лень.

Leonid
02.02.2018
09:59:28
Это как 15+ лет назад в irc любили на вопрос "где" посылать на сайт немецкой стоматологии?

Hot
02.02.2018
10:07:17
Обожаю ваш лямбда-юмор!

Alister
02.02.2018
10:08:02
лямбда-юмор можно карировать?

Leonid
02.02.2018
10:14:23
Я люблю постить ко-юмор

Kirill
02.02.2018
10:16:30
@qnikst про http://blog.roman-gonzalez.ca/post/170390559402/capataz-01-released ты не особо в курсе?

Google
Leonid
02.02.2018
10:18:27
@qnikst про http://blog.roman-gonzalez.ca/post/170390559402/capataz-01-released ты не особо в курсе?
https://romanandreg.gitbooks.io/capataz/content/v0.1/git-synchronizer-tutorial.html там еще и ссылка на тутор

я не пойму, оно треды супервайзит или процессы?

Denis
02.02.2018
10:20:32
https://storm-country.com/blog/gof-strategy

Kirill
02.02.2018
10:20:35
ну речь вроде про форкио

какие там процессы

Leonid
02.02.2018
10:21:03
ну вообще да

Kirill
02.02.2018
10:21:29
но я не вчитывался, есть ли там IPC какой

Leonid
02.02.2018
10:22:16
вроде нет. это чисто деревья тредов

полезно поди

Alexander
02.02.2018
10:22:39
не в курсе

там 100600 либ

подобных

Leonid
02.02.2018
10:23:16
но в наше время, когда у всех независимые друг от друга микросервисы общающиеся джейсоном по http, нужен ли OTP?

Alexander
02.02.2018
10:24:53
все до последней запятой можно убирать

Alexey
02.02.2018
10:25:02
микросервисы на одной машине, общающиеся по http - это как-то очень жирно

Alexander
02.02.2018
10:25:22
но но gRPC

Leonid
02.02.2018
10:25:43
а еще они такие независимыве что ваще

Alexander
02.02.2018
10:26:01
с http2 да ещё и с мультиплексированием оно вполне норм может быть

но это либы полноценные нужны

не так и много оверхеда

Google
Leonid
02.02.2018
10:27:54
а что с gRPC для хаскеля? Гугловый протобаф на линзах жив ли?

https://hackage.haskell.org/package/proto-lens ну хотя-бы на хакадж выложили

Denis
02.02.2018
10:34:31
Leonid
02.02.2018
10:35:02
а в том что другие пакеты для протобаф вообще не умеют генерить из .proto

и не поддерживают proto3

Alexander
02.02.2018
10:35:19
а что с gRPC для хаскеля? Гугловый протобаф на линзах жив ли?
у нас использовали немного, но как-то не в восторге от либы

Admin
ERROR: S client not available

Alexander
02.02.2018
10:35:40
я не рискнул в alphasheets тащить пока

Leonid
02.02.2018
10:35:53
не понял
https://developers.google.com/protocol-buffers/

я не рискнул в alphasheets тащить пока
я вот тоже считаю что нужно на CBOR делать :)

Alexander
02.02.2018
10:36:43
хотя там у нас реально напрашивается http2, учитывая, что тогда всякие запросы от браузера можно было бы каналами напрямую пробрасывать

Denis
02.02.2018
10:36:53
https://developers.google.com/protocol-buffers/
для сериализации данных?)

Alexander
02.02.2018
10:37:02
так то, http2 это ж framing протокол, не?

Leonid
02.02.2018
10:37:07
для сериализации данных?)
ага. и у гугла gRPC поверх этого дела

Alexander
02.02.2018
10:37:15
payload можно любой, данные/cbor и т.д.

Leonid
02.02.2018
10:37:20
так то, http2 это ж framing протокол, не?
А, ты про это. ну да. там можно что хошь

Alexander
02.02.2018
10:37:24
в gRPC конечно да, привязаны протобуфы

Leonid
02.02.2018
10:37:43
Говорят в gRPC теперь и json можно

Denis
02.02.2018
10:37:46
ага. и у гугла gRPC поверх этого дела
то есть я могу сериализовать ADT? тут же кто-то делал такую идею, вроде Дмитрий (я доклад как-то смотрел)

Google
Alexander
02.02.2018
10:38:13
а что мешает сериализовать ADT сегодня?

Leonid
02.02.2018
10:38:14
то есть я могу сериализовать ADT? тут же кто-то делал такую идею, вроде Дмитрий (я доклад как-то смотрел)
вопрос не в том что ты можешь сериализовать, вопрос что ты сможешь десериализровать в go,c++,python

Alexander
02.02.2018
10:39:06
вообще http2 похож на network-transport с упрощениями некоторой части (разные типы соединений) и усложнением, более широкий набор дефолтных событий и т.п.

ещё и попсовый, т.е. если бы были либы хорошие, то нормальный кандидат для использования

Leonid
02.02.2018
10:39:54
еще в gRPC есть какая-то хитрая логика с восстановлением подключений и видимо ack сообщений

Alexander
02.02.2018
10:42:14
ну ты положишь adt куда, то, а что в го и пайтоне достанешь

Leonid
02.02.2018
10:42:41
@qnikst ну да. 4 конструктора в вебсокетах и 11 в http2 https://hackage.haskell.org/package/http2-1.6.3/docs/Network-HTTP2.html#t:FramePayload vs https://hackage.haskell.org/package/websockets-0.12.3.1/docs/Network-WebSockets.html#t:Message

Denis
02.02.2018
10:43:32
кто объяснит юзкейс для индексед монад и прочих конструкций?

Alexander
02.02.2018
10:43:53
хранить Typelevel state

например состояния ресурсов, или стейт мьютекса или ещё что

Denis
02.02.2018
10:44:19
ну вот какой-то вменяемый пример

Alexander
02.02.2018
10:44:24
который может меняться при переходе

я тебе его уже писал

Denis
02.02.2018
10:44:30
можно кодом

Alexander
02.02.2018
10:46:56
lock :: MutexMonad a Free Locked () unlock :: MutexMonad a Locked Free () update :: (a -> (a,b)) -> MutexMonad a Locked Locked b view :: a -> MutexMonad a k k a

Alexander
02.02.2018
10:48:11
а вообще в блогах выпендриваться, оно даже с RebindableSyntax тяжко для использования

Leonid
02.02.2018
10:48:54
там еще как-то можно типизировать переменные в edsl

Страница 803 из 1551