@haskellru

Страница 837 из 1551
Andrew
11.02.2018
13:27:42
А что значит совместимость с js?
Ну json это же по сути объект js

а с xml надо повозиться, распарсить

Alexander
11.02.2018
13:38:41
ну есть и другая сторона вопроса, формат json задается в лучшем случае через flow (и то чисто за счет его совмстимости с js), а для задания формата xml придумали кучу крутых штук

причем flow достаточно молод, чтобы автодоки с ним лучше было писать самому

Google
Alexander
11.02.2018
13:40:50
На pgconf 2018 развели холивар тоже json vs xml.
там это еще интереснее, поскольку xml в psotgre принципиально типизированный, а json нет

Andrew
11.02.2018
13:43:43
там это еще интереснее, поскольку xml в psotgre принципиально типизированный, а json нет
Вот этого я не знал, что pg xml тип поддерживает. А каковы издержки этого типа? Можно ли строить индекс по внутренним нодам?

Alexander
11.02.2018
13:44:30
индексы только функциональные и полнотекстовые

обычно функциональных хватает

так, я наврал, postgresql не умеет в валидацию по схеме

Anatolii
11.02.2018
13:50:02
Ну json это же по сути объект js
Под него все равно парсер нужен

Yuriy
11.02.2018
13:50:27
Alexander
11.02.2018
13:50:37
парсер не нужен, парсер крайне желателен

любое выражение json является валидным выражением js, проблема только в том чтобы не делать eval с user inputом

Yuriy
11.02.2018
13:51:54
почему крайне? если хочешь, чтобы твоя программа падала, то не пользуйся парсером

Alexander
11.02.2018
13:52:09
мне кажется, с xml не будет проблем. если на клиенте типизированный язык

Google
Andrew
11.02.2018
13:52:50
Под него все равно парсер нужен
JSON.parse() насколько известно встроен в js

Anatolii
11.02.2018
13:53:14
Ну это значит что парсер написали уже

Alexander
11.02.2018
13:53:28
это не особо важно, v8 справится с задачей превратить парсе в байткод

Andrew
11.02.2018
13:54:14
С xml там сложнее. Это как раз плюсик в пользу JSON формата.

Anatolii
11.02.2018
13:54:22
Я просто не понял как формат данных может быть не совместим с языком

Yuriy
11.02.2018
13:54:27
приведи пример
http://timelessrepo.com/json-isnt-a-javascript-subset

Alexander
11.02.2018
13:55:09
> {"JSON":"ro cks!"} разве это валидный json?

Alexander
11.02.2018
13:55:18
мне кажется что это UTF-8 расширение

Yuriy
11.02.2018
13:55:42
Anatolii
11.02.2018
13:55:46
формат может не быть частью языка
Ну это же не "не совместимость"

Alexander
11.02.2018
13:55:57
глянул спеки json, да, там полная поддержка utf-8 :(

Yuriy
11.02.2018
13:56:05
Ну это же не "не совместимость"
да, скорее "поддержка на уровне синтаксиса"

Anatolii
11.02.2018
13:56:29
Конечно на фронте приятно на 1 зависимость меньше тащить

Alexander
11.02.2018
13:56:57
проблема в том, что на фронте становится непонятно что делать с xml

Yuriy
11.02.2018
13:57:02
глянул спеки json, да, там полная поддержка utf-8 :(
кстати, есть 2 слегка противоречащих друг другу спеки JSON, врочем, это ерунда

Alexander
11.02.2018
13:58:00
то есть по идее ты хочешь пройтись по нему xpathами, а не десериализовать в объект, потому что непонятно как описать десериализатор

Yuriy
11.02.2018
13:58:12
делайте клиентскую часть фронтенда попроще, XML уберите в серверную часть

Alexander
11.02.2018
13:58:48
это вопрос инструментария. Если фронт на js то понятно что xml не нужен

Google
Alexander
11.02.2018
13:59:22
проще уж изъебнуться с flow

Andrew
11.02.2018
14:03:14
Можно вообще взять edn :) и на фронте и на сервере

Aleksey
11.02.2018
14:03:17
Кложуристы, вон, гоняют на фронт EDN свой. И радуются. И им не жмёт особо

лол

Alexander
11.02.2018
14:05:28
а у них фронт на js при этом?

Andrew
11.02.2018
14:05:43
Clojurejs

Alexander
11.02.2018
14:06:15
ну вот и я к тому же

Andrew
11.02.2018
14:06:31
Я пробовал, неплохо, пишешь и на сервере и на клиенте на одном языке.

Alexander
11.02.2018
14:06:50
люди так nodejs изобрели :(

Andrew
11.02.2018
14:07:20
Clojurejs на jvm, нода не нужна.

Aleksey
11.02.2018
14:07:32
У них там есть либка, которая позволяет поиметь edn из жабаскрипта того же

Alexander
11.02.2018
14:07:36
я про > пишешь и на сервере и на клиенте на одном языке

Andrew
11.02.2018
14:09:53
Ну тут другое, нода все таки это страх и ужас, чистый js, а кложа это очень хороший язык, с jvm под капотом, то есть со всеми плюшками из java мира. И конечно же с ее минусами.

Yuriy
11.02.2018
14:10:22
есть ещё Transit Рича Хики — где-то между EDN и JSON

Andrew
11.02.2018
14:10:27
То есть я бы не сравнивал их)

Aleksey
11.02.2018
14:20:25
есть ещё Transit Рича Хики — где-то между EDN и JSON
Transit, это синтаксис EDN со стандартизированным набором расширений (если я правильно помню)

Aleksey
11.02.2018
14:22:38
Да, ты прав

Транзит энкодит в JSON то, что в EDN есть из коробки. И описывает расширяемость

Yuriy
11.02.2018
14:23:30
а семантика у них от Кложи, например, есть строки отдельно от символов (symbol, не путать с character) за каким-то хреном

Google
Aleksey
11.02.2018
14:23:58
> символов это ты про :keywords?

Yuriy
11.02.2018
14:24:15
Aleksey
11.02.2018
14:24:28
Так то там ещё есть 'symbol

Как в лиспах

Yuriy
11.02.2018
14:24:41
во, эти тоже

Aleksey
11.02.2018
14:25:39
По поводу кейвордов - я только "за"! Особенно - если они ещё и с автопрефиксом пространства имён. Впрочем в транспортном протоколе это не что чтобы нужно. Это больше полезно при "программировании на словариках"

Leonid
11.02.2018
14:44:42
Когда CBOR в бравзеры завезут уже?

Aleksey
11.02.2018
15:29:36
Ну да, они настолько же органично смотрятся и столь же легковесный синтаксис имеют :)

