@haskellru

Страница 861 из 1551
Denis
21.02.2018
09:38:59
я помню был пост га гисте на эту тему, но я целиком не прочитал - там такие варианты рассматривались?

A64m
21.02.2018
09:39:17
понятно, что на практике в строгих языках что-то делают не строго, а в ленивых что-то нелениво, но общая проблема ФП остается: ФП практичен только при неполной материализации промежуточных структур, но как не хитри, опасность влететь на полную материализацию всегда реально существует

Александр
21.02.2018
09:39:39
Google
A64m
21.02.2018
09:41:39
я помню был пост га гисте на эту тему, но я целиком не прочитал - там такие варианты рассматривались?
нет, пост на гисте, если имеется в виду "строгость и нищета списков" не про это. там про то, как сделать работающий текущий мап в строгом языке. Там прямо в предисловии о том, что обычно считается что ленивость нужно для того чтоб функции над списками не текли, но даже если вы согласны с тем, что они будут течь, вы все равно с ними помучаетесь

Denis
21.02.2018
09:42:29
я давненько пролистывал, уже не помню

Андрей
21.02.2018
09:42:54
не зря я вчера сюда восстановился )

как раз запросил сабж

A64m
21.02.2018
09:43:26
т.е. там у всех мапов списки материализуются, борются там с тем, чтоб материализация происходила однократно и без вышибания стека

Андрей
21.02.2018
09:45:42
материализация списков вообще чревата сама по себе, даже в отрыве от неоптимальности ее реализации. поэтому фьюзинг и трансдьюсеры всякие придумывают.

A64m
21.02.2018
09:46:57
материализация списков вообще чревата сама по себе, даже в отрыве от неоптимальности ее реализации. поэтому фьюзинг и трансдьюсеры всякие придумывают.
да, там есть еще сложности, если вообще запретить материализацию, даже частичную - как в итераторах - будут утечки времени, из-за пересчета всего по многу раз, причем даже с асимптотическим ухучшением алгоритма

Александр
21.02.2018
09:47:22
спутаны понятия "профессионально" и "качественно".
Я думаю, эти понятия настолько связаны, что в данном контексте уместно.

Aleksey
21.02.2018
09:48:01
Я думаю, эти понятия настолько связаны, что в данном контексте уместно.
профессионально - это за деньги, к качеству не имеет отношения. Можно профессионально делать халтуру.

A64m
21.02.2018
09:50:35
короче говоря, когда люди находят ФП и думают, о, буду собирать конвейеры из мапов и фильтров теперь даже не догадываются, какое адище за всем этим скрывается.

Андрей
21.02.2018
09:53:40
я как раз про это хотел говорить на несостоявшемся докладе ) абстракция настолько высока, что детали реализации не рассматриваются, а в них всем известно кто )

Denis
21.02.2018
09:55:08
при этом со всякими псевдофункциональными реализациями все ок

Google
Denis
21.02.2018
09:55:17
в мейнстримных языках

A64m
21.02.2018
09:55:33
в мейнстримных языках
это про что речь?

Denis
21.02.2018
09:56:09
если не на персистентную структуру данных натягивают map

Андрей
21.02.2018
09:56:11
про линк и джавастримы полагаю

Denis
21.02.2018
09:56:15
rust например

думаю что и скала наверняка

и фиг знает сколько языков еще

Андрей
21.02.2018
09:56:44
там совсем не ок

Denis
21.02.2018
09:57:12
почему кстати не ок, если там массив/вектор под капотом?

A64m
21.02.2018
09:57:16
rust например
ну вот линк ту обджектс в сишарпе считается за мейнстримную функциональщину на неперсистентной структуре (энумераторе, который мутабельный)?

Андрей
21.02.2018
09:57:54
поэтому и не ок, что трансдьюсров нет и все материализуется на каждом шаге

Denis
21.02.2018
09:58:25
то что не фьюзится в цепочке комбинаторов это другой вопрос

A64m
21.02.2018
09:58:31
там хорошая галерея адища, и тормоза и плохая асимптотика и текучесть из-за негранулярности материализации и просто тормоза на константах, и адовые хаки на велью-типах из-за которых в фориче один и тот же элемент повторяется и т.д.

Андрей
21.02.2018
09:59:19
ну как другой вопрос - это причина неокея

A64m
21.02.2018
10:00:08
так что в целом в мейнстриме с этим еще хуже чем даже в наивных ФЯ-имплементациях, в основном от дремучести и нечитательства

про фьюжен вообще речи нет, этого почти нигде нет и там где есть работает только когда повезет

Denis
21.02.2018
10:01:37
в идеальном мире структуры данных должны бы были выбираться статически оптимайзером исходя из кода, прогнозов по фьюжену и хинтов о размере структур программистом

Google
A64m
21.02.2018
10:04:08
ну и в результате разница по производительности всех этих костылей для объединения функций в конвейер в разных языках отличается на несколько десятичных порядков

