← All posts tagged Haskell

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
C++ hsto.org
4 байта на тег варианата перечисления. Прямо как в Haskell'е. Нет, я понимаю, IRL всё выравняют до машинного слова, но… вдруг там будет char и uint8_t.
ndtimofeev
Haskell А есть в рантайме ghc костыль чтобы посмотреть на жизненный цикл всех запущенных тредов? Не... Я конечно могу написать свой async, но хотелось бы до этого не доводить.
ndtimofeev
Haskell Добавил роботу немного кококонкурентности. Процесс был очень волнительный поскольку reload был очень hot. Но оказалось что конкурентность воткнутая за пол часа работает как часы. А вот функции стандартной библиотеки я за время перекладывания бумажек с места на место забыл. Ну и логгер стал показывать не то что нужно от жизни такой. Заодно немного почистил в коде амфапарашу доставшуюся мне от меня из прошлого.
ndtimofeev
Haskell polydact Внезапно, после очередного обновления всё сломалось. Оказалось поломали API MonadMask в exceptions: ввели обобщённый bracket и выразили через него небо и аллах. В целом идея хорошая. Непонятно только почему для него не написали дефолтную имплементацию.
ndtimofeev
Haskell У меня проблема. Мне почему-то кажется, что если для типа t можно сделать (а -> b) -> t a -> t b, то и Applicative f => (a -> f b) -> t a -> f (t b) тоже можно и любой Functor — всенепременно Traversable.
ndtimofeev
Haskell Алсо недавно обнаружил что у ассоциированных с классом типофамилий могут быть параметры отличные от параметров класса. Жить сразу стало заметно легче.
ndtimofeev
Haskell А кто-нибудь уже написал генератор линз с полиморфным апдейтом на генериках? С мономорфными легко. gist.github.com — вот например вариант, который зажёвывает Proxy t и возвращает линзы в виде гетеросписка. Тут есть несколько решённых и нерешённых проблем (особенно мне нравятся отдельные инстансы для Applicative и для Functor), но в целом речь не об этом. gist.github.com — попытка проделать это же с полиморфными линзами проваливается где-то в районе инстанса для f :*: g. А всё потому что тип полученного произведения типов зависит от того какой «множитель» мы меняем. Где-то на этом месте фантазия моя подиссякла.