@haskellru

Страница 1216 из 1551
kana
22.05.2018
17:02:25
пытаюсь поставить пакет, которого нет в стакадж-снепшотах (не говорите ничего про кабал и никс, я уже сам об этом думаю, но хочется решить в рамках стака)

этот пакет требует servant-12 в lts-11.* servant-13 в lts-9 .* servant-11

если указать конкретно версию servant-12, то там еще куча зависимостей требует указания версии конкретной, то есть это не выход

я правильно понимаю, что возможности иметь локальные для пакета зависимости (не пытаться шарить версии между пакетами) нельзя?

Google
Alexander
22.05.2018
17:34:17
нельзя

это не npm ;)

kana
22.05.2018
17:35:02
токсик!

Alexander
22.05.2018
17:35:36
не, но там же можно от нескольких версий одной либы зависеть изза неймспейсов, вроде

тут ты загрузишь и символы и ещё развертки

если бы ты использовал executable а не либу, то не шарить зависимости бы было можно

Антон
22.05.2018
17:55:16
Аргх, все наработки по решению пропали. Заново кату писать

Yura
22.05.2018
18:32:48
собрались хаскелисты в твиторе и обсудили свой PHPешный опыт...

Антон
22.05.2018
18:36:20
Что-то совсем не выходит на ST написать. Придётся StateT брать

Alexander
22.05.2018
18:36:58
ну чтож поделать

только мне твиттер сломали?

Ignat
22.05.2018
18:37:59
он сломан since 2006

Alexander
22.05.2018
18:38:57
ну это понятно

Google
Антон
22.05.2018
18:39:58
Что-то совсем не выходит на ST написать. Придётся StateT брать
Но тогда векторы иммутабельные... Пичаль

Alexander
22.05.2018
18:41:00
а что с ST не так?

Антон
22.05.2018
19:59:15
а что с ST не так?
Постоянно ошибки типизации, слишком сложные, чтобы я мог в них разобраться. Ну и тот факт, что ST — монада, а не трансформер, тоже мешается

Stepan
22.05.2018
20:50:59
поясните, почему хаскель работает быстрее питона? Я всегда считал питон быстрее функциональных яп

Alexander
22.05.2018
20:51:57
да даже ocaml быстрее питона будет...

а вообще потому, что это компилируемый в нативный код язык, с большим чистом оптимизаций

Alexander
22.05.2018
20:52:56
ну быстрее кода на си, в которое вложено сравнительная работа

но это скорее исключение

Stepan
22.05.2018
20:53:30
хаскель иногда работает быстрее сишки
Херасе а можно пример пруф или ссыль

а вообще потому, что это компилируемый в нативный код язык, с большим чистом оптимизаций
Но питон жи тоже во что-то там компилируется. И ещё использует оптимизированные библиотеки на си

illiatshurotshka❄️
22.05.2018
20:54:33
поясните, почему хаскель работает быстрее питона? Я всегда считал питон быстрее функциональных яп
питон во всём очень медленный если не использовать библиотеки написанные на си

Ilya
22.05.2018
20:54:47
Alexander
22.05.2018
20:55:07
Но питон жи тоже во что-то там компилируется. И ещё использует оптимизированные библиотеки на си
питон интерпретируется и медленный, сишные библиотеки, быстрые но их и из haskell вызвать можно

Stepan
22.05.2018
20:55:37
по-моему вы тролль
Нет. Просто я адепт С и потому слабо представляю в чем они могут проиграть

Alexander
22.05.2018
20:56:38
ну у нас был тестовый проект, где меряли анализ потоковых графов, на сишке есть библиотека stinger

у нас была реализация на haskell которая обгоняла сишку

Stepan
22.05.2018
20:56:58
питон интерпретируется и медленный, сишные библиотеки, быстрые но их и из haskell вызвать можно
Звучит разумно. Вообще это уже второй раз когда я сталкиваюсь с тем что питон медленный. До этого он массив чисел мееедленно так сортировал. В общем неожиданные открытия

Alexander
22.05.2018
20:57:28
но там было за счет того, что на больших данных в си возрастала фрагментация кучи, в то время как в haskell сжимающий сборщик

это не самый часто возникающий эффект, но он есть

Google
Ilya
22.05.2018
20:58:12
Нет. Просто я адепт С и потому слабо представляю в чем они могут проиграть
https://stackoverflow.com/questions/6964392/speed-comparison-with-project-euler-c-vs-python-vs-erlang-vs-haskell ну вот например

Alexander
22.05.2018
20:58:26
а так-то у gcc/icc гораздо лучше с оптимизациями, и написать код на си всегда можно лучше

Stepan
22.05.2018
20:58:33
но там было за счет того, что на больших данных в си возрастала фрагментация кучи, в то время как в haskell сжимающий сборщик
Да вот этот довод звучит убедительно. У сей действительно есть проблема с фрагментацией памяти. И обходится он крайне тяжёлыми методами

illiatshurotshka❄️
22.05.2018
20:58:34
это не самый часто возникающий эффект, но он есть
т.е. это говорит больше об импелементации чем о языках

Alexander
22.05.2018
20:58:37
просто это может быть сильно времязатратнее

Stepan
22.05.2018
21:00:04
Andy
22.05.2018
21:00:37
Ну была помню спецолимпиада, где код на питоне работал быстрее хаскела в несколько раз. Потом конечно ускорили, и было почти как в си (естественно обогнав питон во много раз). Правда там нативный был питон или pypy, но не сишное расширение