Denis
21.02.2018
10:04:10
но это пока только для sci-fi фантастов

ну и в результате разница по производительности всех этих костылей для объединения функций в конвейер в разных языках отличается на несколько десятичных порядков
в общем то шокирующий вывод о том что ФЯП лучше приспособлены для функционального кода - не такой уж и шокирующий

A64m
21.02.2018
10:07:54
да нет, лично меня шокировала 1) адовость хаков которые приходится для всего этого применять 2) размеры разницы, понятно, что какая-то разница должна была быть. 3) вообще сам дизайн спейс где столько всего и одно хуже другого (эта проблема вроде той что с рекордами)

Alister
21.02.2018
10:25:25


только в последнем "instead of solving the problem"

kana
21.02.2018
10:26:33
Раст и элм в одном ряду

A64m
21.02.2018
10:28:02
инженер-восемнадцатого-века вместо инженер, таких среди программистов пока нету.

Alexander
21.02.2018
10:37:02
Андрей
21.02.2018
10:38:04
значит ситуация лучше чем я пессимистично полагал. но все равно не уверен в окее

Kirill
21.02.2018
10:44:34
а есть какие-то чёткие критерии для окея?

Андрей
21.02.2018
10:47:46
четких нет - только степень окейности. играться то и на неокейных реализациях можно

Alexander
21.02.2018
10:49:04
если скала -то окей

Denis
21.02.2018
10:57:06
Какой сейчас бинарный сериализатор побыстрее? У меня тут binary и он какой-то тормозной.

Leonid
21.02.2018
10:59:31
если именно сериализатор то cbor/serialise или store наверно

Misha
21.02.2018
10:59:50
https://hackage.haskell.org/package/serialise ? по случайности смотрел talk Дункана про это дело

говорил, что упор был на скорость

Artyom
21.02.2018
11:05:24
store или flat

но если хочется стандартизированный формат, то serialise тоже ок

Denis
21.02.2018
11:13:33
мне хочется 1) быстро 2) дженерики 3) компактно

Google
A64m
21.02.2018
11:14:46
а flat быстрый что-ли?

Artyom
21.02.2018
11:17:05
по бенчмаркам быстрый

A64m
21.02.2018
11:18:08
по каким бенчмаркам? Из серии репозиториев на гитхабе, где сравнения библиотек вроде все последовательности, все словари и т.д.?

Artyom
21.02.2018
11:18:14
да

Denis
21.02.2018
11:19:36
а покажите репу с бенчмарками?

A64m
21.02.2018
11:22:05
Я бы относился к результатам этих бенчмарков с осторожностью

Leonid
21.02.2018
11:22:30
В cbor были бенчи

Store там точно был. @qnikst пилил

Artyom
21.02.2018
11:23:12
https://github.com/haskell-perf/serialization

Alexander
21.02.2018
11:43:17
я адаптировал для сторе и сериалайз

они сравнимы были

на плоских сторе выигрывал

на деревьях цбор

Denis
21.02.2018
11:44:49
надо походу store брать

он в генерики умеет?

так, умеет

A64m
21.02.2018
11:56:03
store это когда 1) читать той же программой. 2) сериализуем в основном массивы стораблов но изредка что-то еще

Denis
21.02.2018
11:59:30
1 это ок, по 2 - есть куча своих нерекурсивных типов, вроде особых противопоказаний нет

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

Kirill
21.02.2018
12:41:58
Stack dot?

Google
Denis
21.02.2018
12:59:25
подходит, спасибо

теперь осталось понять как в этой мешанине разобраться

ой да, я помню эту проблему

потом либо разрешения не хватает в png, либо софт не умеет зумить настолько сильно

надо прям дот-файл разбирать

Alexander
21.02.2018
13:05:51
а постресовый бинарный протокол для copy-to уже кто-нить зопилил?

Kirill
21.02.2018
13:08:17
@catamorphism там же просто перечисление связей

Denis
21.02.2018
13:08:38
я через dot сразу нарисовал

там безумная лапша такая, на волосы похоже

Alexander
21.02.2018
13:09:04
в .svg надеюсь?

Denis
21.02.2018
13:09:38
можно и в svg наверное, если dot умеет

впрочем, с svg у меня вчера фейл был

я так и не нашел чем можно огромный svg перекрутить

никакие тулзы не справляются

Leonid
21.02.2018
13:10:22
Alexander
21.02.2018
13:10:47
WT в соседнем проекте сами пилили

но тот код не открытый, а перепиливать лень

Leonid
21.02.2018
13:11:04
https://hackage.haskell.org/package/postgresql-copy-escape

Но вроде только csv

Бинарный можно из хаскл слепить

Denis
21.02.2018
13:12:12
мы так прочненько на postgresql-simple сидим, думаю в этих проектах никогда не слезем

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