← All posts tagged Haskell

ndtimofeev
Haskell А есть какая-нибудь библиотека комбинаторов для генерации случайных значений вроде Gen из QuickCheck только без QuickCheck'а?
ndtimofeev
Haskell Хочу корутины. Суть такова: нужен трансформер, который позволит добавить к логике в виде последовательности действий добавить точки передачи управления вызывающей стороне с передачей туда информации о прогрессе или типа того. В принципе эта херня подойдёт hackage.haskell.org но возможно есть что-то более общеупотребимое.
ndtimofeev
Haskell lsp Разобрался с haskell-language-server. Разумеется ему для полного счастья нехватало специального файла описывающего проект (hie.yaml). Если зачем он нужен в принципе понять можно, то вот зачем он необходим с учётом того что весь этот цирк умеет сам находить корень довольно заковыристых проектов и есть тулза генерирующая это самое описание на основании информации для сборки проекта понять уже трудно. Также это не позволяет использовать hls вместе со standalone файлами (тот же clangd прекрасно подсасывает стандартную библиотеку в этой ситуации) и ghci-скриптами. Беда.
ndtimofeev
Haskell специальная_олимпиада Есть у нас строка. Приблизительно такая STIEEQAKTFLDKFNHEAEDLFYQSSLASWNYNTNITEENVQNMNNAGDKWSAFLKEQSTLAQMYPLQEI. Нам нужно сформировать список всех уникальных подстрок этой строки. Ну то есть nub . subsequences, но так чтобы на ноутбуке с 16 гигабайтами памяти завершалось хотя бы за минуту. Считать строку массивом байтов — нельзя.
ndtimofeev
Haskell Есть у меня два гетеросписка: один мужественный на GADT'ах с Nil'ом и вот этим вот всем, а второй гейский вида data Cons a b = Cons a b. Как бы мне их терминалогически различать?
ndtimofeev
Haskell Допустим у нас есть библиотека реализующая некоторые статистические инварианты (например библиотека регионов). Допустим я хочу написать тест, который покажет мне что они всё ещё выполняются в соответствии с исходной идеей. Проблема в том, что результатом тестирования должна быть ошибка компиляции. Есть какие-то хорошие решения для прокручивания этого к cabal'у?
ndtimofeev
Haskell ghc У меня такое ощущение что в ubuntu проект собранный при помощи cabal new-install собрался без поддержки -threaded. Что нажать чтобы исправить? А то у меня сервант ставит опердень раком.
ndtimofeev
Haskell У меня есть преобразование вида forall a. Applicative f => g a -> f (h a). Математики не придумали название для чего-то похожего?
ndtimofeev
Haskell У меня есть опердень на хаскеле, которая представляет из себя какие-то процессы которые тусят в инстансе ghci. Мне нужна гуйня на Qt, которая будет обмениваться с оперденью json'ом. Количество клиентов — один. Какой бы мне взять ipc чтобы хуяк-хуяк и в госприёмку^Wпродакшен?
ndtimofeev
Haskell Забыл как гуглабельно называются конструкции вида data T f = T { t1 :: f Хуй, t2 :: f Пизда } в которых потом варьируя f получают штуки различного назначения?
ndtimofeev
Haskell Каждый раз когда вижу cofix на московских улицах, пытаюсь придумать сигнатуру, не справляюсь и фрустрирую.
ndtimofeev
Haskell А есть в рантайме ghc костыль чтобы посмотреть на жизненный цикл всех запущенных тредов? Не... Я конечно могу написать свой async, но хотелось бы до этого не доводить.
ndtimofeev
Haskell Добавил роботу немного кококонкурентности. Процесс был очень волнительный поскольку reload был очень hot. Но оказалось что конкурентность воткнутая за пол часа работает как часы. А вот функции стандартной библиотеки я за время перекладывания бумажек с места на место забыл. Ну и логгер стал показывать не то что нужно от жизни такой. Заодно немного почистил в коде амфапарашу доставшуюся мне от меня из прошлого.