Alexander
22.05.2018
21:00:59
ну там реализация кривая была сначала

так то там haskell обогнал rust в конце концов

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

хотя питон в 2 раза и наивная обошла

нормальная сравнимая с растом

Andy
22.05.2018
21:02:10
Ну наверное ребята из раста не сильно может старались. По идее то к раста больше возможностей для оптимизаций

Alexander
22.05.2018
21:02:17
не нормальная 1.1/1.2 от сишки

illiatshurotshka❄️
22.05.2018
21:02:28
так то там haskell обогнал rust в конце концов
насколько я помню, там для vector fusion нужна была отдельная библиотека, когда в расте это по-дефолту было?

Alexander
22.05.2018
21:02:43
Andy ну вроде у них на канале особо идей не было

в расте fusion можно через итераторы получить, ну и там от него не много толку

там из-за того, как проходятся данные нельзя было временные структуры делать

но все равно основной бонус там от того, какой размер буффера

Andy
22.05.2018
21:04:33
https://m.habr.com/post/323106/ вот кстати про питон си и раст) можно не читать , а только в конце табличку посмотреть. Правда офтопик , хаскела там нету

Google
Alexander
22.05.2018
21:04:38
так что так себе - бенчмарк malloc и write

Stepan
22.05.2018
21:05:11
Спасибо за подробные пояснения

Всем спокойной ночи

Alexander
22.05.2018
21:05:35
спокойной, обращайся ещё если вопросы будут

Andy
22.05.2018
21:07:12
да даже ocaml быстрее питона будет...
А вот это странно. Я имею ввиду, что вообще вроде окамл побыстрее хаскела даже вроде

Alexander
22.05.2018
21:07:44
не должен бы

Dmitry
22.05.2018
23:36:37
Если не вылизывать код на C / Haskell, то последний может оказаться быстрее ещё и из-за ленивости, т.к. не будет лишнее считать.

Например, надо посчитать f(x, y), причём использование 'y' зависит от значения 'x'. В C придётся считать оба, а в Haskell второй будет вычислен по необходимости

Понятно, что и это можно допрограммировать в C, но это уже то самое "вылизывание кода"

Yuriy
23.05.2018
05:55:26
Но питон жи тоже во что-то там компилируется. И ещё использует оптимизированные библиотеки на си
компилируется в байт-код, который интерпретируется. компиляция — это не волшебство, делающее всё быстрее

Vladimir
23.05.2018
06:37:31
Ещё есть всякий PyPy же, который дикая смесь jit и суперкомпиляции.

Oleg
23.05.2018
06:47:07
Обычный tracing JIT

Агрессивные оптимизации - это не суперкомпиляция

Denis
23.05.2018
07:05:57
Я когда про агрессивные оптимизации слышу, вспоминаю Contra III. Там в самом начале была фраза: we must fight them aggressively.

Oleg
23.05.2018
07:16:00
Вообще интересно как трюффелёвые питоны по перфомансу с PyPy

Daniel
23.05.2018
07:26:39
никак вродь, змея в трюфелях еще не оч работоспособна

?Томат?
23.05.2018
07:27:19
никак вродь, змея в трюфелях еще не оч работоспособна
Змея в трюфелях. Звучит как высокая кухня)

Yuriy
23.05.2018
07:45:15
и тут оффтопик

Google
Евгений
23.05.2018
07:59:19
Неделя без оффтопа в основном чате обернулась неделей оффтопа в обоих чатах

Yuriy
23.05.2018
08:08:27
да ладно, только капелька

Alexander
23.05.2018
08:36:54
жалко, статистика не считает сколько онтопика в абсолютных цифрах

Евгений
23.05.2018
08:39:18
В абсолютных цифрах зато можно сказать, что в чате стало тихо, @combot не даст соврать

Alexander
23.05.2018
08:39:58
это-то очевидно, но это не говорит о том, уменьшился или увеличился онтопик

Vasiliy
23.05.2018
08:41:46
Нужно изменить тактику. Задавить оффтопик продуктивным общением по делу.

Владислав
23.05.2018
08:43:47
data Human a = Age a | Dead на хаскеле можно пофилософствовать о жизни и смерти)

Евгений
23.05.2018
08:44:20
Нужно изменить тактику. Задавить оффтопик продуктивным общением по делу.
Это бесполезно, пока в чате не будет какого-нибудь сообщества, поддерживающего опенсорсный проект на хаскеле

Vasiliy
23.05.2018
08:46:20
data Human a = Age a | Dead на хаскеле можно пофилософствовать о жизни и смерти)
Кстати, как в этом случае ограничить множество допустимых типов a ? Чтобы можно было подставлять чиселки, но нельзя было подставлять что-то другое ?

Vasiliy
23.05.2018
08:47:11
А поподробнее можно, пожалуйста?

Anatolii
23.05.2018
08:47:28
а тут инт не нужен возле Human

Alexander
23.05.2018
08:48:23
{-# LANGUAGE RankNTypes #-} data Human a = Alive (Num a => a) | Dead

Vasiliy
23.05.2018
08:48:27
а тут инт не нужен возле Human
Ага, нужно сделать тип Fix Human и исползовать его как нумералы Пеано.

Владислав
23.05.2018
08:48:44
(Num a => Human a)
вот так что ли? class Num a => Human a where data Human a = Age a | Dead

Alexander
23.05.2018
08:49:14
42 :: Human * 27

весело будет

квадратнолюди

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