Leonid 🦇
Я вот только не пойму зачем тратить время на подобные споры
Meowbe/BSD-2-Clause
Meowbe/BSD-2-Clause
Ответ смешной вообще
Кабачок
Плох тот хаскеллист, который не хочет стать гошником
Зигохистоморфный
Leonid 🦇
Один раз зашкварился об го, и будешь в башне из слоновой кости спать под шконкой возле параши. Академики не прощают никаких проступков.
Зигохистоморфный
Такое ощущение по его изречениям, что го есть серебряная пуля в программировании
Meowbe/BSD-2-Clause
Зигохистоморфный
А эта дичь... err !=nil, как можно утверждать, что исключения есть плохой дизайн?
Meowbe/BSD-2-Clause
Исключение — плохой дизайн, но то как делает это го — не лучше
Зигохистоморфный
Alexander
хотел тоже вписаться потом решил что лень логиниться и вообще там какой-то персонаж упоротый и передумал
A64m
удивительно даже, в кои веки согласен с cdsmith
> Ultimately, the whole question comes down to everyone acknowledging that partial functions aren't ideal, but no one having a compelling replacement.
A64m
вообще, не справляюсь уже с перепощиванием смешных вещей из хаскельреддита, буду редкие проблески разума постить
A64m
нет, ничего не получится
A64m
кроме отдельных частичных функций на хаскельреддите еще списков боятся. Целая тема про это, автор вебгхц, который последнее время постит зиллионы постов там рассказывает как страшно списки конкатенировать
Leonid 🦇
А что ему мешает не конкатинировать списки?
A64m
очевидно ничего не мешает, если бы он конкатенировал списки, он бы знал, что это не страшно (при правильной ассоциативности)
A64m
причем это все обсуждается в контексте использования вектора, в котором как раз конкатенация - гроб, гроб, кладбище.
A64m
еще там очарльз начал было писать что у вектора консы O(1) но быстро понял, что это уже перебор
Denis
гроб гроб кладбище CDR
Leonid 🦇
автомобиль
A64m
даже если что-то по делу пишут вроде этого в треде про недостатки
> TH staging restrictions. Adds restrictions on module organization, sometimes forces you to split things into modules.
> Almost non-existent debugging and profiling support (cost-center profiling and debugging suck)
то обязательно про рекорды добавляют, естественно все обсуждение ниже только про рекорды
A64m
> The more important something is, the more important it is to get right. I think records are extremely important, so it needs an extremely good implementation. Otherwise, we're dooming the entire future of Haskell to a subpar critical feature.
рекорды такие важные что за 30 лет так и не сделали их
A64m
не такие важные фичи-то не боялись в недоделанном виде в язык добавлять, и потом допиливать
Vladislav
Vladislav
Футболки подъехали
Aliester
в них на собесы можно ходить
Vladislav
Отсутствие логотипа у Агды ловко компенсировано логотипом Ассоциации Графического Дизайна Австралии.
Зигохистоморфный
Крылатый
Kirill
Vladislav
Заказ с собственным рисунком.
Kirill
а зашарь логотипчики?
eahqzsr
Как у хаскеля с асинхронным вводом/выводом? Тысяч 10 tcp соединений держит?
Крылатый
Крылатый
Были же SVG, наверное.
Крылатый
Олсо, а шелкография годная есть?
Vladislav
а зашарь логотипчики?
1. haskell - https://commons.wikimedia.org/wiki/File:Haskell-Logo.svg
2. nixOS - https://github.com/NixOS/nixos-artwork/blob/376ed4ba8dc2e611b7e8a62fdc680967ead5bd87/logo/nix-snowflake.svg
Kirill
благодарю
Cheese
Cheese
то есть Хаскель этим не занимается, а warp отлично держит
Kirill
есть старые не очень позитивные тесты https://habrahabr.ru/post/145796/ но там снап, с большим числом подключений у него какие-то весёлости были
Vladislav
Snap это не Warp
Kirill
потому и "НО"
Vladislav
Yesod/Spock/Servant это WAI (а значит можно Warp)
Vladislav
Happstack/Snap это не WAI (а потому бесполезно в 2018)
A64m
занимается, занимается
Anonymous
и грин треды там еще, без них было бы сложно сделать все эти варпы и снапы
Quet
A64m
зачем вы травите несчастных гошников? Это виктимблейминг, в том что они такие поехавшие виноват только го и Роб Пайк
Quet
да не, причём тут го
прост персонаж реально поехавший
Quet
мне кажется его в итоге в го чатике забанили
eahqzsr
Мне соединения нужно не http, а tcp для пыр ту пыр.
Cheese
Хаскель предоставляет всё, что нужно warp, чтобы управлять соединениями
eahqzsr
Меня практика интересует и слова которые нужно гуглить
Alexander
не мерял, но больших проблем именно в IO manager быть не должно
Alexander
во всяком случае IO manager там весьма не плох по сравнению с другими языками, которые существуют
Alexander
при этом если ещё и кастомные менеджеры делать можно будет (вроде не прилетело ещё в master GHC) то можно будет совсем клевые вещи, как разные политики шедулинга для IO и CPU bound задач
A64m
этот проект с кастомными менеджерами-то хоть живой еще?
Alexander
хз, статья свежая совсем была
Alexander
можно у семёна спросить
Alexander
но для всего этого обычно лучше всего proof of concept и померять
A64m
а что за статья?
eahqzsr
Кастомные менеджеры это хорошо. Мне вот в Python asyncio приоритетов не хватало для io задач.
Alexander
@A64m_qb0 щас попробую найти
Alexander
не не сейчас, мне mendeley desktop пришлось сносить
Alexander
по умолчанию в haskell приоритетов нету, можно наверное изобразись за счет какого-то оверхеда в юзерспейсе даже сейчас
Alexander
но вообще там основная идея что для IO bound FIFO, а для CPU bound LIFO хорошо
Alexander
приоритеты через FRP style либы можно
eahqzsr
Мне для io нужна очередь с приоритетами - чтоб пока трафик с высокоприоритетных сокетов не обработался, остальные не трогать.
Alexander
я вообще случайно где-то нашёл, я знаю что в чятик рабочий скидывал, сейчас найду
Alexander
@A64m_qb0 https://www.microsoft.com/en-us/research/wp-content/uploads/2016/07/lwc-jfp16.pdf
Alexander
я как всегда перепутал авторов
A64m
да это тот проект про который я подумал, где вот этот вот KC SIVARAMAKRISHNAN переписывал часть рантайма на хаскеле, думал он уже заглох давно, но нет, оказывается еще что-то делается