Ilya
есть класс для интерфейсов типа Map? с функциями adjust, delete, insert и т.д. внутри. Что-то не могу найти ничего подходящего
Ilya
Нету
на хакадже есть два пакета, но они что-то совсем нулёвые
Антон
Потому что мапы могут на базе двоичных деревьев и хэш-функций, как минимум
Alexander
вообще наличие, примеров, и общей документации это круто. Но с другой стороны как код-доки средние либы не так уж и плохо
Антон
Разные констрейнты на данные налагают
Alexander
есть линзы
Alexander
At, Ix
Alexander
с их классами
Антон
на самом деле хоть это и не совсем онтопик было бы интересно послушать мнения
Как слабо шарящий человек могу сказать, что сигнатуры — вещь нужная, но для того, чтобы понять "а чё это блин такое и как это использовать" одних лишь их недостаточно.
Alexander
вообще писать read-the-docs наверное надо для таких случаев
Антон
Да и документации, сгенеренной haddock тоже часто маловато
Ilya
At, Ix
спасибо!
Ilya
Разные констрейнты на данные налагают
можно же сделать констрейнты в инстансах, а не в самом классе. Смотри, как в At : Instances At IntSet At (Maybe a) At (IntMap a) Ord k => At (Set k) (Eq k, Hashable k) => At (HashSet k) Ord k => At (Map k a) (Eq k, Hashable k) => At (HashMap k a)
Denis
https://ruhaskell.org/posts/projects/2018/05/19/haskell-on-raspberry-pi.html
Alexander
на самом деле хоть это и не совсем онтопик было бы интересно послушать мнения
Нужна нормальная документация на человеческом языке. А кроме того, должны быть showcase-проектики (можно искусственные), сопровожденные хорошим tutorial. Так хотя бы будет ясно, что автор в курсе о подходе "dog food", а не просто налабал там что-то на коленке, мол, пипл схавает.
Alexander
автор должен делать как удобно ему, естественно хорошая документация упрощает адаптацию, с другой стороны лучше хороший код, чем хорошая документация
Антон
https://ruhaskell.org/posts/projects/2018/05/19/haskell-on-raspberry-pi.html
То есть GHC по умолчанию не умеет в кросс-компиляцию? Печально
Alexander
То есть GHC по умолчанию не умеет в кросс-компиляцию? Печально
поидее как-то умеет, но так что проще таким образом пойти как в статье
Alexander
Ну ладно, еще чуточку можно, @Masteroid , что ты там писал?
Ilya
это уже не актуально:) позавчера было
Кирилл
https://ruhaskell.org/posts/projects/2018/05/19/haskell-on-raspberry-pi.html
Т.е в теории, под сам ARM можно собрать легко при наличии 4гб памяти и 32гб места?
Denis
Собрать можно на самом устройстве, но памяти нужен минимум 1 гб.
Denis
А места - нет, места достаточно 8 гигов за глаза.
Denis
Конечно, есть SBC с 2 и даже с 4 гигами памяти, но они уже, как правило, очень дорогие (по меркам SBC, я имею в виду).
Кирилл
👌
Anonymous
И код и документация - разве одно другому мешает? Без документации пользователь обречён гадать и тратить своё время впустую. Автор кода при этом ничего не выигрывает. Хорошие коментарии много времени не просят.
Cheese
на этой неделе ни строчки мимо Хаскеля я не видел
Евгений
Сори за онтопик, но есть структура данных в сабже для хранения набора непересекающихся интервалов?
Сергей
а тебе критично что прямо непересекающиеся? И какие операции требуются? Может всё-таки IntevalMap зайдёт
Евгений
Ага, то, что я искал
Евгений
Помню смутное, что такое было
Anonymous
Время. Его всегда не хватает
Документация высвободит толику времени сразу нескольким пользователям. У них останется больше времени и на код, и на доки.
Alexander
хорошая документация требует очень много времени на написание и поддержку
Alexander
Документация + демонстрационный код = дополнительная верификация. Можно увидеть кучу нестыковок, и поправить их тут же. Очень полезно на первых этапах.
Alexander
если Гонзалесу это 5%, то мне это аж до 50%
Alexander
при этом его туториалы, имхо, лично мне далеко не всегда полезны
Алексей
Я обычно пишу документацию, чтобы объяснить себе как библиотека должна работать
Alexander
например, взять pipes там tutorial покрывает кучу очевидных вещей и 0 неочевидных
Alexander
а стоп, в последних версиях то что меня интересует есть
Евгений
Мне кажется, что с доками вопрос в целом несложный. Можно придумать простую матмодель: рассмотреть параметр k -- качество документации, c -- сложность выполнения задачи, использующей библиотеку и две функции d(k) -- время написания документации определенного качества и u(k, c) -- время написания кода на основе библиотеки сложностью c с документацией качества k. Так же нужно смоделировать распределение сложностей задач (скорее всего оно нормальным будет). Потом составляем уравнение от k: d(k) = \integral c(k, c) dc from 0 to inf и решаем его
Евгений
А от словоблудия толку не будет
Denis
при этом его туториалы, имхо, лично мне далеко не всегда полезны
никогда целиком не читал, а как референс как раз беспонтовые
Alexander
А от словоблудия толку не будет
толк будет только от хорошо написанных и документированных либ
Евгений
Ну ты же понимаешь, что после определенной границы качества кода и документации сложность возрастает настолько, что писать её будут сильно медленнее чем нужно пользователю
Евгений
Бывают такие либы, что их используют раз в тысячелетие, юзащий её быстрее код прочтёт, чем пишущий напишет доку
Алексей
Порог подбирается эмпирически
Евгений
Порог подбирается эмпирически
Поэтому айти современный мир так хорошо и развивается, что "эмпирически" подбираются те пороги, которые несложно посчитать
Алексей
Уравнения содержащие неизвестные функции, конечно же, решать легче
Евгений
Функции проще подбирать и отсеивать, а результаты анализа воспроизводятся
Слава
@qnikst Скажите пожалуйста, это же вы в треде? https://metaclass.livejournal.com/938978.html?thread=23090402#t23090402
Dmitry
Подскажите, а есть какой-то способ определить, что в Text хотя бы N символов, не вычисляя длину текста? Это ж придётся весь текст перекодировать (в доке написано, что length сложности `O(n)`)
Dmitry
Короче, хочется вот такой фрагмент оптимизировать: filter (\x -> T.length x > 2) someWords
Dmitry
Пока думаю через filter (\x -> T.length (T.take 3 x) > 2) someWords
Dmitry
Но как-то уродливо смотрится
Ilya
compareLength не пойдет?
Dmitry
Во, точно!!
Dmitry
Спасибо!
Anatolii
Мне так нравится читать экспертов по хаскелю которые ничего не писали на нём
Alexander
vit_r вроде адекватный а целом человек, но сишник головного мозга
anton
От практиков хаскеля интересный доклад с юмором, всё так https://www.youtube.com/watch?time_continue=526&v=7NB8tMa8sUk
anton
как делают большие веб-приложения, перешли от Руби к Хаскелю после больших проблем с поддержкой руби-кода
anton
и что получилось в итоге
Alexander
@graninas не ваши ребята? ^
Alexander
Мои зовутся Restaumatic, а эти какие-то Vacation Labs. Но кейс, наверное, похожий, я еще не смотрел.
anton
Я так понял они делают конструктор для сайтов по внутреннему туризму в Индии
anton
Билеты, отели, букинг
anton
Что интересно когда они с руби переписали уних было 150k, а на хаскеле 50k получилось, они за поддержку оч хвалят, но есть за что и ругают)
Maxim
народ, а можно где-то оверрайднуть ghc-options стеку, чтобы не трогать стек файл и кабал файл в гите? задрало постоянно делать stash перед коммитом
Aleksei (astynax)
переменные окружения по идее должны работать
Cheese
через STACK_YAML или --stack-yaml передать свой конфиг
Alexander
cabal.project.local cabalface.hs
IC
никак не могу найти на хакадже минимальные авторские кметтолинзы... у него в пакетах только обычные есть. он их отдал чтоль?