Anatolii
11.02.2018
15:30:37
Товарищи, а какой роутер взять полегче и чтобы wai совместимый

?

Alexander
11.02.2018
15:32:50
Вообще, в теории вместо символов в хаскеле перечислимые типы

Aleksey
11.02.2018
15:34:20
Тога уж символы, это type level строки

Alexander
11.02.2018
15:41:17
тайплевел строки в base

Dmitry
11.02.2018
16:04:04
Комрады. С чего лучше начать изучать сабж?

adam
11.02.2018
16:09:28
”Бе-решит”(книга Бытия) IV-й том, Ветхий Завет HPB, “The Secret Doctrine” II-й том

Alexander
11.02.2018
16:17:26
последний servant тоже

о! надо ж баг зарепортить о том что client для Raw endpoint не принимает Request

Google
Anatolii
11.02.2018
16:28:33
Servant
Мне бы что попроще, когда-то видел простенький, пойду искать

Alexander
11.02.2018
16:29:40
а сам ваи не подходит?

там же тоже все писать достаточно просто

Anatolii
11.02.2018
16:31:14
Да мне хотелось бы post /user handler1 get /dog handler2

Может я доку ваи не досмотрел

Alexander
11.02.2018
16:33:01
case чтотоPath req of ["user"] | что-тоRequestType req == Post -> ... ["dog"] ...

Anatolii
11.02.2018
16:33:16
Во, я нашел Скотти

Aleksey
11.02.2018
16:35:29
Комрады. С чего лучше начать изучать сабж?
Если "сабж" == "Haskell", то курс на Stepik + книга "Learn You a Haskell for Great Good"

Ещё можно самому написать роутер на аппликативах (типа такого: https://gist.github.com/astynax/187dc86debc490b141f1c3263d70c14d#file-aro-hs-L37)

Ещё можно самому написать роутер на аппликативах (типа такого: https://gist.github.com/astynax/187dc86debc490b141f1c3263d70c14d#file-aro-hs-L37)
Это игрушечный пример для демонстрации "полезности аппликативов в вебчике" :) На полноту и фичастость не претендует :)

Anatolii
11.02.2018
16:41:32
Спасибо

Imants
11.02.2018
16:48:27
Комрады. С чего лучше начать изучать сабж?
Ещё полезная книга: https://fldit-www.cs.uni-dortmund.de/~peter/PS07/HR.pdf

Dmitry
11.02.2018
17:34:12
Всем спасибо

kana
11.02.2018
17:43:26
ну, почти
Уже почти не почти, есть пропосал (или его включают в стандарт, или уже включили)

Alexander
11.02.2018
17:57:47
а можно в кратце чем плоха "learn you a haskell for great good"?

а то по ней учился и хочу понять что учил неправильно

Aleksey
11.02.2018
18:35:30
а можно в кратце чем плоха "learn you a haskell for great good"?
"плоха" тем, что не рассказывает про либы. Только про сам язык и базовые вещи типа моноидов и монад

Ну и про тулинг тоже ничего нет в ней. Код большей части примеров выполняется в REPL

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